Documentation

LeanPool.Ado.LinearAlgebra.RootSystem.SimpleReflections

Generation of the Weyl group by simple reflections #

For a base of a finite reduced crystallographic root system, every root reflection belongs to the subgroup generated by the reflections in the simple roots. Since the Weyl group is generated by all root reflections, the simple reflections generate the Weyl group.

The proof uses Mathlib's RootPairing.Base.induction_reflect, RootPairing.reflection_reflectionPerm, and RootPairing.weylGroup.induction: reflecting a positive root in a simple root conjugates its reflection by the corresponding simple reflection, while root negation does not change the reflection.

Main results #

References #

This file implements “Simple reflections generate” in Layer 2 of TauCetiRoadmap/RepresentationTheory/RootSystems/README.md. The argument follows the standard positive-root induction described there.

noncomputable def Ado.wordProd {ι : Type u} {R : Type v} {M : Type w} {N : Type x} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (b : P.Base) (l : List ↥b.support) :

The Weyl-group element spelled by a word in the simple reflections of a base.

Equations
Instances For
    @[simp]
    theorem Ado.wordProd_nil {ι : Type u} {R : Type v} {M : Type w} {N : Type x} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} (b : P.Base) :
    wordProd P b [] = 1
    @[simp]
    theorem Ado.wordProd_cons {ι : Type u} {R : Type v} {M : Type w} {N : Type x} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} (b : P.Base) (i : ↥b.support) (l : List ↥b.support) :
    @[simp]
    theorem Ado.wordProd_append {ι : Type u} {R : Type v} {M : Type w} {N : Type x} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} (b : P.Base) (l l' : List ↥b.support) :
    wordProd P b (l ++ l') = wordProd P b l * wordProd P b l'
    @[simp]
    theorem Ado.wordProd_reverse {ι : Type u} {R : Type v} {M : Type w} {N : Type x} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} (b : P.Base) (l : List ↥b.support) :

    Reversing a word inverts the Weyl-group element it spells, because a simple reflection is its own inverse.

    theorem Ado.weylGroup_eq_closure_simple {ι : Type u} {R : Type v} {M : Type w} {N : Type x} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Finite ι] [CharZero R] [IsDomain R] [P.IsCrystallographic] [P.IsReduced] (b : P.Base) :

    The simple reflections associated to a base generate the Weyl group.

    theorem Ado.exists_wordProd_eq {ι : Type u} {R : Type v} {M : Type w} {N : Type x} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Finite ι] [CharZero R] [IsDomain R] [P.IsCrystallographic] [P.IsReduced] (b : P.Base) (w : ↥P.weylGroup) :
    ∃ (l : List ↥b.support), wordProd P b l = w

    Every Weyl-group element is spelled by a word in the simple reflections.

    theorem RootPairing.weylGroup.ofIdx_ne_ofIdx_of_ne {ι : Type u} {R : Type v} {M : Type w} {N : Type x} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (b : P.Base) [NeZero 2] {i j : ι} (hi : i ∈ b.support) (hj : j ∈ b.support) (hij : i ≠ j) :
    ofIdx P i ≠ ofIdx P j

    Distinct simple roots give distinct simple reflections: the two reflections already disagree on the second simple root, since the two simple roots are linearly independent.