-
Notifications
You must be signed in to change notification settings - Fork 234
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(RingTheory): hopf algebra definition (#10079)
Add definition of a Hopf algebra. For FLT. Co-authored-by: al-ramsey <s2158261@ed.ac.uk> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
- Loading branch information
1 parent
9a891c3
commit ee8d1db
Showing
4 changed files
with
106 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
/- | ||
Copyright (c) 2024 Ali Ramsey. All rights reserved. | ||
Released under Apache 2.0 license as described in the file LICENSE. | ||
Authors: Ali Ramsey | ||
-/ | ||
import Mathlib.RingTheory.Bialgebra | ||
|
||
/-! | ||
# 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 an `R`-bialgebra `A`. | ||
* `HopfAlgebra.antipode` : The `R`-linear map `A →ₗ[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 = 1` and `antipode (a * b) = antipode b * antipode a`, so in particular if `A` is | ||
commutative then `antipode` is an algebra homomorphism. | ||
* If `A` is commutative then `antipode` is necessarily a bijection and its square is | ||
the identity. | ||
## References | ||
* <https://en.wikipedia.org/wiki/Hopf_algebra> | ||
* [C. Kassel, *Quantum Groups* (§III.3)][Kassel1995] | ||
-/ | ||
|
||
suppress_compilation | ||
|
||
universe 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. -/ | ||
class HopfAlgebra (R : Type u) (A : Type v) [CommSemiring R] [Semiring A] extends | ||
Bialgebra R A where | ||
/-- The antipode of the Hopf algebra. -/ | ||
antipode : A →ₗ[R] A | ||
/-- One of the antipode axioms for a Hopf algebra. -/ | ||
mul_antipode_rTensor_comul : | ||
LinearMap.mul' R A ∘ₗ antipode.rTensor A ∘ₗ comul = (Algebra.linearMap R A) ∘ₗ counit | ||
/-- One of the antipode axioms for a Hopf algebra. -/ | ||
mul_antipode_lTensor_comul : | ||
LinearMap.mul' R A ∘ₗ antipode.lTensor A ∘ₗ comul = (Algebra.linearMap R A) ∘ₗ counit | ||
|
||
namespace HopfAlgebra | ||
|
||
variable {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [HopfAlgebra R A] | ||
|
||
@[simp] | ||
theorem mul_antipode_rTensor_comul_apply (a : A) : | ||
LinearMap.mul' R A (antipode.rTensor A (Coalgebra.comul a)) = | ||
algebraMap R A (Coalgebra.counit a) := | ||
LinearMap.congr_fun mul_antipode_rTensor_comul a | ||
|
||
@[simp] | ||
theorem mul_antipode_lTensor_comul_apply (a : A) : | ||
LinearMap.mul' R A (antipode.lTensor A (Coalgebra.comul a)) = | ||
algebraMap R A (Coalgebra.counit a) := | ||
LinearMap.congr_fun mul_antipode_lTensor_comul a | ||
|
||
end HopfAlgebra | ||
|
||
section CommSemiring | ||
|
||
variable (R : Type u) [CommSemiring R] | ||
|
||
open HopfAlgebra | ||
|
||
namespace CommSemiring | ||
|
||
/-- Every commutative (semi)ring is a Hopf algebra over itself -/ | ||
instance toHopfAlgebra : HopfAlgebra R R where | ||
antipode := .id | ||
mul_antipode_rTensor_comul := by ext; simp | ||
mul_antipode_lTensor_comul := by ext; simp | ||
|
||
@[simp] | ||
theorem antipode_eq_id : antipode (R := R) (A := R) = .id := rfl | ||
|
||
end CommSemiring |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters