Lie algebras #
This file defines Lie rings and Lie algebras over a commutative ring together with their modules, morphisms and equivalences, as well as various lemmas to make these definitions usable.
Main definitions #
Notation #
Working over a fixed commutative ring R
, we introduce the notations:
L →ₗ⁅R⁆ L'
for a morphism of Lie algebras,L ≃ₗ⁅R⁆ L'
for an equivalence of Lie algebras,M →ₗ⁅R,L⁆ N
for a morphism of Lie algebra modulesM
,N
over a Lie algebraL
,M ≃ₗ⁅R,L⁆ N
for an equivalence of Lie algebra modulesM
,N
over a Lie algebraL
.
Implementation notes #
Lie algebras are defined as modules with a compatible Lie ring structure and thus, like modules, are partially unbundled.
References #
Tagsc #
lie bracket, jacobi identity, lie ring, lie algebra, lie module
A Lie ring is an additive group with compatible product, known as the bracket, satisfying the Jacobi identity.
- add : L → L → L
- zero : L
- nsmul : ℕ → L → L
- nsmul_zero : ∀ (x : L), AddMonoid.nsmul 0 x = 0
- nsmul_succ : ∀ (n : ℕ) (x : L), AddMonoid.nsmul (n + 1) x = x + AddMonoid.nsmul n x
- neg : L → L
- sub : L → L → L
- zsmul : ℤ → L → L
- zsmul_zero' : ∀ (a : L), SubNegMonoid.zsmul 0 a = 0
- zsmul_succ' : ∀ (n : ℕ) (a : L), SubNegMonoid.zsmul (Int.ofNat (Nat.succ n)) a = a + SubNegMonoid.zsmul (Int.ofNat n) a
- zsmul_neg' : ∀ (n : ℕ) (a : L), SubNegMonoid.zsmul (Int.negSucc n) a = -SubNegMonoid.zsmul (↑(Nat.succ n)) a
- bracket : L → L → L
A Lie ring bracket is additive in its first component.
A Lie ring bracket is additive in its second component.
A Lie ring bracket vanishes on the diagonal in L × L.
A Lie ring bracket satisfies a Leibniz / Jacobi identity.
Instances
A Lie algebra is a module with compatible product, known as the bracket, satisfying the Jacobi identity. Forgetting the scalar multiplication, every Lie algebra is a Lie ring.
- smul : R → L → L
A Lie algebra bracket is compatible with scalar multiplication in its second argument.
The compatibility in the first argument is not a class property, but follows since every Lie algebra has a natural Lie module action on itself, see
LieModule
.
Instances
A Lie ring module is an additive group, together with an additive action of a
Lie ring on this group, such that the Lie bracket acts as the commutator of endomorphisms.
(For representations of Lie algebras see LieModule
.)
- bracket : L → M → M
A Lie ring module bracket is additive in its first component.
A Lie ring module bracket is additive in its second component.
A Lie ring module bracket satisfies a Leibniz / Jacobi identity.
Instances
A Lie module is a module over a commutative ring, together with a linear action of a Lie algebra on this module, such that the Lie bracket acts as the commutator of endomorphisms.
A Lie module bracket is compatible with scalar multiplication in its first argument.
A Lie module bracket is compatible with scalar multiplication in its second argument.
Instances
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
We could avoid defining this by instead defining a LieRingModule L R
instance with a zero
bracket and relying on LinearMap.instLieRingModule
. We do not do this because in the case that
L = R
we would have a non-defeq diamond via Ring.instBracket
.
Equations
- One or more equations did not get rendered due to their size.
A morphism of Lie algebras is a linear map respecting the bracket operations.
- toFun : L → L'
- map_smul' : ∀ (r : R) (x : L), self.toAddHom.toFun (r • x) = (RingHom.id R) r • self.toAddHom.toFun x
A morphism of Lie algebras is compatible with brackets.
Instances For
A morphism of Lie algebras is a linear map respecting the bracket operations.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- LieHom.instCoeLieHomLinearMapToSemiringToCommSemiringIdToNonAssocSemiringToAddCommMonoidToAddCommGroupToAddCommMonoidToAddCommGroupToModuleToModule = { coe := LieHom.toLinearMap }
Equations
- One or more equations did not get rendered due to their size.
The identity map is a morphism of Lie algebras.
Equations
Instances For
The constant 0 map is a Lie algebra morphism.
Equations
- LieHom.instInhabitedLieHom = { default := 0 }
The composition of morphisms is a morphism.
Equations
- LieHom.comp f g = let src := LinearMap.comp ↑f ↑g; { toLinearMap := src, map_lie' := (_ : ∀ {x y : L₁}, f (g ⁅x, y⁆) = ⁅f (g x), f (g y)⁆) }
Instances For
The inverse of a bijective morphism is a morphism.
Equations
- LieHom.inverse f g h₁ h₂ = let src := LinearMap.inverse (↑f) g h₁ h₂; { toLinearMap := src, map_lie' := (_ : ∀ {x y : L₂}, g ⁅x, y⁆ = ⁅g x, g y⁆) }
Instances For
A Lie ring module may be pulled back along a morphism of Lie algebras.
See note [reducible non-instances].
Equations
- One or more equations did not get rendered due to their size.
Instances For
A Lie module may be pulled back along a morphism of Lie algebras.
An equivalence of Lie algebras is a morphism which is also a linear equivalence. We could
instead define an equivalence to be a morphism which is also a (plain) equivalence. However it is
more convenient to define via linear equivalence to get .toLinearEquiv
for free.
- toFun : L → L'
- map_smul' : ∀ (r : R) (x : L), self.toAddHom.toFun (r • x) = (RingHom.id R) r • self.toAddHom.toFun x
- invFun : L' → L
The inverse function of an equivalence of Lie algebras
- left_inv : Function.LeftInverse self.invFun self.toFun
The inverse function of an equivalence of Lie algebras is a left inverse of the underlying function.
- right_inv : Function.RightInverse self.invFun self.toFun
The inverse function of an equivalence of Lie algebras is a right inverse of the underlying function.
Instances For
An equivalence of Lie algebras is a morphism which is also a linear equivalence. We could
instead define an equivalence to be a morphism which is also a (plain) equivalence. However it is
more convenient to define via linear equivalence to get .toLinearEquiv
for free.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Consider an equivalence of Lie algebras as a linear equivalence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Lie algebra equivalences are reflexive.
Equations
- LieEquiv.refl = 1
Instances For
Lie algebra equivalences are symmetric.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Lie algebra equivalences are transitive.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A bijective morphism of Lie algebras yields an equivalence of Lie algebras.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A morphism of Lie algebra modules is a linear map which commutes with the action of the Lie algebra.
- toFun : M → N
- map_smul' : ∀ (r : R) (x : M), self.toAddHom.toFun (r • x) = (RingHom.id R) r • self.toAddHom.toFun x
A module of Lie algebra modules is compatible with the action of the Lie algebra on the modules.
Instances For
A morphism of Lie algebra modules is a linear map which commutes with the action of the Lie algebra.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- LieModuleHom.instCoeOutLieModuleHomLinearMapToSemiringToCommSemiringIdToNonAssocSemiringToAddCommMonoidToAddCommMonoid = { coe := LieModuleHom.toLinearMap }
Equations
- One or more equations did not get rendered due to their size.
The identity map is a morphism of Lie modules.
Equations
Instances For
The constant 0 map is a Lie module morphism.
The identity map is a Lie module morphism.
Equations
- LieModuleHom.instOneLieModuleHom = { one := LieModuleHom.id }
Equations
- LieModuleHom.instInhabitedLieModuleHom = { default := 0 }
The composition of Lie module morphisms is a morphism.
Equations
- LieModuleHom.comp f g = let src := LinearMap.comp ↑f ↑g; { toLinearMap := src, map_lie' := (_ : ∀ {x : L} {m : M}, f (g ⁅x, m⁆) = ⁅x, f (g m)⁆) }
Instances For
The inverse of a bijective morphism of Lie modules is a morphism of Lie modules.
Equations
- LieModuleHom.inverse f g h₁ h₂ = let src := LinearMap.inverse (↑f) g h₁ h₂; { toLinearMap := src, map_lie' := (_ : ∀ {x : L} {n : N}, g ⁅x, n⁆ = ⁅x, g n⁆) }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
An equivalence of Lie algebra modules is a linear equivalence which is also a morphism of Lie algebra modules.
- toFun : M → N
- map_smul' : ∀ (r : R) (x : M), self.toAddHom.toFun (r • x) = (RingHom.id R) r • self.toAddHom.toFun x
- invFun : N → M
The inverse function of an equivalence of Lie modules
- left_inv : Function.LeftInverse self.invFun self.toFun
The inverse function of an equivalence of Lie modules is a left inverse of the underlying function.
- right_inv : Function.RightInverse self.invFun self.toFun
The inverse function of an equivalence of Lie modules is a right inverse of the underlying function.
Instances For
An equivalence of Lie algebra modules is a linear equivalence which is also a morphism of Lie algebra modules.
Equations
- One or more equations did not get rendered due to their size.
Instances For
View an equivalence of Lie modules as a linear equivalence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
View an equivalence of Lie modules as a type level equivalence.
Equations
- LieModuleEquiv.toEquiv e = { toFun := e.toFun, invFun := e.invFun, left_inv := (_ : Function.LeftInverse e.invFun e.toFun), right_inv := (_ : Function.RightInverse e.invFun e.toFun) }
Instances For
Equations
- LieModuleEquiv.hasCoeToEquiv = { coe := LieModuleEquiv.toEquiv }
Equations
- LieModuleEquiv.hasCoeToLieModuleHom = { coe := LieModuleEquiv.toLieModuleHom }
Equations
- LieModuleEquiv.hasCoeToLinearEquiv = { coe := LieModuleEquiv.toLinearEquiv }
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- LieModuleEquiv.instInhabitedLieModuleEquiv = { default := 1 }
Lie module equivalences are reflexive.
Equations
- LieModuleEquiv.refl = 1
Instances For
Lie module equivalences are symmetric.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Lie module equivalences are transitive.
Equations
- One or more equations did not get rendered due to their size.