mathlib documentation

geometry.​algebra.​lie_group

geometry.​algebra.​lie_group

Lie groups

A Lie group is a group that is also a smooth manifold, in which the group operations of multiplication and inversion are smooth maps. Smoothness of the group multiplication means that multiplication is a smooth mapping of the product manifold G ร— G into G.

Note that, since a manifold here is not second-countable and Hausdorff a Lie group here is not guaranteed to be second-countable (even though it can be proved it is Hausdorff). Note also that Lie groups here are not necessarily finite dimensional.

Main definitions and statements

Implementation notes

A priori, a Lie group here is a manifold with corners.

The definition of Lie group cannot require I : model_with_corners ๐•œ E E with the same space as the model space and as the model vector space, as one might hope, beause in the product situation, the model space is model_prod E E' and the model vector space is E ร— E', which are not the same, so the definition does not apply. Hence the definition should be more general, allowing I : model_with_corners ๐•œ E H.

@[class]
structure lie_add_group {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] (I : model_with_corners ๐•œ E H) (G : Type u_4) [add_group G] [topological_space G] [topological_add_group G] [charted_space H G] :
Prop

A Lie (additive) group is a group and a smooth manifold at the same time in which the addition and negation operations are smooth.

Instances
@[class]
structure lie_group {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] (I : model_with_corners ๐•œ E H) (G : Type u_4) [group G] [topological_space G] [topological_group G] [charted_space H G] :
Prop

A Lie group is a group and a smooth manifold at the same time in which the multiplication and inverse operations are smooth.

Instances
theorem smooth_add {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E H} {G : Type u_5} [topological_space G] [charted_space H G] [add_group G] [topological_add_group G] [lie_add_group I G] :
smooth (I.prod I) I (ฮป (p : G ร— G), p.fst + p.snd)

theorem smooth_mul {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E H} {G : Type u_5} [topological_space G] [charted_space H G] [group G] [topological_group G] [lie_group I G] :
smooth (I.prod I) I (ฮป (p : G ร— G), p.fst * p.snd)

theorem smooth.​mul {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E H} {G : Type u_5} [topological_space G] [charted_space H G] [group G] [topological_group G] [lie_group I G] {E' : Type u_6} [normed_group E'] [normed_space ๐•œ E'] {H' : Type u_7} [topological_space H'] {I' : model_with_corners ๐•œ E' H'} {M : Type u_8} [topological_space M] [charted_space H' M] [smooth_manifold_with_corners I' M] {f g : M โ†’ G} :
smooth I' I f โ†’ smooth I' I g โ†’ smooth I' I (f * g)

theorem smooth.​add {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E H} {G : Type u_5} [topological_space G] [charted_space H G] [add_group G] [topological_add_group G] [lie_add_group I G] {E' : Type u_6} [normed_group E'] [normed_space ๐•œ E'] {H' : Type u_7} [topological_space H'] {I' : model_with_corners ๐•œ E' H'} {M : Type u_8} [topological_space M] [charted_space H' M] [smooth_manifold_with_corners I' M] {f g : M โ†’ G} :
smooth I' I f โ†’ smooth I' I g โ†’ smooth I' I (f + g)

theorem smooth_left_mul {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E H} {G : Type u_5} [topological_space G] [charted_space H G] [group G] [topological_group G] [lie_group I G] {a : G} :

theorem smooth_left_add {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E H} {G : Type u_5} [topological_space G] [charted_space H G] [add_group G] [topological_add_group G] [lie_add_group I G] {a : G} :

theorem smooth_right_add {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E H} {G : Type u_5} [topological_space G] [charted_space H G] [add_group G] [topological_add_group G] [lie_add_group I G] {a : G} :

theorem smooth_right_mul {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E H} {G : Type u_5} [topological_space G] [charted_space H G] [group G] [topological_group G] [lie_group I G] {a : G} :

theorem smooth_on.​add {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E H} {G : Type u_5} [topological_space G] [charted_space H G] [add_group G] [topological_add_group G] [lie_add_group I G] {E' : Type u_6} [normed_group E'] [normed_space ๐•œ E'] {H' : Type u_7} [topological_space H'] {I' : model_with_corners ๐•œ E' H'} {M : Type u_8} [topological_space M] [charted_space H' M] [smooth_manifold_with_corners I' M] {f g : M โ†’ G} {s : set M} :
smooth_on I' I f s โ†’ smooth_on I' I g s โ†’ smooth_on I' I (f + g) s

