mathlib documentation

algebra.lie.direct_sum

Direct sums of Lie algebras and Lie modules #

Direct sums of Lie algebras and Lie modules carry natural algbebra and module structures.

Tags #

lie algebra, lie module, direct sum

The direct sum of Lie modules over a fixed Lie algebra carries a natural Lie module structure.

@[protected, instance]
def direct_sum.lie_ring_module {ι : Type v} {L : Type w₁} {M : ι → Type w} [lie_ring L] [Π (i : ι), add_comm_group (M i)] [Π (i : ι), lie_ring_module L (M i)] :
lie_ring_module L (⨁ (i : ι), M i)
Equations
@[simp]
theorem direct_sum.lie_module_bracket_apply {ι : Type v} {L : Type w₁} {M : ι → Type w} [lie_ring L] [Π (i : ι), add_comm_group (M i)] [Π (i : ι), lie_ring_module L (M i)] (x : L) (m : ⨁ (i : ι), M i) (i : ι) :
@[protected, instance]
def direct_sum.lie_module {R : Type u} {ι : Type v} [comm_ring R] {L : Type w₁} {M : ι → Type w} [lie_ring L] [lie_algebra R L] [Π (i : ι), add_comm_group (M i)] [Π (i : ι), module R (M i)] [Π (i : ι), lie_ring_module L (M i)] [Π (i : ι), lie_module R L (M i)] :
lie_module R L (⨁ (i : ι), M i)
Equations
def direct_sum.lie_module_of (R : Type u) (ι : Type v) [comm_ring R] (L : Type w₁) (M : ι → Type w) [lie_ring L] [lie_algebra R L] [Π (i : ι), add_comm_group (M i)] [Π (i : ι), module R (M i)] [Π (i : ι), lie_ring_module L (M i)] [Π (i : ι), lie_module R L (M i)] [decidable_eq ι] (j : ι) :
M j →ₗ⁅R,L ⨁ (i : ι), M i

The inclusion of each component into a direct sum as a morphism of Lie modules.

Equations
def direct_sum.lie_module_component (R : Type u) (ι : Type v) [comm_ring R] (L : Type w₁) (M : ι → Type w) [lie_ring L] [lie_algebra R L] [Π (i : ι), add_comm_group (M i)] [Π (i : ι), module R (M i)] [Π (i : ι), lie_ring_module L (M i)] [Π (i : ι), lie_module R L (M i)] (j : ι) :
(⨁ (i : ι), M i) →ₗ⁅R,L M j

The projection map onto one component, as a morphism of Lie modules.

Equations

The direct sum of Lie algebras carries a natural Lie algebra structure.

@[protected, instance]
def direct_sum.lie_ring {ι : Type v} (L : ι → Type w) [Π (i : ι), lie_ring (L i)] :
lie_ring (⨁ (i : ι), L i)
Equations
@[simp]
theorem direct_sum.bracket_apply {ι : Type v} (L : ι → Type w) [Π (i : ι), lie_ring (L i)] (x y : ⨁ (i : ι), L i) (i : ι) :
@[protected, instance]
def direct_sum.lie_algebra {R : Type u} {ι : Type v} [comm_ring R] (L : ι → Type w) [Π (i : ι), lie_ring (L i)] [Π (i : ι), lie_algebra R (L i)] :
lie_algebra R (⨁ (i : ι), L i)
Equations
@[simp]
theorem direct_sum.lie_algebra_of_apply (R : Type u) (ι : Type v) [comm_ring R] (L : ι → Type w) [Π (i : ι), lie_ring (L i)] [Π (i : ι), lie_algebra R (L i)] [decidable_eq ι] (j : ι) (ᾰ : L j) :
@[simp]
theorem direct_sum.lie_algebra_of_to_linear_map_apply (R : Type u) (ι : Type v) [comm_ring R] (L : ι → Type w) [Π (i : ι), lie_ring (L i)] [Π (i : ι), lie_algebra R (L i)] [decidable_eq ι] (j : ι) (ᾰ : L j) :
def direct_sum.lie_algebra_of (R : Type u) (ι : Type v) [comm_ring R] (L : ι → Type w) [Π (i : ι), lie_ring (L i)] [Π (i : ι), lie_algebra R (L i)] [decidable_eq ι] (j : ι) :
L j →ₗ⁅R ⨁ (i : ι), L i

The inclusion of each component into the direct sum as morphism of Lie algebras.

Equations
def direct_sum.lie_algebra_component (R : Type u) (ι : Type v) [comm_ring R] (L : ι → Type w) [Π (i : ι), lie_ring (L i)] [Π (i : ι), lie_algebra R (L i)] (j : ι) :
(⨁ (i : ι), L i) →ₗ⁅R L j

The projection map onto one component, as a morphism of Lie algebras.

