Lie algebras as non-unital, non-associative algebras #
The definition of Lie algebras uses the has_bracket typeclass for multiplication whereas we have a
separate has_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
has_mulandhas_bracketsimultaneously, - 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 #
commutator_ringturns a Lie ring into anon_unital_non_assoc_semiringby turning itshas_bracket(denoted⁅, ⁆) into ahas_mul(denoted*).lie_hom.to_non_unital_alg_hom
Tags #
lie algebra, non-unital, non-associative
Type synonym for turning a lie_ring into a non_unital_non_assoc_semiring.
A lie_ring can be regarded as a non_unital_non_assoc_semiring by turning its
has_bracket (denoted ⁅, ⁆) into a has_mul (denoted *).
Equations
- commutator_ring L = L
A lie_ring can be regarded as a non_unital_non_assoc_semiring by turning its
has_bracket (denoted ⁅, ⁆) into a has_mul (denoted *).
Equations
- commutator_ring.non_unital_non_assoc_semiring L = show non_unital_non_assoc_semiring L, from {add := add_comm_monoid.add infer_instance, add_assoc := _, zero := add_comm_monoid.zero infer_instance, zero_add := _, add_zero := _, nsmul := add_comm_monoid.nsmul infer_instance, nsmul_zero' := _, nsmul_succ' := _, add_comm := _, mul := has_bracket.bracket lie_ring_module.to_has_bracket, left_distrib := _, right_distrib := _, zero_mul := _, mul_zero := _}
Equations
- lie_algebra.commutator_ring.inhabited L = _inst_4
Equations
- lie_algebra.commutator_ring.lie_ring L = show lie_ring L, from _inst_2
Equations
- lie_algebra.commutator_ring.lie_algebra R L = show lie_algebra R L, from _inst_3
Regarding the lie_ring of a lie_algebra as a non_unital_non_assoc_semiring, we can
reinterpret the smul_lie law as an is_scalar_tower.
Regarding the lie_ring of a lie_algebra as a non_unital_non_assoc_semiring, we can
reinterpret the lie_smul law as an smul_comm_class.
Regarding the lie_ring of a lie_algebra as a non_unital_non_assoc_semiring, we can
regard a lie_hom as a non_unital_alg_hom.