# mathlibdocumentation

algebra.lie.of_associative

# Lie algebras of associative algebras #

This file defines the Lie algebra structure that arises on an associative algebra via the ring commutator.

Since the linear endomorphisms of a Lie algebra form an associative algebra, one can define the adjoint action as a morphism of Lie algebras from a Lie algebra to its linear endomorphisms. We make such a definition in this file.

## Main definitions #

• lie_algebra.of_associative_algebra
• lie_algebra.of_associative_algebra_hom
• lie_module.to_endomorphism
• lie_algebra.ad
• linear_equiv.lie_conj
• alg_equiv.to_lie_equiv

## Tags #

lie algebra, ring commutator, adjoint action

@[protected, instance]
def ring.has_bracket {A : Type v} [ring A] :
A

The bracket operation for rings is the ring commutator, which captures the extent to which a ring is commutative. It is identically zero exactly when the ring is commutative.

Equations
theorem ring.lie_def {A : Type v} [ring A] (x y : A) :
x,y = x * y - y * x
theorem commute_iff_lie_eq {A : Type v} [ring A] {x y : A} :
y x,y = 0
theorem commute.lie_eq {A : Type v} [ring A] {x y : A} (h : y) :
@[protected, instance]
def lie_ring.of_associative_ring {A : Type v} [ring A] :

An associative ring gives rise to a Lie ring by taking the bracket to be the ring commutator.

Equations
theorem lie_ring.of_associative_ring_bracket {A : Type v} [ring A] (x y : A) :
x,y = x * y - y * x
@[simp]
theorem lie_ring.lie_apply {A : Type v} [ring A] {α : Type u_1} (f g : α → A) (a : α) :
f,g a = f a,g a
@[reducible]
def lie_ring_module.of_associative_module {A : Type v} [ring A] {M : Type w} [ M] :

We can regard a module over an associative ring A as a Lie ring module over A with Lie bracket equal to its ring commutator.

Note that this cannot be a global instance because it would create a diamond when M = A, specifically we can build two mathematically-different has_bracket A As:

1. @ring.has_bracket A _ which says ⁅a, b⁆ = a * b - b * a
2. (@lie_ring_module.of_associative_module A _ A _ _).to_has_bracket which says ⁅a, b⁆ = a • b (and thus ⁅a, b⁆ = a * b)
Equations
theorem lie_eq_smul {A : Type v} [ring A] {M : Type w} [ M] (a : A) (m : M) :
a,m = a m
@[protected, instance]
def lie_algebra.of_associative_algebra {A : Type v} [ring A] {R : Type u} [comm_ring R] [ A] :
A

An associative algebra gives rise to a Lie algebra by taking the bracket to be the ring commutator.

Equations
def lie_module.of_associative_module {A : Type v} [ring A] {R : Type u} [comm_ring R] [ A] {M : Type w} [ M] [ M] [ M] :
A M

A representation of an associative algebra A is also a representation of A, regarded as a Lie algebra via the ring commutator.

See the comment at lie_ring_module.of_associative_module for why the possibility M = A means this cannot be a global instance.

Equations
@[protected, instance]
def module.End.lie_ring_module {R : Type u} [comm_ring R] {M : Type w} [ M] :
M
Equations
@[protected, instance]
def module.End.lie_module {R : Type u} [comm_ring R] {M : Type w} [ M] :
M) M
Equations
def alg_hom.to_lie_hom {A : Type v} [ring A] {R : Type u} [comm_ring R] [ A] {B : Type w} [ring B] [ B] (f : A →ₐ[R] B) :

The map of_associative_algebra associating a Lie algebra to an associative algebra is functorial.

Equations
@[protected, instance]
def alg_hom.lie_hom.has_coe {A : Type v} [ring A] {R : Type u} [comm_ring R] [ A] {B : Type w} [ring B] [ B] :
Equations
@[simp]
theorem alg_hom.to_lie_hom_coe {A : Type v} [ring A] {R : Type u} [comm_ring R] [ A] {B : Type w} [ring B] [ B] (f : A →ₐ[R] B) :
@[simp]
theorem alg_hom.coe_to_lie_hom {A : Type v} [ring A] {R : Type u} [comm_ring R] [ A] {B : Type w} [ring B] [ B] (f : A →ₐ[R] B) :
theorem alg_hom.to_lie_hom_apply {A : Type v} [ring A] {R : Type u} [comm_ring R] [ A] {B : Type w} [ring B] [ B] (f : A →ₐ[R] B) (x : A) :
@[simp]
theorem alg_hom.to_lie_hom_id {A : Type v} [ring A] {R : Type u} [comm_ring R] [ A] :
@[simp]
theorem alg_hom.to_lie_hom_comp {A : Type v} [ring A] {R : Type u} [comm_ring R] [ A] {B : Type w} {C : Type w₁} [ring B] [ring C] [ B] [ C] (f : A →ₐ[R] B) (g : B →ₐ[R] C) :
(g.comp f) = g.comp f
theorem alg_hom.to_lie_hom_injective {A : Type v} [ring A] {R : Type u} [comm_ring R] [ A] {B : Type w} [ring B] [ B] {f g : A →ₐ[R] B} (h : f = g) :
f = g
def lie_module.to_endomorphism (R : Type u) (L : Type v) (M : Type w) [comm_ring R] [lie_ring L] [ L] [ M] [ M] [ L M] :

