Documentation

Mathlib.RingTheory.HopfAlgebra.Basic

Hopf algebras #

In this file we define HopfAlgebra, and provide instances for:

Main definitions #

Main results #

TODO #

(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 #

class HopfAlgebra (R : Type u) (A : Type v) [CommSemiring R] [Semiring A] extends HopfAlgebraStruct R A :
Type (max u v)

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.

Instances
    @[simp]
    theorem HopfAlgebra.antipode_one {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [HopfAlgebra R A] :
    (antipode R) 1 = 1
    theorem HopfAlgebra.sum_antipode_mul_eq_algebraMap_counit {R : Type u} {A : Type v} {ι : Type u_1} [CommSemiring R] [Semiring A] [HopfAlgebra R A] {a : A} (repr : Coalgebra.Repr R a ι) :
    irepr.index, (antipode R) (repr.left i) * repr.right i = (algebraMap R A) (CoalgebraStruct.counit a)
    theorem HopfAlgebra.sum_mul_antipode_eq_algebraMap_counit {R : Type u} {A : Type v} {ι : Type u_1} [CommSemiring R] [Semiring A] [HopfAlgebra R A] {a : A} (repr : Coalgebra.Repr R a ι) :
    irepr.index, repr.left i * (antipode R) (repr.right i) = (algebraMap R A) (CoalgebraStruct.counit a)
    theorem HopfAlgebra.sum_antipode_mul_eq_smul {R : Type u} {A : Type v} {ι : Type u_1} [CommSemiring R] [Semiring A] [HopfAlgebra R A] {a : A} (repr : Coalgebra.Repr R a ι) :
    irepr.index, (antipode R) (repr.left i) * repr.right i = CoalgebraStruct.counit a 1
    theorem HopfAlgebra.sum_mul_antipode_eq_smul {R : Type u} {A : Type v} {ι : Type u_1} [CommSemiring R] [Semiring A] [HopfAlgebra R A] {a : A} (repr : Coalgebra.Repr R a ι) :
    irepr.index, repr.left i * (antipode R) (repr.right i) = CoalgebraStruct.counit a 1

    The antipode is an antihomomorphism #

    We prove that antipode (a * b) = antipode b * antipode a. The proof uses the "left inverse equals right inverse" trick in the convolution algebra (A ⊗ A) →ₗ[R] A.

    theorem HopfAlgebra.antipode_mul {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [HopfAlgebra R A] (a b : A) :
    (antipode R) (a * b) = (antipode R) b * (antipode R) a

    The antipode reverses multiplication: S(ab) = S(b)S(a).

    @[implicit_reducible]

    Every commutative (semi)ring is a Hopf algebra over itself

    Equations
    @[reducible, inline]
    noncomputable abbrev HopfAlgebra.ofConvInverse {R : Type u_1} {A : Type u_2} [CommSemiring R] [Semiring A] [Bialgebra R A] (antipode : A →ₗ[R] A) (antipode_convMul_id : WithConv.toConv antipode * WithConv.toConv LinearMap.id = 1) (id_convMul_antipode : WithConv.toConv LinearMap.id * WithConv.toConv antipode = 1) :

    Upgrade a bialgebra to a Hopf algebra by specifying a convolution inverse of the identity.

    Equations
    • HopfAlgebra.ofConvInverse antipode antipode_convMul_id id_convMul_antipode = { toBialgebra := inst✝, antipode := antipode, mul_antipode_rTensor_comul := , mul_antipode_lTensor_comul := }
    Instances For
      @[reducible, inline]
      noncomputable abbrev HopfAlgebra.ofAlgHom {R : Type u_1} {A : Type u_2} [CommSemiring R] [CommSemiring A] [Bialgebra R A] (antipode : A →ₐ[R] A) (mul_antipode_rTensor_comul : (Algebra.TensorProduct.lift antipode (AlgHom.id R A) ).comp (Bialgebra.comulAlgHom R A) = (Algebra.ofId R A).comp (Bialgebra.counitAlgHom R A)) (mul_antipode_lTensor_comul : (Algebra.TensorProduct.lift (AlgHom.id R A) antipode ).comp (Bialgebra.comulAlgHom R A) = (Algebra.ofId R A).comp (Bialgebra.counitAlgHom R A)) :

      Upgrade a commutative bialgebra to a Hopf algebra by specifying the antipode A →ₐ[R] A with appropriate conditions.

      Equations
      Instances For