Equations
@[simp]
theorem direct_sum.lie_algebra_component_to_linear_map_apply (R : Type u) (ι : Type v) [comm_ring R] (L : ι → Type w) [Π (i : ι), lie_ring (L i)] [Π (i : ι), lie_algebra R (L i)] (j : ι) (ᾰ : ⨁ (i : ι), L i) :
@[simp]
theorem direct_sum.lie_algebra_component_apply (R : Type u) (ι : Type v) [comm_ring R] (L : ι → Type w) [Π (i : ι), lie_ring (L i)] [Π (i : ι), lie_algebra R (L i)] (j : ι) (ᾰ : ⨁ (i : ι), L i) :
@[ext]
theorem direct_sum.lie_algebra_ext (R : Type u) (ι : Type v) [comm_ring R] (L : ι → Type w) [Π (i : ι), lie_ring (L i)] [Π (i : ι), lie_algebra R (L i)] {x y : ⨁ (i : ι), L i} (h : ∀ (i : ι), (direct_sum.lie_algebra_component R ι L i) x = (direct_sum.lie_algebra_component R ι L i) y) :
x = y
theorem direct_sum.lie_of_of_ne (R : Type u) (ι : Type v) [comm_ring R] (L : ι → Type w) [Π (i : ι), lie_ring (L i)] [Π (i : ι), lie_algebra R (L i)] [decidable_eq ι] {i j : ι} (hij : j i) (x : L i) (y : L j) :
theorem direct_sum.lie_of_of_eq (R : Type u) (ι : Type v) [comm_ring R] (L : ι → Type w) [Π (i : ι), lie_ring (L i)] [Π (i : ι), lie_algebra R (L i)] [decidable_eq ι] {i j : ι} (hij : j = i) (x : L i) (y : L j) :
@[simp]
theorem direct_sum.lie_of (R : Type u) (ι : Type v) [comm_ring R] (L : ι → Type w) [Π (i : ι), lie_ring (L i)] [Π (i : ι), lie_algebra R (L i)] [decidable_eq ι] {i j : ι} (x : L i) (y : L j) :
(direct_sum.of L i) x,(direct_sum.of L j) y = dite (j = i) (λ (hij : j = i), (direct_sum.lie_algebra_of R ι L i) x,hij.rec_on y) (λ (hij : ¬j = i), 0)
@[simp]
theorem direct_sum.to_lie_algebra_to_linear_map_apply {R : Type u} {ι : Type v} [comm_ring R] {L : ι → Type w} [Π (i : ι), lie_ring (L i)] [Π (i : ι), lie_algebra R (L i)] [decidable_eq ι] (L' : Type w₁) [lie_ring L'] [lie_algebra R L'] (f : Π (i : ι), L i →ₗ⁅R L') (hf : ∀ (i j : ι), i j∀ (x : L i) (y : L j), (f i) x,(f j) y = 0) (ᾰ : ⨁ (i : ι), (λ (i : ι), L i) i) :
((direct_sum.to_lie_algebra L' f hf).to_linear_map) = (direct_sum.to_module R ι L' (λ (i : ι), (f i)))
def direct_sum.to_lie_algebra {R : Type u} {ι : Type v} [comm_ring R] {L : ι → Type w} [Π (i : ι), lie_ring (L i)] [Π (i : ι), lie_algebra R (L i)] [decidable_eq ι] (L' : Type w₁) [lie_ring L'] [lie_algebra R L'] (f : Π (i : ι), L i →ₗ⁅R L') (hf : ∀ (i j : ι), i j∀ (x : L i) (y : L j), (f i) x,(f j) y = 0) :
(⨁ (i : ι), L i) →ₗ⁅R L'

Given a family of Lie algebras L i, together with a family of morphisms of Lie algebras f i : L i →ₗ⁅R⁆ L' into a fixed Lie algebra L', we have a natural linear map: (⨁ i, L i) →ₗ[R] L'. If in addition ⁅f i x, f j y⁆ = 0 for any x ∈ L i and y ∈ L j (i ≠ j) then this map is a morphism of Lie algebras.

Equations
@[simp]
theorem direct_sum.to_lie_algebra_apply {R : Type u} {ι : Type v} [comm_ring R] {L : ι → Type w} [Π (i : ι), lie_ring (L i)] [Π (i : ι), lie_algebra R (L i)] [decidable_eq ι] (L' : Type w₁) [lie_ring L'] [lie_algebra R L'] (f : Π (i : ι), L i →ₗ⁅R L') (hf : ∀ (i j : ι), i j∀ (x : L i) (y : L j), (f i) x,(f j) y = 0) (ᾰ : ⨁ (i : ι), (λ (i : ι), L i) i) :
(direct_sum.to_lie_algebra L' f hf) = (direct_sum.to_module R ι L' (λ (i : ι), (f i)))
def direct_sum.lie_algebra_is_internal {R : Type u} {ι : Type v} [comm_ring R] {L : Type w} [lie_ring L] [lie_algebra R L] (I : ι → lie_ideal R L) [decidable_eq ι] :
Prop

Given a Lie algebra L and a family of ideals I i ⊆ L, informally this definition is the statement that L = ⨁ i, I i.

More formally, the inclusions give a natural map from the (external) direct sum to the enclosing Lie algebra: (⨁ i, I i) → L, and this definition is the proposition that this map is bijective.

Equations
@[protected, instance]
def direct_sum.lie_ring_of_ideals {R : Type u} {ι : Type v} [comm_ring R] {L : Type w} [lie_ring L] [lie_algebra R L] (I : ι → lie_ideal R L) :
lie_ring (⨁ (i : ι), (I i))

The fact that this instance is necessary seems to be a bug in typeclass inference. See [this Zulip thread](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/ Typeclass.20resolution.20under.20binders/near/245151099).

Equations
@[protected, instance]
def direct_sum.lie_algebra_of_ideals {R : Type u} {ι : Type v} [comm_ring R] {L : Type w} [lie_ring L] [lie_algebra R L] (I : ι → lie_ideal R L) :
lie_algebra R (⨁ (i : ι), (I i))

See direct_sum.lie_ring_of_ideals comment.

Equations