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: has_smooth_mul
and its
additive counterpart has_smooth_add
. These structures are general enough to also talk about smooth
semigroups.
- to_smooth_manifold_with_corners : smooth_manifold_with_corners I G
- smooth_add : smooth (I.prod I) I (λ (p : G × G), p.fst + p.snd)
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 add_monoid α
and has_smooth_add α
.
- to_smooth_manifold_with_corners : smooth_manifold_with_corners I G
- smooth_mul : smooth (I.prod I) I (λ (p : G × G), (p.fst) * p.snd)
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 has_smooth_mul I G
.
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 smooth_left_mul
with the notation 𝑳
usually use L
instead of 𝑳
in the
names.
Right multiplication by g
. It is meant to mimic the usual notation in Lie groups.
Lemmas involving smooth_right_mul
with the notation 𝑹
usually use R
instead of 𝑹
in the
names.
- to_add_monoid_hom : G →+ G'
- smooth_to_fun : smooth I I' self.to_add_monoid_hom.to_fun
Morphism of additive smooth monoids.
- to_monoid_hom : G →* G'
- smooth_to_fun : smooth I I' self.to_monoid_hom.to_fun
Morphism of smooth monoids.
Equations
- smooth_add_monoid_morphism.has_zero = {zero := {to_add_monoid_hom := 0, smooth_to_fun := _}}
Equations
- smooth_monoid_morphism.has_one = {one := {to_monoid_hom := 1, smooth_to_fun := _}}
Equations
Equations
Equations
- smooth_add_monoid_morphism.has_coe_to_fun = {coe := λ (a : smooth_add_monoid_morphism I I' G G'), a.to_add_monoid_hom.to_fun}
Equations
- smooth_monoid_morphism.has_coe_to_fun = {coe := λ (a : smooth_monoid_morphism I I' G G'), a.to_monoid_hom.to_fun}