Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
59f7aee
feat(RingTheory/HopfAlgebra): construct from anti-algebra hom
hawkrobe May 24, 2026
938ad1b
Merge branch 'master' into hopfalgebra-ofalghom-general
hawkrobe May 24, 2026
68a3e98
Update Mathlib/RingTheory/HopfAlgebra/Basic.lean
hawkrobe May 25, 2026
47b4482
refactor(RingTheory/HopfAlgebra): keep commutative ofAlgHom
hawkrobe May 25, 2026
5847334
Merge branch 'master' into hopfalgebra-ofalghom-general
hawkrobe May 25, 2026
5e62857
docs(RingTheory/HopfAlgebra): add ofAlgHom docstring
hawkrobe May 25, 2026
b2418fa
Merge branch 'master' into hopfalgebra-ofalghom-general
hawkrobe May 25, 2026
47429e1
Apply suggestion from @eric-wieser
hawkrobe May 25, 2026
076d0e1
Update Mathlib/RingTheory/HopfAlgebra/Basic.lean
hawkrobe May 25, 2026
33e7457
Update Mathlib/RingTheory/HopfAlgebra/Basic.lean
hawkrobe May 25, 2026
03e462b
refactor(RingTheory/HopfAlgebra): replace ofAlgHomOp with ofConvInverse
hawkrobe May 25, 2026
405f76e
refactor(RingTheory/HopfAlgebra): drop unused simp args in ofAlgHom
hawkrobe May 26, 2026
512d314
Merge branch 'master' into hopfalgebra-ofalghom-general
hawkrobe May 26, 2026
640a74a
Update Mathlib/RingTheory/HopfAlgebra/Basic.lean
hawkrobe May 27, 2026
db77934
Update Mathlib/RingTheory/HopfAlgebra/Basic.lean
hawkrobe May 27, 2026
8b5640f
refactor(RingTheory/HopfAlgebra): rename lTensor antipode arguments
hawkrobe May 28, 2026
a0413ac
Merge branch 'master' into hopfalgebra-ofalghom-general
hawkrobe May 28, 2026
cb82f33
refactor(RingTheory/HopfAlgebra): spell out Commute.all in ofAlgHom
hawkrobe May 28, 2026
70fcb19
refactor(RingTheory/HopfAlgebra): rename ofConvInverse hypotheses
hawkrobe Jun 1, 2026
597adf8
refactor(RingTheory/HopfAlgebra): restore ofAlgHom hypothesis name sy…
hawkrobe Jun 1, 2026
570d9c2
Merge branch 'master' into hopfalgebra-ofalghom-general
hawkrobe Jun 1, 2026
bd33e0a
fix(RingTheory/HopfAlgebra): use `simpa using!` for non-reducible defeq
hawkrobe Jun 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions Mathlib/RingTheory/HopfAlgebra/Basic.lean
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ In this file we define `HopfAlgebra`, and provide instances for:

* `HopfAlgebra R A` : the Hopf algebra structure on an `R`-bialgebra `A`.
* `HopfAlgebra.antipode` : the `R`-linear map `A →ₗ[R] A`.
* `HopfAlgebra.ofConvInverse` : construct a Hopf algebra from a two-sided convolution inverse
of the identity.
* `HopfAlgebra.ofAlgHom` : the same for commutative `A`, with `AlgHom` hypotheses.

## Main results

Expand Down Expand Up @@ -229,3 +232,40 @@ instance toHopfAlgebra : HopfAlgebra R R where
theorem antipode_eq_id : antipode R (A := R) = .id := rfl

end CommSemiring

namespace HopfAlgebra

variable {R A : Type*}

open Coalgebra WithConv LinearMap

/-- Upgrade a bialgebra to a Hopf algebra by specifying a convolution inverse of the identity. -/
noncomputable abbrev ofConvInverse [CommSemiring R] [Semiring A] [Bialgebra R A]
(antipode : A →ₗ[R] A)
(antipode_convMul_id : toConv antipode * toConv LinearMap.id = 1)
(id_convMul_antipode : toConv LinearMap.id * toConv antipode = 1) :
HopfAlgebra R A where
antipode := antipode
mul_antipode_rTensor_comul := by simpa using! congr(($antipode_convMul_id).ofConv)
mul_antipode_lTensor_comul := by simpa using! congr(($id_convMul_antipode).ofConv)

/-- Upgrade a commutative bialgebra to a Hopf algebra by specifying the antipode `A →ₐ[R] A`
with appropriate conditions. -/
noncomputable abbrev ofAlgHom [CommSemiring R] [CommSemiring A] [Bialgebra R A]
(antipode : A →ₐ[R] A)
(mul_antipode_rTensor_comul :
((Algebra.TensorProduct.lift antipode (.id R A) fun _ ↦ Commute.all _).comp
(Bialgebra.comulAlgHom R A)) = (Algebra.ofId R A).comp (Bialgebra.counitAlgHom R A))
(mul_antipode_lTensor_comul :
(Algebra.TensorProduct.lift (.id R A) antipode fun _ _ ↦ Commute.all _ _).comp
(Bialgebra.comulAlgHom R A) = (Algebra.ofId R A).comp (Bialgebra.counitAlgHom R A)) :
Comment thread
hawkrobe marked this conversation as resolved.
HopfAlgebra R A :=
ofConvInverse antipode.toLinearMap
(WithConv.ext <| by
simpa [← Algebra.TensorProduct.lmul'_comp_map]
using! congr(($mul_antipode_rTensor_comul).toLinearMap))
(WithConv.ext <| by
simpa [← Algebra.TensorProduct.lmul'_comp_map]
using! congr(($mul_antipode_lTensor_comul).toLinearMap))

end HopfAlgebra
21 changes: 1 addition & 20 deletions Mathlib/RingTheory/HopfAlgebra/TensorProduct.lean
Original file line number Diff line number Diff line change
Expand Up @@ -17,26 +17,7 @@ We define the Hopf algebra instance on the tensor product of two Hopf algebras.

@[expose] public section

open Coalgebra TensorProduct HopfAlgebra

/-- Upgrade a bialgebra to a Hopf algebra by specifying the antipode as an algebra map with
appropriate conditions. -/
noncomputable abbrev HopfAlgebra.ofAlgHom {R A : Type*} [CommSemiring R] [CommSemiring A]
[Bialgebra R A] (antipode : A →ₐ[R] A)
(mul_antipode_rTensor_comul :
((Algebra.TensorProduct.lift antipode (.id R A) fun _ ↦ .all _).comp
(Bialgebra.comulAlgHom R A)) = (Algebra.ofId R A).comp (Bialgebra.counitAlgHom R A))
(mul_antipode_lTensor_comul :
(Algebra.TensorProduct.lift (.id R A) antipode fun _ _ ↦ .all _ _).comp
(Bialgebra.comulAlgHom R A) = (Algebra.ofId R A).comp (Bialgebra.counitAlgHom R A)) :
HopfAlgebra R A where
antipode := antipode
mul_antipode_rTensor_comul := by
rw [← Algebra.TensorProduct.lmul'_comp_map] at mul_antipode_rTensor_comul
exact congr(($mul_antipode_rTensor_comul).toLinearMap)
mul_antipode_lTensor_comul := by
rw [← Algebra.TensorProduct.lmul'_comp_map] at mul_antipode_lTensor_comul
exact congr(($mul_antipode_lTensor_comul).toLinearMap)
open Coalgebra HopfAlgebra

namespace TensorProduct

Expand Down
Loading