Algebraic structures over smooth functions #
In this file, we define instances of algebraic structures over smooth functions.
Equations
- SmoothMap.instMul = { mul := fun (f g : ContMDiffMap I I' N G ⊤) => ⟨⇑f * ⇑g, ⋯⟩ }
Equations
- SmoothMap.instAdd = { add := fun (f g : ContMDiffMap I I' N G ⊤) => ⟨⇑f + ⇑g, ⋯⟩ }
Equations
- SmoothMap.instOne = { one := ContMDiffMap.const 1 }
Equations
- SmoothMap.instZero = { zero := ContMDiffMap.const 0 }
Equations
- SmoothMap.instNSMul = { smul := fun (n : ℕ) (f : ContMDiffMap I I' N G ⊤) => ⟨n • ⇑f, ⋯⟩ }
Equations
- SmoothMap.instPow = { pow := fun (f : ContMDiffMap I I' N G ⊤) (n : ℕ) => ⟨⇑f ^ n, ⋯⟩ }
Group structure #
In this section we show that smooth functions valued in a Lie group inherit a group structure under pointwise multiplication.
Equations
- SmoothMap.semigroup = Function.Injective.semigroup (fun (f : ContMDiffMap I I' N G ⊤) => ⇑f) ⋯ ⋯
Equations
- SmoothMap.addSemigroup = Function.Injective.addSemigroup (fun (f : ContMDiffMap I I' N G ⊤) => ⇑f) ⋯ ⋯
Equations
- SmoothMap.monoid = Function.Injective.monoid (fun (f : ContMDiffMap I I' N G ⊤) => ⇑f) ⋯ ⋯ ⋯ ⋯
Equations
- SmoothMap.addMonoid = Function.Injective.addMonoid (fun (f : ContMDiffMap I I' N G ⊤) => ⇑f) ⋯ ⋯ ⋯ ⋯
Coercion to a function as a MonoidHom. Similar to MonoidHom.coeFn.
Equations
- SmoothMap.coeFnMonoidHom = { toFun := DFunLike.coe, map_one' := ⋯, map_mul' := ⋯ }
Instances For
Coercion to a function as an AddMonoidHom.
Similar to AddMonoidHom.coeFn.
Equations
- SmoothMap.coeFnAddMonoidHom = { toFun := DFunLike.coe, map_zero' := ⋯, map_add' := ⋯ }
Instances For
For a manifold N and a smooth homomorphism φ between Lie groups G', G'', the
'left-composition-by-φ' group homomorphism from C^∞⟮I, N; I', G'⟯ to C^∞⟮I, N; I'', G''⟯.
Equations
- SmoothMap.compLeftMonoidHom I N φ hφ = { toFun := fun (f : ContMDiffMap I I' N G' ⊤) => ⟨⇑φ ∘ ⇑f, ⋯⟩, map_one' := ⋯, map_mul' := ⋯ }
Instances For
For a manifold N and a smooth homomorphism φ between additive Lie groups G',
G'', the 'left-composition-by-φ' group homomorphism from C^∞⟮I, N; I', G'⟯ to
C^∞⟮I, N; I'', G''⟯.
Equations
- SmoothMap.compLeftAddMonoidHom I N φ hφ = { toFun := fun (f : ContMDiffMap I I' N G' ⊤) => ⟨⇑φ ∘ ⇑f, ⋯⟩, map_zero' := ⋯, map_add' := ⋯ }
Instances For
For a Lie group G and open sets U ⊆ V in N, the 'restriction' group homomorphism from
C^∞⟮I, V; I', G⟯ to C^∞⟮I, U; I', G⟯.
Equations
- SmoothMap.restrictMonoidHom I I' G h = { toFun := fun (f : ContMDiffMap I I' (↥V) G ⊤) => ⟨⇑f ∘ Set.inclusion h, ⋯⟩, map_one' := ⋯, map_mul' := ⋯ }
Instances For
For an additive Lie group G and open sets U ⊆ V in N, the 'restriction' group
homomorphism from C^∞⟮I, V; I', G⟯ to C^∞⟮I, U; I', G⟯.
Equations
- SmoothMap.restrictAddMonoidHom I I' G h = { toFun := fun (f : ContMDiffMap I I' (↥V) G ⊤) => ⟨⇑f ∘ Set.inclusion h, ⋯⟩, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Equations
- SmoothMap.commMonoid = Function.Injective.commMonoid (fun (f : ContMDiffMap I I' N G ⊤) => ⇑f) ⋯ ⋯ ⋯ ⋯
Equations
- SmoothMap.addCommMonoid = Function.Injective.addCommMonoid (fun (f : ContMDiffMap I I' N G ⊤) => ⇑f) ⋯ ⋯ ⋯ ⋯
Equations
- SmoothMap.addGroup = AddGroup.mk ⋯
Equations
- SmoothMap.commGroup = CommGroup.mk ⋯
Equations
- SmoothMap.addCommGroup = AddCommGroup.mk ⋯
Ring structure #
In this section we show that smooth functions valued in a smooth ring R inherit a ring structure
under pointwise multiplication.
Equations
- SmoothMap.semiring = Semiring.mk ⋯ ⋯ ⋯ ⋯ Monoid.npow ⋯ ⋯
Equations
- SmoothMap.commRing = CommRing.mk ⋯
For a manifold N and a smooth homomorphism φ between smooth rings R', R'', the
'left-composition-by-φ' ring homomorphism from C^∞⟮I, N; I', R'⟯ to C^∞⟮I, N; I'', R''⟯.
Equations
- SmoothMap.compLeftRingHom I N φ hφ = { toFun := fun (f : ContMDiffMap I I' N R' ⊤) => ⟨⇑φ ∘ ⇑f, ⋯⟩, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
For a "smooth ring" R and open sets U ⊆ V in N, the "restriction" ring homomorphism from
C^∞⟮I, V; I', R⟯ to C^∞⟮I, U; I', R⟯.
Equations
- SmoothMap.restrictRingHom I I' R h = { toFun := fun (f : ContMDiffMap I I' (↥V) R ⊤) => ⟨⇑f ∘ Set.inclusion h, ⋯⟩, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Coercion to a function as a RingHom.
Equations
- SmoothMap.coeFnRingHom = { toFun := DFunLike.coe, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Function.eval as a RingHom on the ring of smooth functions.
Equations
- SmoothMap.evalRingHom n = (Pi.evalRingHom (fun (a : N) => R) n).comp SmoothMap.coeFnRingHom
Instances For
Semimodule structure #
In this section we show that smooth functions valued in a vector space M over a normed
field 𝕜 inherit a vector space structure.
Equations
- SmoothMap.instSMul = { smul := fun (r : 𝕜) (f : ContMDiffMap I (modelWithCornersSelf 𝕜 V) N V ⊤) => ⟨r • ⇑f, ⋯⟩ }
Equations
- SmoothMap.module = Function.Injective.module 𝕜 SmoothMap.coeFnAddMonoidHom ⋯ ⋯
Coercion to a function as a LinearMap.
Equations
- SmoothMap.coeFnLinearMap = { toFun := DFunLike.coe, map_add' := ⋯, map_smul' := ⋯ }
Instances For
Algebra structure #
In this section we show that smooth functions valued in a normed algebra A over a normed field 𝕜
inherit an algebra structure.
Smooth constant functions as a RingHom.
Equations
- SmoothMap.C = { toFun := fun (c : 𝕜) => ⟨fun (x : N) => (algebraMap 𝕜 A) c, ⋯⟩, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Equations
- SmoothMap.algebra = Algebra.mk SmoothMap.C ⋯ ⋯
Coercion to a function as an AlgHom.
Equations
- SmoothMap.coeFnAlgHom = { toFun := DFunLike.coe, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯, commutes' := ⋯ }
Instances For
Structure as module over scalar functions #
If V is a module over 𝕜, then we show that the space of smooth functions from N to V
is naturally a vector space over the ring of smooth functions from N to 𝕜.
Equations
- SmoothMap.instSMul' = { smul := fun (f : ContMDiffMap I (modelWithCornersSelf 𝕜 𝕜) N 𝕜 ⊤) (g : ContMDiffMap I (modelWithCornersSelf 𝕜 V) N V ⊤) => ⟨fun (x : N) => f x • g x, ⋯⟩ }