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' := ⋯ }