Documentation

Atlas.Buildings.code.HeckeAlgebra.Section6_1_Theorem

theorem HeckeAlgebra.section6_1_theorem {B' : Type u_3} {M' : CoxeterMatrix B'} {R' : Type u_4} [CommRing R'] (A : GenericAlgebra M' R') :
((have cs := M'.toCoxeterSystem; ∀ (s : B') (w : M'.Group), cs.length (cs.simple s * w) > cs.length wA.mul (A.basis (cs.simple s)) (A.basis w) = A.basis (cs.simple s * w)) (have cs := M'.toCoxeterSystem; ∀ (s : B'), A.mul (A.basis (cs.simple s)) (A.basis (cs.simple s)) = A.add (A.smul (A.sc.a s) (A.basis (cs.simple s))) (A.smul (A.sc.b s) (A.basis 1))) (∀ (x : A.carrier), A.mul (A.basis 1) x = x) (∀ (x : A.carrier), A.mul x (A.basis 1) = x) (have cs := M'.toCoxeterSystem; ∀ (s : B') (w : M'.Group), cs.length (cs.simple s * w) < cs.length wA.mul (A.basis (cs.simple s)) (A.basis w) = A.add (A.smul (A.sc.a s) (A.basis w)) (A.smul (A.sc.b s) (A.basis (cs.simple s * w)))) (have cs := M'.toCoxeterSystem; ∀ (t : B') (w : M'.Group), cs.length (w * cs.simple t) > cs.length wA.mul (A.basis w) (A.basis (cs.simple t)) = A.basis (w * cs.simple t)) (have cs := M'.toCoxeterSystem; ∀ (s : B') (w : M'.Group), cs.length (w * cs.simple s) < cs.length wA.mul (A.basis w) (A.basis (cs.simple s)) = A.add (A.smul (A.sc.a s) (A.basis w)) (A.smul (A.sc.b s) (A.basis (w * cs.simple s)))) ∀ (x y z : A.carrier), A.mul (A.mul x y) z = A.mul x (A.mul y z)) ∀ (mul₂ : A.carrierA.carrierA.carrier), (∀ (s : B') (w : M'.Group), M'.toCoxeterSystem.length (M'.toCoxeterSystem.simple s * w) > M'.toCoxeterSystem.length wmul₂ (A.basis (M'.toCoxeterSystem.simple s)) (A.basis w) = A.basis (M'.toCoxeterSystem.simple s * w))(∀ (s : B'), mul₂ (A.basis (M'.toCoxeterSystem.simple s)) (A.basis (M'.toCoxeterSystem.simple s)) = A.add (A.smul (A.sc.a s) (A.basis (M'.toCoxeterSystem.simple s))) (A.smul (A.sc.b s) (A.basis 1)))(∀ (x : A.carrier), mul₂ (A.basis 1) x = x)(∀ (x : A.carrier), mul₂ x (A.basis 1) = x)(∀ (x y z : A.carrier), mul₂ x (A.add y z) = A.add (mul₂ x y) (mul₂ x z))(∀ (x y z : A.carrier), mul₂ (A.add x y) z = A.add (mul₂ x z) (mul₂ y z))(∀ (r : R') (x y : A.carrier), mul₂ x (A.smul r y) = A.smul r (mul₂ x y))(∀ (r : R') (x y : A.carrier), mul₂ (A.smul r x) y = A.smul r (mul₂ x y))(∀ (s : B') (x y : A.carrier), mul₂ (A.basis (M'.toCoxeterSystem.simple s)) (mul₂ x y) = mul₂ (mul₂ (A.basis (M'.toCoxeterSystem.simple s)) x) y)(∀ (t : B') (x y : A.carrier), mul₂ (mul₂ x y) (A.basis (M'.toCoxeterSystem.simple t)) = mul₂ x (mul₂ y (A.basis (M'.toCoxeterSystem.simple t))))∀ (x y : A.carrier), mul₂ x y = A.mul x y

Section 6.1 main theorem (Garrett): combining existence and uniqueness for the generic Hecke algebra. The first conjunct asserts $A$ satisfies all standard length rules, identities, and associativity; the second asserts that any other multiplication on the same module satisfying these axioms equals $A.\mathrm{mul}$.