theorem smooth_on.​mul {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E H} {G : Type u_5} [topological_space G] [charted_space H G] [group G] [topological_group G] [lie_group I G] {E' : Type u_6} [normed_group E'] [normed_space ๐•œ E'] {H' : Type u_7} [topological_space H'] {I' : model_with_corners ๐•œ E' H'} {M : Type u_8} [topological_space M] [charted_space H' M] [smooth_manifold_with_corners I' M] {f g : M โ†’ G} {s : set M} :
smooth_on I' I f s โ†’ smooth_on I' I g s โ†’ smooth_on I' I (f * g) s

theorem smooth_pow {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E H} {G : Type u_5} [topological_space G] [charted_space H G] [group G] [topological_group G] [lie_group I G] (n : โ„•) :
smooth I I (ฮป (a : G), a ^ n)

theorem smooth_neg {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E H} {G : Type u_5} [topological_space G] [charted_space H G] [add_group G] [topological_add_group G] [lie_add_group I G] :
smooth I I (ฮป (x : G), -x)

theorem smooth_inv {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E H} {G : Type u_5} [topological_space G] [charted_space H G] [group G] [topological_group G] [lie_group I G] :
smooth I I (ฮป (x : G), xโปยน)

theorem smooth.​neg {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E H} {G : Type u_5} [topological_space G] [charted_space H G] [add_group G] [topological_add_group G] [lie_add_group I G] {E' : Type u_6} [normed_group E'] [normed_space ๐•œ E'] {H' : Type u_7} [topological_space H'] {I' : model_with_corners ๐•œ E' H'} {M : Type u_8} [topological_space M] [charted_space H' M] [smooth_manifold_with_corners I' M] {f : M โ†’ G} :
smooth I' I f โ†’ smooth I' I (ฮป (x : M), -f x)

theorem smooth.​inv {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E H} {G : Type u_5} [topological_space G] [charted_space H G] [group G] [topological_group G] [lie_group I G] {E' : Type u_6} [normed_group E'] [normed_space ๐•œ E'] {H' : Type u_7} [topological_space H'] {I' : model_with_corners ๐•œ E' H'} {M : Type u_8} [topological_space M] [charted_space H' M] [smooth_manifold_with_corners I' M] {f : M โ†’ G} :
smooth I' I f โ†’ smooth I' I (ฮป (x : M), (f x)โปยน)

theorem smooth_on.​inv {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E H} {G : Type u_5} [topological_space G] [charted_space H G] [group G] [topological_group G] [lie_group I G] {E' : Type u_6} [normed_group E'] [normed_space ๐•œ E'] {H' : Type u_7} [topological_space H'] {I' : model_with_corners ๐•œ E' H'} {M : Type u_8} [topological_space M] [charted_space H' M] [smooth_manifold_with_corners I' M] {f : M โ†’ G} {s : set M} :
smooth_on I' I f s โ†’ smooth_on I' I (ฮป (x : M), (f x)โปยน) s

theorem smooth_on.​neg {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E H} {G : Type u_5} [topological_space G] [charted_space H G] [add_group G] [topological_add_group G] [lie_add_group I G] {E' : Type u_6} [normed_group E'] [normed_space ๐•œ E'] {H' : Type u_7} [topological_space H'] {I' : model_with_corners ๐•œ E' H'} {M : Type u_8} [topological_space M] [charted_space H' M] [smooth_manifold_with_corners I' M] {f : M โ†’ G} {s : set M} :
smooth_on I' I f s โ†’ smooth_on I' I (ฮป (x : M), -f x) s