A Lie module yields a Lie algebra morphism into the linear endomorphisms of the module.

See also lie_module.to_module_hom.

Equations
@[simp]
theorem lie_module.to_endomorphism_to_linear_map_apply_apply (R : Type u) (L : Type v) (M : Type w) [comm_ring R] [lie_ring L] [ L] [ M] [ M] [ L M] (x : L) (m : M) :
@[simp]
theorem lie_module.to_endomorphism_apply_apply (R : Type u) (L : Type v) (M : Type w) [comm_ring R] [lie_ring L] [ L] [ M] [ M] [ L M] (x : L) (m : M) :
( M) x) m = x,m
def lie_algebra.ad (R : Type u) (L : Type v) [comm_ring R] [lie_ring L] [ L] :

The adjoint action of a Lie algebra on itself.

Equations
@[simp]
theorem lie_algebra.ad_apply (R : Type u) (L : Type v) [comm_ring R] [lie_ring L] [ L] (x y : L) :
( L) x) y = x,y
@[simp]
theorem lie_module.to_endomorphism_module_End (R : Type u) (M : Type w) [comm_ring R] [ M] :
theorem lie_subalgebra.to_endomorphism_eq (R : Type u) (L : Type v) (M : Type w) [comm_ring R] [lie_ring L] [ L] [ M] [ M] [ L M] (K : L) {x : K} :
M) x = M) x
@[simp]
theorem lie_subalgebra.to_endomorphism_mk (R : Type u) (L : Type v) (M : Type w) [comm_ring R] [lie_ring L] [ L] [ M] [ M] [ L M] (K : L) {x : L} (hx : x K) :
M) x, hx⟩ = M) x
theorem lie_submodule.coe_map_to_endomorphism_le {R : Type u} {L : Type v} {M : Type w} [comm_ring R] [lie_ring L] [ L] [ M] [ M] [ L M] {N : M} {x : L} :
theorem lie_submodule.to_endomorphism_comp_subtype_mem {R : Type u} {L : Type v} {M : Type w} [comm_ring R] [lie_ring L] [ L] [ M] [ M] [ L M] (N : M) (x : L) (m : M) (hm : m N) :
(linear_map.comp ( M) x) N.subtype) m, hm⟩ N
@[simp]
theorem lie_submodule.to_endomorphism_restrict_eq_to_endomorphism {R : Type u} {L : Type v} {M : Type w} [comm_ring R] [lie_ring L] [ L] [ M] [ M] [ L M] (N : M) (x : L) (h : (∀ (m : M) (hm : m N), (linear_map.comp ( M) x) N.subtype) m, hm⟩ N) := _) :
theorem lie_algebra.ad_eq_lmul_left_sub_lmul_right {R : Type u} [comm_ring R] (A : Type v) [ring A] [ A] :
theorem lie_subalgebra.ad_comp_incl_eq {R : Type u} {L : Type v} [comm_ring R] [lie_ring L] [ L] (K : L) (x : K) :
def lie_subalgebra_of_subalgebra (R : Type u) [comm_ring R] (A : Type v) [ring A] [ A] (A' : A) :

A subalgebra of an associative algebra is a Lie subalgebra of the associated Lie algebra.

Equations
def linear_equiv.lie_conj {R : Type u} {M₁ : Type v} {M₂ : Type w} [comm_ring R] [add_comm_group M₁] [ M₁] [add_comm_group M₂] [ M₂] (e : M₁ ≃ₗ[R] M₂) :
M₁ ≃ₗ⁅R M₂

A linear equivalence of two modules induces a Lie algebra equivalence of their endomorphisms.

Equations
@[simp]
theorem linear_equiv.lie_conj_apply {R : Type u} {M₁ : Type v} {M₂ : Type w} [comm_ring R] [add_comm_group M₁] [ M₁] [add_comm_group M₂] [ M₂] (e : M₁ ≃ₗ[R] M₂) (f : M₁) :
(e.lie_conj) f = (e.conj) f
@[simp]
theorem linear_equiv.lie_conj_symm {R : Type u} {M₁ : Type v} {M₂ : Type w} [comm_ring R] [add_comm_group M₁] [ M₁] [add_comm_group M₂] [ M₂] (e : M₁ ≃ₗ[R] M₂) :
def alg_equiv.to_lie_equiv {R : Type u} {A₁ : Type v} {A₂ : Type w} [comm_ring R] [ring A₁] [ring A₂] [ A₁] [ A₂] (e : A₁ ≃ₐ[R] A₂) :
A₁ ≃ₗ⁅R A₂

An equivalence of associative algebras is an equivalence of associated Lie algebras.

Equations
@[simp]
theorem alg_equiv.to_lie_equiv_apply {R : Type u} {A₁ : Type v} {A₂ : Type w} [comm_ring R] [ring A₁] [ring A₂] [ A₁] [ A₂] (e : A₁ ≃ₐ[R] A₂) (x : A₁) :
@[simp]
theorem alg_equiv.to_lie_equiv_symm_apply {R : Type u} {A₁ : Type v} {A₂ : Type w} [comm_ring R] [ring A₁] [ring A₂] [ A₁] [ A₂] (e : A₁ ≃ₐ[R] A₂) (x : A₂) :