Lie algebras as non-unital, non-associative algebras #
The definition of Lie algebras uses the Bracket typeclass for multiplication whereas we have a
separate Mul typeclass used for general algebras.
It is useful to have a special typeclass for Lie algebras because:
- it enables us to use the traditional notation
⁅x, y⁆for the Lie multiplication, - associative algebras carry a natural Lie algebra structure via the ring commutator and so we need
them to carry both
MulandBracketsimultaneously, - more generally, Poisson algebras (not yet defined) need both typeclasses.
However there are times when it is convenient to be able to regard a Lie algebra as a general algebra and we provide some basic definitions for doing so here.
Main definitions #
CommutatorRingturns a Lie ring into aNonUnitalNonAssocSemiringby turning itsBracket(denoted⁅, ⁆) into aMul(denoted*).LieHom.toNonUnitalAlgHom
Tags #
lie algebra, non-unital, non-associative
Type synonym for turning a LieRing into a NonUnitalNonAssocSemiring.
A LieRing can be regarded as a NonUnitalNonAssocSemiring by turning its
Bracket (denoted ⁅, ⁆) into a Mul (denoted *).
Equations
- CommutatorRing L = L
Instances For
A LieRing can be regarded as a NonUnitalNonAssocSemiring by turning its
Bracket (denoted ⁅, ⁆) into a Mul (denoted *).
Equations
- instNonUnitalNonAssocSemiringCommutatorRing L = let_fun this := let __src := inferInstance; NonUnitalNonAssocSemiring.mk ⋯ ⋯ ⋯ ⋯; this
Equations
- ⋯ = inst
Equations
Equations
- LieAlgebra.instLieRingCommutatorRing L = let_fun this := inferInstance; this
Equations
- LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing R L = let_fun this := inferInstance; this
Regarding the LieRing of a LieAlgebra as a NonUnitalNonAssocSemiring, we can
reinterpret the smul_lie law as an IsScalarTower.
Equations
- ⋯ = ⋯
Regarding the LieRing of a LieAlgebra as a NonUnitalNonAssocSemiring, we can
reinterpret the lie_smul law as an SMulCommClass.
Equations
- ⋯ = ⋯
Regarding the LieRing of a LieAlgebra as a NonUnitalNonAssocSemiring, we can
regard a LieHom as a NonUnitalAlgHom.
Equations
- LieHom.toNonUnitalAlgHom f = { toDistribMulActionHom := { toMulActionHom := { toFun := ⇑f, map_smul' := ⋯ }, map_zero' := ⋯, map_add' := ⋯ }, map_mul' := ⋯ }