# mathlib3documentation

geometry.manifold.algebra.lie_group

# Lie groups #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

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 #

• lie_add_group I G : a Lie additive group where G is a manifold on the model with corners I.
• lie_group I G : a Lie multiplicative group where G is a manifold on the model with corners I.
• normed_space_lie_add_group : a normed vector space over a nontrivially normed field is an additive Lie group.

## 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} {H : Type u_2} {E : Type u_3} [ E] (I : H) (G : Type u_4) [add_group G] [ G] :
Prop
• smooth_neg : I (λ (a : G), -a)

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 of this typeclass
@[class]
structure lie_group {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] (I : H) (G : Type u_4) [group G] [ G] :
Prop
• to_has_smooth_mul :
• smooth_inv : I (λ (a : G), a⁻¹)

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

Instances of this typeclass
theorem smooth_inv {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] (I : H) {G : Type u_5} [ G] [group G] [ G] :
I (λ (x : G), x⁻¹)
theorem smooth_neg {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] (I : H) {G : Type u_5} [ G] [add_group G] [ G] :
I (λ (x : G), -x)
theorem topological_add_group_of_lie_add_group {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] (I : H) {G : Type u_5} [ G] [add_group G] [ G] :

An additive Lie group is an additive topological group. This is not an instance for technical reasons, see note [Design choices about smooth algebraic structures].

theorem topological_group_of_lie_group {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] (I : H) {G : Type u_5} [ G] [group G] [ G] :

A Lie group is a topological group. This is not an instance for technical reasons, see note [Design choices about smooth algebraic structures].

