Documentation

Mathlib.Algebra.Lie.IdealOperations

Ideal operations for Lie algebras #

Given a Lie module M over a Lie algebra L, there is a natural action of the Lie ideals of L on the Lie submodules of M. In the special case that M = L with the adjoint action, this provides a pairing of Lie ideals which is especially important. For example, it can be used to define solvability / nilpotency of a Lie algebra via the derived / lower-central series.

Main definitions #

Notation #

Given a Lie module M over a Lie algebra L, together with a Lie submodule N ⊆ M and a Lie ideal I ⊆ L, we introduce the notation ⁅I, N⁆ for the Lie submodule of M corresponding to the action defined in this file.

Tags #

lie algebra, ideal operation

theorem LieSubmodule.map_comap_le {R : Type u} {L : Type v} {M : Type w} {M₂ : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] (N₂ : LieSubmodule R L M₂) (f : M →ₗ⁅R,L⁆ M₂) :
map f (comap f N₂) ≤ N₂
theorem LieSubmodule.map_comap_eq {R : Type u} {L : Type v} {M : Type w} {M₂ : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] (N₂ : LieSubmodule R L M₂) (f : M →ₗ⁅R,L⁆ M₂) (hf : N₂ ≤ f.range) :
map f (comap f N₂) = N₂
theorem LieSubmodule.le_comap_map {R : Type u} {L : Type v} {M : Type w} {M₂ : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] (N : LieSubmodule R L M) (f : M →ₗ⁅R,L⁆ M₂) :
N ≤ comap f (map f N)
theorem LieSubmodule.comap_map_eq {R : Type u} {L : Type v} {M : Type w} {M₂ : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] (N : LieSubmodule R L M) (f : M →ₗ⁅R,L⁆ M₂) (hf : f.ker = ⊥) :
comap f (map f N) = N
@[simp]
theorem LieSubmodule.map_comap_incl {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N N' : LieSubmodule R L M) :
map N.incl (comap N.incl N') = N ⊓ N'
@[instance_reducible]
instance LieSubmodule.hasBracket {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieAlgebra R L] :

Given a Lie module M over a Lie algebra L, the set of Lie ideals of L acts on the set of submodules of M.

Equations
theorem LieSubmodule.lieIdeal_oper_eq_span {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N : LieSubmodule R L M) [LieAlgebra R L] (I : LieIdeal R L) :
⁅I, N⁆ = lieSpan R L {x : M | ∃ (x_1 : ↥I) (n : ↥N), ⁅↑x_1, ↑n⁆ = x}
theorem LieSubmodule.lieIdeal_oper_eq_linear_span {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N : LieSubmodule R L M) [LieAlgebra R L] (I : LieIdeal R L) [LieModule R L M] :
↑⁅I, N⁆ = Submodule.span R {x : M | ∃ (x_1 : ↥I) (n : ↥N), ⁅↑x_1, ↑n⁆ = x}

See also LieSubmodule.lieIdeal_oper_eq_linear_span' and LieSubmodule.lieIdeal_oper_eq_tensor_map_range.

theorem LieSubmodule.lieIdeal_oper_eq_linear_span' {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N : LieSubmodule R L M) [LieAlgebra R L] (I : LieIdeal R L) [LieModule R L M] :
↑⁅I, N⁆ = Submodule.span R {x : M | ∃ x_1 ∈ I, ∃ n ∈ N, ⁅x_1, n⁆ = x}
theorem LieSubmodule.lie_le_iff {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N N' : LieSubmodule R L M) [LieAlgebra R L] (I : LieIdeal R L) :
⁅I, N⁆ ≤ N' ↔ ∀ x ∈ I, ∀ m ∈ N, ⁅x, m⁆ ∈ N'
theorem LieSubmodule.lie_coe_mem_lie {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] {N : LieSubmodule R L M} [LieAlgebra R L] {I : LieIdeal R L} (x : ↥I) (m : ↥N) :
⁅↑x, ↑m⁆ ∈ ⁅I, N⁆
theorem LieSubmodule.lie_mem_lie {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] {N : LieSubmodule R L M} [LieAlgebra R L] {I : LieIdeal R L} {x : L} {m : M} (hx : x ∈ I) (hm : m ∈ N) :
theorem LieSubmodule.lie_comm {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (I J : LieIdeal R L) :
theorem LieSubmodule.lie_le_right {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N : LieSubmodule R L M) [LieAlgebra R L] (I : LieIdeal R L) :
theorem LieSubmodule.lie_le_left {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (I J : LieIdeal R L) :
theorem LieSubmodule.lie_le_inf {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (I J : LieIdeal R L) :
⁅I, J⁆ ≤ I ⊓ J
@[simp]
theorem LieSubmodule.lie_bot {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieAlgebra R L] (I : LieIdeal R L) :
@[simp]
theorem LieSubmodule.bot_lie {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N : LieSubmodule R L M) [LieAlgebra R L] :
theorem LieSubmodule.lie_eq_bot_iff {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N : LieSubmodule R L M) [LieAlgebra R L] (I : LieIdeal R L) :
⁅I, N⁆ = ⊥ ↔ ∀ x ∈ I, ∀ m ∈ N, ⁅x, m⁆ = 0
theorem LieSubmodule.mono_lie {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] {N N' : LieSubmodule R L M} [LieAlgebra R L] {I J : LieIdeal R L} (h₁ : I ≤ J) (h₂ : N ≤ N') :
theorem LieSubmodule.mono_lie_left {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N : LieSubmodule R L M) [LieAlgebra R L] {I J : LieIdeal R L} (h : I ≤ J) :
theorem LieSubmodule.mono_lie_right {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] {N N' : LieSubmodule R L M} [LieAlgebra R L] (I : LieIdeal R L) (h : N ≤ N') :
@[simp]
theorem LieSubmodule.lie_sup {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N N' : LieSubmodule R L M) [LieAlgebra R L] (I : LieIdeal R L) :
⁅I, N ⊔ N'⁆ = ⁅I, N⁆ ⊔ ⁅I, N'⁆
@[simp]
theorem LieSubmodule.sup_lie {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N : LieSubmodule R L M) [LieAlgebra R L] (I J : LieIdeal R L) :
⁅I ⊔ J, N⁆ = ⁅I, N⁆ ⊔ ⁅J, N⁆
theorem LieSubmodule.lie_inf {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N N' : LieSubmodule R L M) [LieAlgebra R L] (I : LieIdeal R L) :
⁅I, N ⊓ N'⁆ ≤ ⁅I, N⁆ ⊓ ⁅I, N'⁆
theorem LieSubmodule.inf_lie {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N : LieSubmodule R L M) [LieAlgebra R L] (I J : LieIdeal R L) :
⁅I ⊓ J, N⁆ ≤ ⁅I, N⁆ ⊓ ⁅J, N⁆
theorem LieSubmodule.map_bracket_eq {R : Type u} {L : Type v} {M : Type w} {M₂ : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] (N : LieSubmodule R L M) (f : M →ₗ⁅R,L⁆ M₂) [LieAlgebra R L] [LieModule R L M₂] (I : LieIdeal R L) [LieModule R L M] :
map f ⁅I, N⁆ = ⁅I, map f N⁆
theorem LieSubmodule.comap_bracket_eq {R : Type u} {L : Type v} {M : Type w} {M₂ : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] (N₂ : LieSubmodule R L M₂) (f : M →ₗ⁅R,L⁆ M₂) [LieAlgebra R L] [LieModule R L M₂] (I : LieIdeal R L) [LieModule R L M] (hf₁ : f.ker = ⊥) (hf₂ : N₂ ≤ f.range) :
comap f ⁅I, N₂⁆ = ⁅I, comap f N₂⁆
theorem LieIdeal.map_bracket_le {R : Type u} {L : Type v} {L' : Type w₂} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing L'] [LieAlgebra R L'] (f : L →ₗ⁅R⁆ L') {I₁ I₂ : LieIdeal R L} :
map f ⁅I₁, I₂⁆ ≤ ⁅map f I₁, map f I₂⁆

Note that the inequality can be strict; e.g., the inclusion of an Abelian subalgebra of a simple algebra.

theorem LieIdeal.map_bracket_eq {R : Type u} {L : Type v} {L' : Type w₂} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing L'] [LieAlgebra R L'] (f : L →ₗ⁅R⁆ L') {I₁ I₂ : LieIdeal R L} (h : Function.Surjective ⇑f) :
map f ⁅I₁, I₂⁆ = ⁅map f I₁, map f I₂⁆
theorem LieIdeal.comap_bracket_le {R : Type u} {L : Type v} {L' : Type w₂} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing L'] [LieAlgebra R L'] (f : L →ₗ⁅R⁆ L') {J₁ J₂ : LieIdeal R L'} :
⁅comap f J₁, comap f J₂⁆ ≤ comap f ⁅J₁, J₂⁆
theorem LieIdeal.map_comap_incl {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {I₁ I₂ : LieIdeal R L} :
map I₁.incl (comap I₁.incl I₂) = I₁ ⊓ I₂
theorem LieIdeal.comap_bracket_eq {R : Type u} {L : Type v} {L' : Type w₂} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing L'] [LieAlgebra R L'] {f : L →ₗ⁅R⁆ L'} {J₁ J₂ : LieIdeal R L'} (h : f.IsIdealMorphism) :
comap f ⁅f.idealRange ⊓ J₁, f.idealRange ⊓ J₂⁆ = ⁅comap f J₁, comap f J₂⁆ ⊔ f.ker
theorem LieIdeal.map_comap_bracket_eq {R : Type u} {L : Type v} {L' : Type w₂} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing L'] [LieAlgebra R L'] {f : L →ₗ⁅R⁆ L'} {J₁ J₂ : LieIdeal R L'} (h : f.IsIdealMorphism) :
map f ⁅comap f J₁, comap f J₂⁆ = ⁅f.idealRange ⊓ J₁, f.idealRange ⊓ J₂⁆
theorem LieIdeal.comap_bracket_incl {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (I : LieIdeal R L) {I₁ I₂ : LieIdeal R L} :
⁅comap I.incl I₁, comap I.incl I₂⁆ = comap I.incl ⁅I ⊓ I₁, I ⊓ I₂⁆
theorem LieIdeal.comap_bracket_incl_of_le {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (I : LieIdeal R L) {I₁ I₂ : LieIdeal R L} (h₁ : I₁ ≤ I) (h₂ : I₂ ≤ I) :
⁅comap I.incl I₁, comap I.incl I₂⁆ = comap I.incl ⁅I₁, I₂⁆

This is a very useful result; it allows us to use the fact that inclusion distributes over the Lie bracket operation on ideals, subject to the conditions shown.