Algebraic structures on DSmoothMap
#
In this file put algebraic structure instance on the type DSmoothMap X A
of
smooth maps from a diffeological space X
to a diffeological algebraic structure A
.
For example, DSmoothMap X G
is a group under pointwise multiplication whenever G
is a
diffeological group.
Adapted from Mathlib.Topology.ContinuousMap.Algebra
.
mul
and add
#
Equations
- DSmoothMap.instMul = { mul := fun (f g : DSmoothMap X A) => { toFun := ⇑f * ⇑g, dsmooth := ⋯ } }
Equations
- DSmoothMap.instAdd = { add := fun (f g : DSmoothMap X A) => { toFun := ⇑f + ⇑g, dsmooth := ⋯ } }
one
and zero
#
Equations
- DSmoothMap.instOne = { one := DSmoothMap.const X 1 }
Equations
- DSmoothMap.instZero = { zero := DSmoothMap.const X 0 }
Equations
- DSmoothMap.instNatCast = { natCast := fun (n : ℕ) => DSmoothMap.const X ↑n }
Equations
- DSmoothMap.instIntCast = { intCast := fun (n : ℤ) => DSmoothMap.const X ↑n }
nsmul
and pow
#
Equations
- DSmoothMap.instNSMul = { smul := fun (n : ℕ) (f : DSmoothMap X A) => { toFun := n • ⇑f, dsmooth := ⋯ } }
Equations
- DSmoothMap.instPow = { pow := fun (f : DSmoothMap X A) (n : ℕ) => { toFun := ⇑f ^ n, dsmooth := ⋯ } }
inv
and neg
#
Equations
- DSmoothMap.instInvOfDSmoothInv = { inv := fun (f : DSmoothMap X A) => { toFun := (⇑f)⁻¹, dsmooth := ⋯ } }
Equations
- DSmoothMap.instNegOfDSmoothNeg = { neg := fun (f : DSmoothMap X A) => { toFun := -⇑f, dsmooth := ⋯ } }
div
and sub
#
Equations
- DSmoothMap.instDivOfDSmoothDiv = { div := fun (f g : DSmoothMap X A) => { toFun := ⇑f / ⇑g, dsmooth := ⋯ } }
Equations
- DSmoothMap.instSubOfDSmoothSub = { sub := fun (f g : DSmoothMap X A) => { toFun := ⇑f - ⇑g, dsmooth := ⋯ } }
zpow
and zsmul
#
Equations
- DSmoothMap.instZSMul = { smul := fun (z : ℤ) (f : DSmoothMap X A) => { toFun := z • ⇑f, dsmooth := ⋯ } }
Equations
- DSmoothMap.instZPow = { pow := fun (f : DSmoothMap X A) (z : ℤ) => { toFun := ⇑f ^ z, dsmooth := ⋯ } }
Structure instances #
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
- DSmoothMap.instNonAssocRingOfDiffeologicalRing = Function.Injective.nonAssocRing DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- DSmoothMap.instRing = Function.Injective.ring DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
Equations
- DSmoothMap.instCommRingOfDiffeologicalRing = Function.Injective.commRing DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Coercion to a function as a MonoidHom
. Similar to MonoidHom.coeFn
.
Equations
- DSmoothMap.coeFnMonoidHom = { toFun := fun (f : DSmoothMap X A) => ⇑f, map_one' := ⋯, map_mul' := ⋯ }
Instances For
Coercion to a function as an AddMonoidHom
. Similar to AddMonoidHom.coeFn
.
Equations
- DSmoothMap.coeFnAddMonoidHom = { toFun := fun (f : DSmoothMap X A) => ⇑f, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Coercion to a function as a RingHom
.
Equations
- DSmoothMap.coeFnRingHom = { toMonoidHom := DSmoothMap.coeFnMonoidHom, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Precomposition DSmoothMap Y A → DSmoothMap X A
with f : DSmoothMap X Y
as a ring
homomorphism.
TODO: add versions of this for monoids, groups etc. as needed.
Equations
- f.compRightRingHom = { toFun := fun (g : DSmoothMap Y A) => g.comp f, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Diffeological structure instances #
Modules and algebras #
TODO: weaken this to DSmoothConstSMul
once that is defined,
with no diffeology required on R
.
Equations
- DSmoothMap.instSMul = { smul := fun (r : R) (f : DSmoothMap X M) => { toFun := r • ⇑f, dsmooth := ⋯ } }
Equations
- DSmoothMap.instVAdd = { vadd := fun (r : R) (f : DSmoothMap X M) => { toFun := r +ᵥ ⇑f, dsmooth := ⋯ } }
Equations
Coercion to a function as a LinearMap
.
Equations
- DSmoothMap.coeFnLinearMap = { toFun := (↑DSmoothMap.coeFnAddMonoidHom).toFun, map_add' := ⋯, map_smul' := ⋯ }
Instances For
Smooth constant functions as a RingHom
.
Equations
- DSmoothMap.C = { toFun := fun (c : R) => { toFun := fun (x : X) => (algebraMap R A) c, dsmooth := ⋯ }, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Equations
- DSmoothMap.algebra = { toSMul := DSmoothMap.instSMul, algebraMap := DSmoothMap.C, commutes' := ⋯, smul_def' := ⋯ }
Precomposition DSmoothMap Y A → DSmoothMap X A
with f : DSmoothMap X Y
as an algebra
homomorphism.
Equations
- f.compRightAlgHom = { toRingHom := f.compRightRingHom, commutes' := ⋯ }
Instances For
Equations
- DSmoothMap.instSMul' = { smul := fun (f : DSmoothMap X R) (g : DSmoothMap X M) => { toFun := fun (x : X) => f x • g x, dsmooth := ⋯ } }
Equations
- DSmoothMap.module' = { smul := fun (x1 : DSmoothMap X R) (x2 : DSmoothMap X M) => x1 • x2, one_smul := ⋯, mul_smul := ⋯, smul_zero := ⋯, smul_add := ⋯, add_smul := ⋯, zero_smul := ⋯ }
Precomposition DSmoothMap Y M → DSmoothMap X M
with f : DSmoothMap X Y
as a semilinear
map over f.compRightRingHom : DSmoothMap Y R →+* DSmoothMap X R
.
Equations
- f.compRightLinearMap' = { toFun := fun (g : DSmoothMap Y M) => g.comp f, map_add' := ⋯, map_smul' := ⋯ }