theorem cont_mdiff_within_at.neg {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [add_group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {n : ℕ∞} {f : M G} {s : set M} {x₀ : M} (hf : n f s x₀) :
n (λ (x : M), -f x) s x₀
theorem cont_mdiff_within_at.inv {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {n : ℕ∞} {f : M G} {s : set M} {x₀ : M} (hf : n f s x₀) :
n (λ (x : M), (f x)⁻¹) s x₀
theorem cont_mdiff_at.inv {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {n : ℕ∞} {f : M G} {x₀ : M} (hf : I n f x₀) :
I n (λ (x : M), (f x)⁻¹) x₀
theorem cont_mdiff_at.neg {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [add_group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {n : ℕ∞} {f : M G} {x₀ : M} (hf : I n f x₀) :
I n (λ (x : M), -f x) x₀
theorem cont_mdiff_on.neg {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [add_group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {n : ℕ∞} {f : M G} {s : set M} (hf : I n f s) :
I n (λ (x : M), -f x) s
theorem cont_mdiff_on.inv {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {n : ℕ∞} {f : M G} {s : set M} (hf : I n f s) :
I n (λ (x : M), (f x)⁻¹) s
theorem cont_mdiff.inv {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {n : ℕ∞} {f : M G} (hf : I n f) :
I n (λ (x : M), (f x)⁻¹)
theorem cont_mdiff.neg {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [add_group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {n : ℕ∞} {f : M G} (hf : I n f) :
I n (λ (x : M), -f x)
theorem smooth_within_at.inv {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {f : M G} {s : set M} {x₀ : M} (hf : I f s x₀) :
I (λ (x : M), (f x)⁻¹) s x₀
theorem smooth_within_at.neg {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [add_group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {f : M G} {s : set M} {x₀ : M} (hf : I f s x₀) :
I (λ (x : M), -f x) s x₀
theorem smooth_at.inv {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {f : M G} {x₀ : M} (hf : I f x₀) :
I (λ (x : M), (f x)⁻¹) x₀
theorem smooth_at.neg {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [add_group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {f : M G} {x₀ : M} (hf : I f x₀) :
I (λ (x : M), -f x) x₀
theorem smooth_on.neg {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [add_group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {f : M G} {s : set M} (hf : I f s) :
I (λ (x : M), -f x) s
theorem smooth_on.inv {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {f : M G} {s : set M} (hf : I f s) :
I (λ (x : M), (f x)⁻¹) s
theorem smooth.inv {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {f : M G} (hf : smooth I' I f) :
smooth I' I (λ (x : M), (f x)⁻¹)
theorem smooth.neg {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [add_group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {f : M G} (hf : smooth I' I f) :
smooth I' I (λ (x : M), -f x)
theorem cont_mdiff_within_at.sub {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [add_group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {n : ℕ∞} {f g : M G} {s : set M} {x₀ : M} (hf : n f s x₀) (hg : n g s x₀) :
n (λ (x : M), f x - g x) s x₀
theorem cont_mdiff_within_at.div {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {n : ℕ∞} {f g : M G} {s : set M} {x₀ : M} (hf : n f s x₀) (hg : n g s x₀) :
n (λ (x : M), f x / g x) s x₀
theorem cont_mdiff_at.sub {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [add_group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {n : ℕ∞} {f g : M G} {x₀ : M} (hf : I n f x₀) (hg : I n g x₀) :
I n (λ (x : M), f x - g x) x₀
theorem cont_mdiff_at.div {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {n : ℕ∞} {f g : M G} {x₀ : M} (hf : I n f x₀) (hg : I n g x₀) :
I n (λ (x : M), f x / g x) x₀
theorem cont_mdiff_on.sub {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [add_group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {n : ℕ∞} {f g : M G} {s : set M} (hf : I n f s) (hg : I n g s) :
I n (λ (x : M), f x - g x) s
theorem cont_mdiff_on.div {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {n : ℕ∞} {f g : M G} {s : set M} (hf : I n f s) (hg : I n g s) :
I n (λ (x : M), f x / g x) s
theorem cont_mdiff.sub {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [add_group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {n : ℕ∞} {f g : M G} (hf : I n f) (hg : I n g) :
I n (λ (x : M), f x - g x)
theorem cont_mdiff.div {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {n : ℕ∞} {f g : M G} (hf : I n f) (hg : I n g) :
I n (λ (x : M), f x / g x)
theorem smooth_within_at.sub {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [add_group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {f g : M G} {s : set M} {x₀ : M} (hf : I f s x₀) (hg : I g s x₀) :
I (λ (x : M), f x - g x) s x₀
theorem smooth_within_at.div {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {f g : M G} {s : set M} {x₀ : M} (hf : I f s x₀) (hg : I g s x₀) :
I (λ (x : M), f x / g x) s x₀
theorem smooth_at.sub {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [add_group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {f g : M G} {x₀ : M} (hf : I f x₀) (hg : I g x₀) :
I (λ (x : M), f x - g x) x₀
theorem smooth_at.div {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {f g : M G} {x₀ : M} (hf : I f x₀) (hg : I g x₀) :
I (λ (x : M), f x / g x) x₀
theorem smooth_on.sub {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [add_group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {f g : M G} {s : set M} (hf : I f s) (hg : I g s) :
I (f - g) s
theorem smooth_on.div {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {f g : M G} {s : set M} (hf : I f s) (hg : I g s) :
I (f / g) s
theorem smooth.sub {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [add_group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {f g : M G} (hf : smooth I' I f) (hg : smooth I' I g) :
smooth I' I (f - g)
theorem smooth.div {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_5} [ G] [group G] [ G] {E' : Type u_6} [ E'] {H' : Type u_7} {I' : H'} {M : Type u_8} [ M] {f g : M G} (hf : smooth I' I f) (hg : smooth I' I g) :
smooth I' I (f / g)
@[protected, instance]
def prod.lie_add_group {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_4} [ G] [add_group G] [ G] {E' : Type u_5} [ E'] {H' : Type u_6} {I' : H'} {G' : Type u_7} [ G'] [add_group G'] [ G'] :
lie_add_group (I.prod I') (G × G')
@[protected, instance]
def prod.lie_group {𝕜 : Type u_1} {H : Type u_2} {E : Type u_3} [ E] {I : H} {G : Type u_4} [ G] [group G] [ G] {E' : Type u_5} [ E'] {H' : Type u_6} {I' : H'} {G' : Type u_7} [ G'] [group G'] [ G'] :
lie_group (I.prod I') (G × G')

### Normed spaces are Lie groups #

@[protected, instance]
def normed_space_lie_add_group {𝕜 : Type u_1} {E : Type u_2} [ E] :