@[instance]
def prod.​lie_group {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E H} {G : Type u_4} [topological_space G] [charted_space H G] [group G] [topological_group G] [h : lie_group I G] {E' : Type u_5} [normed_group E'] [normed_space ๐•œ E'] {H' : Type u_6} [topological_space H'] {I' : model_with_corners ๐•œ E' H'} {G' : Type u_7} [topological_space G'] [charted_space H' G'] [group G'] [topological_group G'] [h' : lie_group I' G'] :
lie_group (I.prod I') (G ร— G')

Equations
@[instance]
def prod.​lie_add_group {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {H : Type u_2} [topological_space H] {E : Type u_3} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E H} {G : Type u_4} [topological_space G] [charted_space H G] [add_group G] [topological_add_group G] [h : lie_add_group I G] {E' : Type u_5} [normed_group E'] [normed_space ๐•œ E'] {H' : Type u_6} [topological_space H'] {I' : model_with_corners ๐•œ E' H'} {G' : Type u_7} [topological_space G'] [charted_space H' G'] [add_group G'] [topological_add_group G'] [h' : lie_add_group I' G'] :
lie_add_group (I.prod I') (G ร— G')

structure lie_add_group_morphism {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {E : Type u_2} [normed_group E] [normed_space ๐•œ E] {E' : Type u_3} [normed_group E'] [normed_space ๐•œ E'] (I : model_with_corners ๐•œ E E) (I' : model_with_corners ๐•œ E' E') (G : Type u_4) [topological_space G] [charted_space E G] [smooth_manifold_with_corners I G] [add_group G] [topological_add_group G] [lie_add_group I G] (G' : Type u_5) [topological_space G'] [charted_space E' G'] [smooth_manifold_with_corners I' G'] [add_group G'] [topological_add_group G'] [lie_add_group I' G'] :
Type (max u_4 u_5)

Morphism of additive Lie groups.

structure lie_group_morphism {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {E : Type u_2} [normed_group E] [normed_space ๐•œ E] {E' : Type u_3} [normed_group E'] [normed_space ๐•œ E'] (I : model_with_corners ๐•œ E E) (I' : model_with_corners ๐•œ E' E') (G : Type u_4) [topological_space G] [charted_space E G] [smooth_manifold_with_corners I G] [group G] [topological_group G] [lie_group I G] (G' : Type u_5) [topological_space G'] [charted_space E' G'] [smooth_manifold_with_corners I' G'] [group G'] [topological_group G'] [lie_group I' G'] :
Type (max u_4 u_5)

Morphism of Lie groups.

@[instance]
def lie_add_group_morphism.​has_zero {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {E : Type u_2} [normed_group E] [normed_space ๐•œ E] {E' : Type u_3} [normed_group E'] [normed_space ๐•œ E'] {I : model_with_corners ๐•œ E E} {I' : model_with_corners ๐•œ E' E'} {G : Type u_4} [topological_space G] [charted_space E G] [smooth_manifold_with_corners I G] [add_group G] [topological_add_group G] [lie_add_group I G] {G' : Type u_5} [topological_space G'] [charted_space E' G'] [smooth_manifold_with_corners I' G'] [add_group G'] [topological_add_group G'] [lie_add_group I' G'] :

@[instance]
def lie_group_morphism.​has_one {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {E : Type u_2} [normed_group E] [normed_space ๐•œ E] {E' : Type u_3} [normed_group E'] [normed_space ๐•œ E'] {I : model_with_corners ๐•œ E E} {I' : model_with_corners ๐•œ E' E'} {G : Type u_4} [topological_space G] [charted_space E G] [smooth_manifold_with_corners I G] [group G] [topological_group G] [lie_group I G] {G' : Type u_5} [topological_space G'] [charted_space E' G'] [smooth_manifold_with_corners I' G'] [group G'] [topological_group G'] [lie_group I' G'] :

Equations
@[instance]
def lie_group_morphism.​inhabited {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {E : Type u_2} [normed_group E] [normed_space ๐•œ E] {E' : Type u_3} [normed_group E'] [normed_space ๐•œ E'] {I : model_with_corners ๐•œ E E} {I' : model_with_corners ๐•œ E' E'} {G : Type u_4} [topological_space G] [charted_space E G] [smooth_manifold_with_corners I G] [group G] [topological_group G] [lie_group I G] {G' : Type u_5} [topological_space G'] [charted_space E' G'] [smooth_manifold_with_corners I' G'] [group G'] [topological_group G'] [lie_group I' G'] :

Equations
@[instance]
def lie_add_group_morphism.​inhabited {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {E : Type u_2} [normed_group E] [normed_space ๐•œ E] {E' : Type u_3} [normed_group E'] [normed_space ๐•œ E'] {I : model_with_corners ๐•œ E E} {I' : model_with_corners ๐•œ E' E'} {G : Type u_4} [topological_space G] [charted_space E G] [smooth_manifold_with_corners I G] [add_group G] [topological_add_group G] [lie_add_group I G] {G' : Type u_5} [topological_space G'] [charted_space E' G'] [smooth_manifold_with_corners I' G'] [add_group G'] [topological_add_group G'] [lie_add_group I' G'] :

@[instance]
def lie_add_group_morphism.​has_coe_to_fun {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {E : Type u_2} [normed_group E] [normed_space ๐•œ E] {E' : Type u_3} [normed_group E'] [normed_space ๐•œ E'] {I : model_with_corners ๐•œ E E} {I' : model_with_corners ๐•œ E' E'} {G : Type u_4} [topological_space G] [charted_space E G] [smooth_manifold_with_corners I G] [add_group G] [topological_add_group G] [lie_add_group I G] {G' : Type u_5} [topological_space G'] [charted_space E' G'] [smooth_manifold_with_corners I' G'] [add_group G'] [topological_add_group G'] [lie_add_group I' G'] :

@[instance]
def lie_group_morphism.​has_coe_to_fun {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {E : Type u_2} [normed_group E] [normed_space ๐•œ E] {E' : Type u_3} [normed_group E'] [normed_space ๐•œ E'] {I : model_with_corners ๐•œ E E} {I' : model_with_corners ๐•œ E' E'} {G : Type u_4} [topological_space G] [charted_space E G] [smooth_manifold_with_corners I G] [group G] [topological_group G] [lie_group I G] {G' : Type u_5} [topological_space G'] [charted_space E' G'] [smooth_manifold_with_corners I' G'] [group G'] [topological_group G'] [lie_group I' G'] :

Equations
structure lie_add_group_core {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {E : Type u_2} [normed_group E] [normed_space ๐•œ E] (I : model_with_corners ๐•œ E E) (G : Type u_3) [add_group G] [topological_space G] [charted_space E G] [smooth_manifold_with_corners I G] :
Prop

Sometimes one might want to define a Lie additive group G without having proved previously that G is a topological additive group. In such case it is possible to use lie_add_group_core that does not require such instance, and then get a Lie group by invoking to_lie_add_group.

structure lie_group_core {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {E : Type u_2} [normed_group E] [normed_space ๐•œ E] (I : model_with_corners ๐•œ E E) (G : Type u_3) [group G] [topological_space G] [charted_space E G] [smooth_manifold_with_corners I G] :
Prop

Sometimes one might want to define a Lie group G without having proved previously that G is a topological group. In such case it is possible to use lie_group_core that does not require such instance, and then get a Lie group by invoking to_lie_group defined below.

theorem lie_add_group_core.​to_topological_add_group {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {E : Type u_2} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E E} {G : Type u_4} [topological_space G] [charted_space E G] [smooth_manifold_with_corners I G] [add_group G] :

theorem lie_group_core.​to_topological_group {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {E : Type u_2} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E E} {G : Type u_4} [topological_space G] [charted_space E G] [smooth_manifold_with_corners I G] [group G] :

theorem lie_group_core.​to_lie_group {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {E : Type u_2} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E E} {G : Type u_4} [topological_space G] [charted_space E G] [smooth_manifold_with_corners I G] [group G] (c : lie_group_core I G) :

theorem lie_add_group_core.​to_lie_add_group {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {E : Type u_2} [normed_group E] [normed_space ๐•œ E] {I : model_with_corners ๐•œ E E} {G : Type u_4} [topological_space G] [charted_space E G] [smooth_manifold_with_corners I G] [add_group G] (c : lie_add_group_core I G) :

Real numbers are a Lie group

@[instance]
def normed_group_lie_group {๐•œ : Type u_1} [nondiscrete_normed_field ๐•œ] {E : Type u_2} [normed_group E] [normed_space ๐•œ E] :

Equations