Hopf algebras #
In this file we define HopfAlgebra, and provide instances for:
- Commutative semirings:
CommSemiring.toHopfAlgebra
Main definitions #
HopfAlgebra R A: the Hopf algebra structure on anR-bialgebraA.HopfAlgebra.antipode: TheR-linear mapA →ₗ[R] A.
TODO #
Uniqueness of Hopf algebra structure on a bialgebra (i.e. if the algebra and coalgebra structures agree then the antipodes must also agree).
antipode 1 = 1andantipode (a * b) = antipode b * antipode a, so in particular ifAis commutative thenantipodeis an algebra homomorphism.If
Ais commutative thenantipodeis necessarily a bijection and its square is the identity.
(Note that all three facts have been proved for Hopf bimonoids in an arbitrary braided category,
so we could deduce the facts here from an equivalence HopfAlgCat R ≌ Hopf (ModuleCat R).)
References #
Isolates the antipode of a Hopf algebra, to allow API to be constructed before proving the
Hopf algebra axioms. See HopfAlgebra for documentation.
- smul : R → A → A
- coassoc : ↑(TensorProduct.assoc R A A A) ∘ₗ LinearMap.rTensor A comul ∘ₗ comul = LinearMap.lTensor A comul ∘ₗ comul
The antipode of the Hopf algebra.
Instances
A Hopf algebra over a commutative (semi)ring R is a bialgebra over R equipped with an
R-linear endomorphism antipode satisfying the antipode axioms.
- smul : R → A → A
- coassoc : ↑(TensorProduct.assoc R A A A) ∘ₗ LinearMap.rTensor A comul ∘ₗ comul = LinearMap.lTensor A comul ∘ₗ comul
- mul_antipode_rTensor_comul : LinearMap.mul' R A ∘ₗ LinearMap.rTensor A (antipode R) ∘ₗ CoalgebraStruct.comul = Algebra.linearMap R A ∘ₗ CoalgebraStruct.counit
One of the antipode axioms for a Hopf algebra.
- mul_antipode_lTensor_comul : LinearMap.mul' R A ∘ₗ LinearMap.lTensor A (antipode R) ∘ₗ CoalgebraStruct.comul = Algebra.linearMap R A ∘ₗ CoalgebraStruct.counit
One of the antipode axioms for a Hopf algebra.
Instances
Every commutative (semi)ring is a Hopf algebra over itself
Equations
- CommSemiring.toHopfAlgebra R = { toBialgebra := CommSemiring.toBialgebra R, antipode := LinearMap.id, mul_antipode_rTensor_comul := ⋯, mul_antipode_lTensor_comul := ⋯ }