Smooth monoid #
A smooth monoid is a monoid that is also a smooth manifold, in which multiplication is a smooth map
of the product manifold G
Γ G
into G
.
In this file we define the basic structures to talk about smooth monoids: SmoothMul
and its
additive counterpart SmoothAdd
. These structures are general enough to also talk about smooth
semigroups.
Basic hypothesis to talk about a smooth (Lie) additive monoid or a smooth additive
semigroup. A smooth additive monoid over Ξ±
, for example, is obtained by requiring both the
instances AddMonoid Ξ±
and SmoothAdd Ξ±
.
- compatible : β {e e' : PartialHomeomorph G H}, e β atlas H G β e' β atlas H G β PartialHomeomorph.trans (PartialHomeomorph.symm e) e' β contDiffGroupoid β€ I
- smooth_add : Smooth (ModelWithCorners.prod I I) I fun (p : G Γ G) => p.1 + p.2
Instances
Basic hypothesis to talk about a smooth (Lie) monoid or a smooth semigroup.
A smooth monoid over G
, for example, is obtained by requiring both the instances Monoid G
and SmoothMul I G
.
- compatible : β {e e' : PartialHomeomorph G H}, e β atlas H G β e' β atlas H G β PartialHomeomorph.trans (PartialHomeomorph.symm e) e' β contDiffGroupoid β€ I
- smooth_mul : Smooth (ModelWithCorners.prod I I) I fun (p : G Γ G) => p.1 * p.2
Instances
If the addition is smooth, then it is continuous. This is not an instance for technical reasons, see note [Design choices about smooth algebraic structures].
If the multiplication is smooth, then it is continuous. This is not an instance for technical reasons, see note [Design choices about smooth algebraic structures].
Left multiplication by g
. It is meant to mimic the usual notation in Lie groups.
Lemmas involving smoothLeftMul
with the notation π³
usually use L
instead of π³
in the
names.
Equations
- smoothLeftMul I g = { val := leftMul g, property := (_ : Smooth I I fun (b : G) => g * b) }
Instances For
Right multiplication by g
. It is meant to mimic the usual notation in Lie groups.
Lemmas involving smoothRightMul
with the notation πΉ
usually use R
instead of πΉ
in the
names.
Equations
- smoothRightMul I g = { val := rightMul g, property := (_ : Smooth I I fun (b : G) => b * g) }
Instances For
Equations
- LieGroup.Β«termπ³Β» = Lean.ParserDescr.node `LieGroup.termπ³ 1024 (Lean.ParserDescr.symbol "π³")
Instances For
Equations
- LieGroup.Β«termπΉΒ» = Lean.ParserDescr.node `LieGroup.termπΉ 1024 (Lean.ParserDescr.symbol "πΉ")
Instances For
Equations
- (_ : SmoothAdd (ModelWithCorners.prod I I') (G Γ G')) = (_ : SmoothAdd (ModelWithCorners.prod I I') (G Γ G'))
Equations
- (_ : SmoothMul (ModelWithCorners.prod I I') (G Γ G')) = (_ : SmoothMul (ModelWithCorners.prod I I') (G Γ G'))
Morphism of additive smooth monoids.
- toFun : G β G'
- map_zero' : (βself.toAddMonoidHom).toFun 0 = 0
- smooth_toFun : Smooth I I' self.toFun
Instances For
Morphism of smooth monoids.
Instances For
Equations
- instInhabitedSmoothAddMonoidMorphism = { default := 0 }
Equations
- instInhabitedSmoothMonoidMorphism = { default := 1 }
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- (_ : AddMonoidHomClass (SmoothAddMonoidMorphism I I' G G') G G') = (_ : AddMonoidHomClass (SmoothAddMonoidMorphism I I' G G') G G')
Equations
- (_ : MonoidHomClass (SmoothMonoidMorphism I I' G G') G G') = (_ : MonoidHomClass (SmoothMonoidMorphism I I' G G') G G')
Equations
- (_ : ContinuousMapClass (SmoothAddMonoidMorphism I I' G G') G G') = (_ : ContinuousMapClass (SmoothAddMonoidMorphism I I' G G') G G')
Equations
- (_ : ContinuousMapClass (SmoothMonoidMorphism I I' G G') G G') = (_ : ContinuousMapClass (SmoothMonoidMorphism I I' G G') G G')
Differentiability of finite point-wise sums and products #
Finite point-wise products (resp. sums) of differentiable/smooth functions M β G
(at x
/on s
)
into a commutative monoid G
are differentiable/smooth at x
/on s
.
Equations
- (_ : motive x) = (_ : motive x)
Instances For
Equations
- (_ : SmoothAdd (modelWithCornersSelf π E) E) = (_ : SmoothAdd (modelWithCornersSelf π E) E)