Skip to content

Commit 59f7aee

Browse files
committed
feat(RingTheory/HopfAlgebra): construct from anti-algebra hom
1 parent 3ed173e commit 59f7aee

2 files changed

Lines changed: 25 additions & 20 deletions

File tree

Mathlib/RingTheory/HopfAlgebra/Basic.lean

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ In this file we define `HopfAlgebra`, and provide instances for:
1919
2020
* `HopfAlgebra R A` : the Hopf algebra structure on an `R`-bialgebra `A`.
2121
* `HopfAlgebra.antipode` : the `R`-linear map `A →ₗ[R] A`.
22+
* `HopfAlgebra.ofAlgHom` : construct a Hopf algebra structure from an algebra hom
23+
`A →ₐ[R] Aᵐᵒᵖ` satisfying the antipode identities.
2224
2325
## Main results
2426
@@ -229,3 +231,25 @@ instance toHopfAlgebra : HopfAlgebra R R where
229231
theorem antipode_eq_id : antipode R (A := R) = .id := rfl
230232

231233
end CommSemiring
234+
235+
namespace HopfAlgebra
236+
237+
variable {R A : Type*} [CommSemiring R] [Semiring A] [Bialgebra R A]
238+
239+
open Coalgebra MulOpposite
240+
241+
/-- Upgrade a bialgebra to a Hopf algebra by specifying the antipode as an algebra map
242+
`A →ₐ[R] Aᵐᵒᵖ` with appropriate conditions. -/
243+
noncomputable abbrev ofAlgHom (antipode : A →ₐ[R] Aᵐᵒᵖ)
244+
(mul_antipode_rTensor_comul :
245+
LinearMap.mul' R A ∘ₗ ((opLinearEquiv R).symm.toLinearMap ∘ₗ
246+
antipode.toLinearMap).rTensor A ∘ₗ comul = Algebra.linearMap R A ∘ₗ counit)
247+
(mul_antipode_lTensor_comul :
248+
LinearMap.mul' R A ∘ₗ ((opLinearEquiv R).symm.toLinearMap ∘ₗ
249+
antipode.toLinearMap).lTensor A ∘ₗ comul = Algebra.linearMap R A ∘ₗ counit) :
250+
HopfAlgebra R A where
251+
antipode := (opLinearEquiv R).symm.toLinearMap ∘ₗ antipode.toLinearMap
252+
mul_antipode_rTensor_comul := mul_antipode_rTensor_comul
253+
mul_antipode_lTensor_comul := mul_antipode_lTensor_comul
254+
255+
end HopfAlgebra

Mathlib/RingTheory/HopfAlgebra/TensorProduct.lean

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,7 @@ We define the Hopf algebra instance on the tensor product of two Hopf algebras.
1717

1818
@[expose] public section
1919

20-
open Coalgebra TensorProduct HopfAlgebra
21-
22-
/-- Upgrade a bialgebra to a Hopf algebra by specifying the antipode as an algebra map with
23-
appropriate conditions. -/
24-
noncomputable abbrev HopfAlgebra.ofAlgHom {R A : Type*} [CommSemiring R] [CommSemiring A]
25-
[Bialgebra R A] (antipode : A →ₐ[R] A)
26-
(mul_antipode_rTensor_comul :
27-
((Algebra.TensorProduct.lift antipode (.id R A) fun _ ↦ .all _).comp
28-
(Bialgebra.comulAlgHom R A)) = (Algebra.ofId R A).comp (Bialgebra.counitAlgHom R A))
29-
(mul_antipode_lTensor_comul :
30-
(Algebra.TensorProduct.lift (.id R A) antipode fun _ _ ↦ .all _ _).comp
31-
(Bialgebra.comulAlgHom R A) = (Algebra.ofId R A).comp (Bialgebra.counitAlgHom R A)) :
32-
HopfAlgebra R A where
33-
antipode := antipode
34-
mul_antipode_rTensor_comul := by
35-
rw [← Algebra.TensorProduct.lmul'_comp_map] at mul_antipode_rTensor_comul
36-
exact congr(($mul_antipode_rTensor_comul).toLinearMap)
37-
mul_antipode_lTensor_comul := by
38-
rw [← Algebra.TensorProduct.lmul'_comp_map] at mul_antipode_lTensor_comul
39-
exact congr(($mul_antipode_lTensor_comul).toLinearMap)
20+
open Coalgebra HopfAlgebra
4021

4122
namespace TensorProduct
4223

0 commit comments

Comments
 (0)