@@ -19,6 +19,9 @@ 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.ofConvInverse` : construct a Hopf algebra from a two-sided convolution inverse
23+ of the identity.
24+ * `HopfAlgebra.ofAlgHom` : the same for commutative `A`, with `AlgHom` hypotheses.
2225
2326 ## Main results
2427
@@ -230,3 +233,40 @@ instance toHopfAlgebra : HopfAlgebra R R where
230233theorem antipode_eq_id : antipode R (A := R) = .id := rfl
231234
232235end CommSemiring
236+
237+ namespace HopfAlgebra
238+
239+ variable {R A : Type *}
240+
241+ open Coalgebra WithConv LinearMap
242+
243+ /-- Upgrade a bialgebra to a Hopf algebra by specifying a convolution inverse of the identity. -/
244+ noncomputable abbrev ofConvInverse [CommSemiring R] [Semiring A] [Bialgebra R A]
245+ (antipode : A →ₗ[R] A)
246+ (antipode_convMul_id : toConv antipode * toConv LinearMap.id = 1 )
247+ (id_convMul_antipode : toConv LinearMap.id * toConv antipode = 1 ) :
248+ HopfAlgebra R A where
249+ antipode := antipode
250+ mul_antipode_rTensor_comul := by simpa using ! congr(($antipode_convMul_id).ofConv)
251+ mul_antipode_lTensor_comul := by simpa using ! congr(($id_convMul_antipode).ofConv)
252+
253+ /-- Upgrade a commutative bialgebra to a Hopf algebra by specifying the antipode `A →ₐ[R] A`
254+ with appropriate conditions. -/
255+ noncomputable abbrev ofAlgHom [CommSemiring R] [CommSemiring A] [Bialgebra R A]
256+ (antipode : A →ₐ[R] A)
257+ (mul_antipode_rTensor_comul :
258+ ((Algebra.TensorProduct.lift antipode (.id R A) fun _ ↦ Commute.all _).comp
259+ (Bialgebra.comulAlgHom R A)) = (Algebra.ofId R A).comp (Bialgebra.counitAlgHom R A))
260+ (mul_antipode_lTensor_comul :
261+ (Algebra.TensorProduct.lift (.id R A) antipode fun _ _ ↦ Commute.all _ _).comp
262+ (Bialgebra.comulAlgHom R A) = (Algebra.ofId R A).comp (Bialgebra.counitAlgHom R A)) :
263+ HopfAlgebra R A :=
264+ ofConvInverse antipode.toLinearMap
265+ (WithConv.ext <| by
266+ simpa [← Algebra.TensorProduct.lmul'_comp_map]
267+ using ! congr(($mul_antipode_rTensor_comul).toLinearMap))
268+ (WithConv.ext <| by
269+ simpa [← Algebra.TensorProduct.lmul'_comp_map]
270+ using ! congr(($mul_antipode_lTensor_comul).toLinearMap))
271+
272+ end HopfAlgebra
0 commit comments