C^n monoid #
A C^n monoid is a monoid that is also a C^n manifold, in which multiplication is a C^n map
of the product manifold G Γ G into G.
In this file we define the basic structures to talk about C^n monoids: ContMDiffMul and its
additive counterpart ContMDiffAdd. These structures are general enough to also talk about C^n
semigroups.
Basic hypothesis to talk about a C^n (Lie) additive monoid or a C^n additive
semigroup. A C^n additive monoid over G, for example, is obtained by requiring both the
instances AddMonoid G and ContMDiffAdd I n G.
- compatible {e e' : PartialHomeomorph G H} : e β atlas H G β e' β atlas H G β e.symm.trans e' β contDiffGroupoid n I
Instances
Basic hypothesis to talk about a C^n (Lie) monoid or a C^n semigroup.
A C^n monoid over G, for example, is obtained by requiring both the instances Monoid G
and ContMDiffMul I n G.
- compatible {e e' : PartialHomeomorph G H} : e β atlas H G β e' β atlas H G β e.symm.trans e' β contDiffGroupoid n I
Instances
If the multiplication is C^n, then it is continuous. This is not an instance for technical
reasons, see note [Design choices about smooth algebraic structures].
If the addition is C^n, 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.
Used mostly through the notation π³.
Lemmas involving smoothLeftMul with the notation π³ usually use L instead of π³ in the
names.
Equations
- smoothLeftMul I g = β¨fun (x : G) => g * x, β―β©
Instances For
Right multiplication by g. It is meant to mimic the usual notation in Lie groups.
Used mostly through the notation πΉ.
Lemmas involving smoothRightMul with the notation πΉ usually use R instead of πΉ in the
names.
Equations
- smoothRightMul I g = β¨fun (x : G) => x * g, β―β©
Instances For
Left multiplication by g. It is meant to mimic the usual notation in Lie groups.
Used mostly through the notation π³.
Lemmas involving smoothLeftMul with the notation π³ usually use L instead of π³ in the
names.
Equations
- LieGroup.Β«termπ³Β» = Lean.ParserDescr.node `LieGroup.Β«termπ³Β» 1024 (Lean.ParserDescr.symbol "π³")
Instances For
Right multiplication by g. It is meant to mimic the usual notation in Lie groups.
Used mostly through the notation πΉ.
Lemmas involving smoothRightMul with the notation πΉ usually use R instead of πΉ in the
names.
Equations
- LieGroup.Β«termπΉΒ» = Lean.ParserDescr.node `LieGroup.Β«termπΉΒ» 1024 (Lean.ParserDescr.symbol "πΉ")
Instances For
Morphism of additive C^n monoids.
- toFun : G β G'
- map_add' (x y : G) : (βself.toAddMonoidHom).toFun (x + y) = (βself.toAddMonoidHom).toFun x + (βself.toAddMonoidHom).toFun y
- contMDiff_toFun : ContMDiff I I' n (βself.toAddMonoidHom).toFun
Instances For
Morphism of C^n monoids.
- toFun : G β G'
- map_mul' (x y : G) : (βself.toMonoidHom).toFun (x * y) = (βself.toMonoidHom).toFun x * (βself.toMonoidHom).toFun y
- contMDiff_toFun : ContMDiff I I' n (βself.toMonoidHom).toFun
Instances For
Equations
- instInhabitedContMDiffMonoidMorphism = { default := 1 }
Equations
- instInhabitedContMDiffAddMonoidMorphism = { default := 0 }
Equations
- instFunLikeContMDiffMonoidMorphism = { coe := fun (a : ContMDiffMonoidMorphism I I' n G G') => (βa.toMonoidHom).toFun, coe_injective' := β― }
Equations
- instFunLikeContMDiffAddMonoidMorphism = { coe := fun (a : ContMDiffAddMonoidMorphism I I' n G G') => (βa.toAddMonoidHom).toFun, coe_injective' := β― }
Differentiability of finite point-wise sums and products #
Finite point-wise products (resp. sums) of C^n functions M β G (at x/on s)
into a commutative monoid G are C^n at x/on s.