@@ -19,33 +19,34 @@ antimultiplicative antipode data on generators.
1919
2020 ## Main results
2121
22- * `HopfAlgebra .convMul_eq_one_of_adjoin_eq_top_left` and
23- `HopfAlgebra .convMul_eq_one_of_adjoin_eq_top_right`: a pointwise one-sided convolution inverse of
22+ * `LinearMap .convMul_eq_one_of_adjoin_eq_top_left` and
23+ `LinearMap .convMul_eq_one_of_adjoin_eq_top_right`: a pointwise one-sided convolution inverse of
2424 a multiplicative map on generators is a global one.
25- * `HopfAlgebra.eq_antipode_of_convMul_id_eq_one` : a left convolution inverse of `id` is the
25+ * `HopfAlgebra.eq_antipode_of_convMul_id_eq_one` and
26+ `HopfAlgebra.eq_antipode_of_id_convMul_eq_one`: a one-sided convolution inverse of `id` is the
2627 antipode.
27- * `HopfAlgebra.eq_antipode_of_adjoin_eq_top` : a left convolution inverse of `id` on a generating
28- set is the antipode.
28+ * `HopfAlgebra.eq_antipode_of_adjoin_eq_top_left` and
29+ `HopfAlgebra.eq_antipode_of_adjoin_eq_top_right`: a one-sided convolution inverse of `id` on a
30+ generating set is the antipode.
2931 -/
3032
3133public section
3234
33- namespace HopfAlgebra
34-
3535open Algebra Coalgebra LinearMap WithConv
3636
3737variable {R A B : Type *} [CommSemiring R]
3838
39+ namespace LinearMap
40+
3941section ExtensionPrinciple
4042
4143/-! ### Extension principle from algebra generators -/
4244
4345variable [Semiring A] [Bialgebra R A] [Semiring B] [Algebra R B]
4446 {g f : A →ₗ[R] B} {s : Set A}
4547
46- /-- If a unital antimultiplicative map `g` and a unital multiplicative map `f` satisfy
47- `toConv g * toConv f = 1` pointwise on an algebra-generating set, then they do so globally:
48- a left convolution inverse on generators is a left convolution inverse. -/
48+ /-- If a unital antimultiplicative map `g` is a left convolution inverse of a unital
49+ multiplicative map `f` pointwise on an algebra-generating set, then `toConv g * toConv f = 1`. -/
4950theorem convMul_eq_one_of_adjoin_eq_top_left
5051 (g_one : g 1 = 1 ) (g_mul : ∀ x y, g (x * y) = g y * g x)
5152 (f_one : f 1 = 1 ) (f_mul : ∀ x y, f (x * y) = f x * f y)
@@ -54,7 +55,7 @@ theorem convMul_eq_one_of_adjoin_eq_top_left
5455 toConv g * toConv f = 1 := by
5556 ext x; refine adjoin_le
5657 (S := (eqLocus (toConv g * toConv f).ofConv (ofConv 1 )).toSubalgebra ?_ fun a b ha hb => ?_)
57- g_convMul_f (adjoin_eq_top ▸ mem_top : x ∈ adjoin R s )
58+ g_convMul_f (adjoin_eq_top.ge mem_top)
5859 · simp [g_one, f_one, TensorProduct.one_def]
5960 let 𝓡a := ℛ R a; let 𝓡b := ℛ R b
6061 simp only [mem_eqLocus, 𝓡a.convMul_apply, 𝓡b.convMul_apply, convOne_apply] at ha hb ⊢
@@ -66,8 +67,8 @@ theorem convMul_eq_one_of_adjoin_eq_top_left
6667 rw [Finset.sum_comm]; simp_rw [← Finset.sum_mul, ← Finset.mul_sum, ha, ← commutes]
6768 simp_rw [mul_assoc, ← Finset.mul_sum, hb, ← map_mul, ← Bialgebra.counit_mul]
6869
69- /-- Analogue of `convMul_eq_one_of_adjoin_eq_top_left` for `toConv f * toConv g = 1`:
70- a right convolution inverse on generators is a right convolution inverse . -/
70+ /-- If a unital antimultiplicative map `g` is a right convolution inverse of a unital
71+ multiplicative map `f` pointwise on an algebra-generating set, then `toConv f * toConv g = 1` . -/
7172theorem convMul_eq_one_of_adjoin_eq_top_right
7273 (g_one : g 1 = 1 ) (g_mul : ∀ x y, g (x * y) = g y * g x)
7374 (f_one : f 1 = 1 ) (f_mul : ∀ x y, f (x * y) = f x * f y)
@@ -76,7 +77,7 @@ theorem convMul_eq_one_of_adjoin_eq_top_right
7677 toConv f * toConv g = 1 := by
7778 ext x; refine adjoin_le
7879 (S := (eqLocus (toConv f * toConv g).ofConv (ofConv 1 )).toSubalgebra ?_ fun a b ha hb => ?_)
79- f_convMul_g (adjoin_eq_top ▸ mem_top : x ∈ adjoin R s )
80+ f_convMul_g (adjoin_eq_top.ge mem_top)
8081 · simp [g_one, f_one, TensorProduct.one_def]
8182 let 𝓡a := ℛ R a; let 𝓡b := ℛ R b
8283 simp only [mem_eqLocus, 𝓡a.convMul_apply, 𝓡b.convMul_apply, convOne_apply] at ha hb ⊢
@@ -91,6 +92,10 @@ theorem convMul_eq_one_of_adjoin_eq_top_right
9192
9293end ExtensionPrinciple
9394
95+ end LinearMap
96+
97+ namespace HopfAlgebra
98+
9499section Construction
95100variable [Semiring A] [Bialgebra R A] {S₀ : A →ₗ[R] A} {s : Set A}
96101
@@ -121,10 +126,14 @@ theorem eq_antipode_of_convMul_id_eq_one (h : toConv S₀ * toConv LinearMap.id
121126 S₀ = antipode R :=
122127 toConv_injective (left_inv_eq_right_inv h id_mul_antipode)
123128
124- variable (S₀) in
129+ /-- A right convolution inverse of the identity is the antipode. -/
130+ theorem eq_antipode_of_id_convMul_eq_one (h : toConv LinearMap.id * toConv S₀ = 1 ) :
131+ S₀ = antipode R :=
132+ toConv_injective (left_inv_eq_right_inv antipode_mul_id h).symm
133+
125134/-- A unital antimultiplicative map that is a left convolution inverse of the identity on an
126135algebra-generating set is the antipode. -/
127- theorem eq_antipode_of_adjoin_eq_top (S₀_one : S₀ 1 = 1 )
136+ theorem eq_antipode_of_adjoin_eq_top_left (S₀_one : S₀ 1 = 1 )
128137 (S₀_mul : ∀ x y, S₀ (x * y) = S₀ y * S₀ x) (adjoin_eq_top : adjoin R s = ⊤)
129138 (S₀_convMul_id : ∀ p ∈ s,
130139 (toConv S₀ * toConv (.id : A →ₗ[R] A)) p = (1 : WithConv (A →ₗ[R] A)) p) :
@@ -133,6 +142,17 @@ theorem eq_antipode_of_adjoin_eq_top (S₀_one : S₀ 1 = 1)
133142 (convMul_eq_one_of_adjoin_eq_top_left S₀_one S₀_mul rfl (fun _ _ => rfl)
134143 adjoin_eq_top S₀_convMul_id)
135144
145+ /-- A unital antimultiplicative map that is a right convolution inverse of the identity on an
146+ algebra-generating set is the antipode. -/
147+ theorem eq_antipode_of_adjoin_eq_top_right (S₀_one : S₀ 1 = 1 )
148+ (S₀_mul : ∀ x y, S₀ (x * y) = S₀ y * S₀ x) (adjoin_eq_top : adjoin R s = ⊤)
149+ (id_convMul_S₀ : ∀ p ∈ s,
150+ (toConv (.id : A →ₗ[R] A) * toConv S₀) p = (1 : WithConv (A →ₗ[R] A)) p) :
151+ S₀ = antipode R :=
152+ eq_antipode_of_id_convMul_eq_one
153+ (convMul_eq_one_of_adjoin_eq_top_right S₀_one S₀_mul rfl (fun _ _ => rfl)
154+ adjoin_eq_top id_convMul_S₀)
155+
136156end Uniqueness
137157
138158end HopfAlgebra
0 commit comments