Mathlib Phrasebook

13.1. Lie algebras and their representations🔗

Mathlib contains a theory of Lie algebras and their representations.

The following adds a Lie algebra to the Lean environment

variable {R L : Type*} [CommRing R] [LieRing L] [LieAlgebra R L]

Lie algebras use a bracket notation: the product of x and y is written ⁅x, y⁆. Thus the Jacobi identity appears as:

example (x y z : L) : x, y, z + y, z, x + z, x, y = 0 := lie_jacobi x y z

The following adds a representation of a Lie algebra L on a module M to the Lean environment

variable {M : Type*} [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M]

This data determines a morphism of Lie algebras L → End(M). In Mathlib this morphism appears as LieModule.toEnd. More generally morphisms and isomorphisms between any Lie algebras may be added to the environment using a special notation as follows

variable {L' : Type*} [LieRing L'] [LieAlgebra R L'] (φ : L →ₗ⁅R L') (e : L ≃ₗ⁅R L')