Documentation

TauCeti.Algebra.Lie.Presentation.MinusculeWeightTable.Basic

Chevalley generators from a minuscule weight table #

A minuscule weight table for a generalized Cartan matrix determines a representation of the Serre presentation of that matrix: each weight pairs with every simple coroot to -1, 0 or 1, the simple reflections permute the weights, and the raising operator at a node moves a weight whose coordinate is -1 to its reflection and kills every other weight, the lowering operator dually. Every nonzero entry of the resulting matrices is 1, so the representation needs no structure constants. The main application is to minuscule representations of simple Lie algebras, which are determined by such tables. Nothing here needs the diagram to be simply laced: the spin representation of type B and the standard representation of type C are minuscule as well.

This file packages that data as TauCeti.MinusculeWeightTable and builds from it the three families of integral matrices, proves they are an sl₂ triple at each node admitting a weight with coordinate -1 and that they satisfy the Serre relations, and lifts them to a representation of the Serre presentation. A type-specific carrier then supplies only its weight table and reads the whole construction off.

The Cartan matrix is only required to be a generalized Cartan matrix: diagonal entries 2, nonpositive off-diagonal entries, and CM i j = 0 exactly when CM j i = 0. It follows the convention of Matrix.ToLieAlgebra, in which ⁅hᵢ, eⱼ⁆ = CM i j • eⱼ, so CM i j is the pairing of the j-th simple root with the i-th simple coroot. The coordinates are pairings with simple coroots, so the reflection equation reads wt (s_i a) j = wt a j - wt a i * CM j i.

Main declarations #

Main results #

References #

structure TauCeti.MinusculeWeightTable (B : Type u_1) (ι : Type u_2) :
Type (max u_1 u_2)

A minuscule weight table for a generalized Cartan matrix. The weights are recorded in simple-coroot coordinates, so weight a i is the pairing of the a-th weight with the i-th simple coroot, and the simple reflection at i acts on the table by reflection i.

  • cartanMatrix : Matrix B B ℤ

    The Cartan matrix, with the root index second: cartanMatrix i j is the pairing of the j-th simple root with the i-th simple coroot.

  • weight : ι → B → ℤ

    The weights, in simple-coroot coordinates.

  • reflection : B → ι → ι

    The permutation of the table induced by the i-th simple reflection.

  • cartanMatrix_diag (i : B) : self.cartanMatrix i i = 2

    The Cartan matrix has diagonal entries 2.

  • cartanMatrix_offDiag_nonpos (i j : B) : i ≠ j → self.cartanMatrix i j ≤ 0

    The off-diagonal entries of the Cartan matrix are nonpositive.

  • cartanMatrix_zero_comm (i j : B) : self.cartanMatrix i j = 0 ↔ self.cartanMatrix j i = 0

    An entry of the Cartan matrix vanishes exactly when its transpose entry does.

  • weight_eq_neg_one_or_eq_zero_or_eq_one (a : ι) (i : B) : self.weight a i = -1 ∨ self.weight a i = 0 ∨ self.weight a i = 1

    Minusculeness: every coordinate of every weight is -1, 0 or 1.

  • weight_reflection (i : B) (a : ι) (j : B) : self.weight (self.reflection i a) j = self.weight a j - self.weight a i * self.cartanMatrix j i

    The reflection equation wt (s_i a) j = wt a j - wt a i * CM j i.

  • weight_injective : Function.Injective self.weight

    Distinct indices name distinct weights.

Instances For

    Extensionality #

    theorem TauCeti.MinusculeWeightTable.ext {B : Type u_1} {ι : Type u_2} {T₁ T₂ : MinusculeWeightTable B ι} (hcartan : T₁.cartanMatrix = T₂.cartanMatrix) (hweight : T₁.weight = T₂.weight) :
    T₁ = T₂

    A minuscule weight table is determined by its Cartan matrix and its weights. The simple reflections are determined by them through the reflection equation, the weights being injective, and the remaining fields are proofs.

    theorem TauCeti.MinusculeWeightTable.ext_iff {B : Type u_1} {ι : Type u_2} {T₁ T₂ : MinusculeWeightTable B ι} :
    T₁ = T₂ ↔ T₁.cartanMatrix = T₂.cartanMatrix ∧ T₁.weight = T₂.weight

    Symmetries #

    structure TauCeti.MinusculeWeightTable.Symmetry {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) :
    Type (max u_1 u_2)

    A symmetry of a minuscule weight table. It consists of compatible permutations of the simple nodes and the weight indices which preserve the Cartan matrix and the weight coordinates. The reflection permutations and Chevalley-generator matrices are then equivariant automatically.

    Instances For
      theorem TauCeti.MinusculeWeightTable.Symmetry.ext {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) {S R : T.Symmetry} (hnode : S.nodePerm = R.nodePerm) (hindex : S.indexPerm = R.indexPerm) :
      S = R

      Two symmetries of a minuscule weight table are equal when their node and weight-index permutations are equal.

      A symmetry is determined by its pair of node and weight-index permutations.

      The identity symmetry of a minuscule weight table.

      Equations
      Instances For

        The composite of two symmetries of a minuscule weight table.

        Equations
        Instances For

          The inverse of a symmetry of a minuscule weight table.

          Equations
          Instances For
            @[instance_reducible]

            The symmetries of a minuscule weight table form a group under simultaneous composition of their node and weight-index permutations.

            Equations
            • One or more equations did not get rendered due to their size.
            @[simp]
            theorem TauCeti.MinusculeWeightTable.Symmetry.reflection_apply {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) (S : T.Symmetry) (i : B) (a : ι) :

            A symmetry of a minuscule weight table intertwines its simple reflections.

            The permutation of the positive and negative simple-root indices induced by a table symmetry: its node permutation on both copies.

            Equations
            Instances For
              @[simp]
              theorem TauCeti.MinusculeWeightTable.Symmetry.rootPerm_inl {B : Type u_1} {ι : Type u_2} {T : MinusculeWeightTable B ι} (S : T.Symmetry) (i : B) :
              @[simp]
              theorem TauCeti.MinusculeWeightTable.Symmetry.rootPerm_inr {B : Type u_1} {ι : Type u_2} {T : MinusculeWeightTable B ι} (S : T.Symmetry) (i : B) :
              @[simp]
              theorem TauCeti.MinusculeWeightTable.Symmetry.rootPerm_pow {B : Type u_1} {ι : Type u_2} {T : MinusculeWeightTable B ι} (S : T.Symmetry) (m : ℕ) :
              (S ^ m).rootPerm = S.rootPerm ^ m

              The reflected weights #

              @[simp]
              theorem TauCeti.MinusculeWeightTable.weight_reflection_self {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) (i : B) (a : ι) :
              T.weight (T.reflection i a) i = -T.weight a i

              A simple reflection negates the corresponding simple-coroot coordinate.

              @[simp]
              theorem TauCeti.MinusculeWeightTable.reflection_apply_apply {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) (i : B) (a : ι) :
              T.reflection i (T.reflection i a) = a

              A simple reflection is an involution on the table.

              theorem TauCeti.MinusculeWeightTable.weight_reflection_of_cartanMatrix_eq_zero {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) (i j : B) (a : ι) (hij : T.cartanMatrix i j = 0) :
              T.weight (T.reflection i a) j = T.weight a j

              A reflection at a node orthogonal to j leaves the j-th coordinate alone.

              theorem TauCeti.MinusculeWeightTable.reflection_comm_of_cartanMatrix_eq_zero {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) (i j : B) (a : ι) (hij : T.cartanMatrix i j = 0) :
              T.reflection i (T.reflection j a) = T.reflection j (T.reflection i a)

              Reflections at two orthogonal nodes commute on the table.

              The raising and lowering targets #

              The Chevalley generators #

              def TauCeti.MinusculeWeightTable.raisingMatrix {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) [DecidableEq ι] (i : B) :
              Matrix ι ι ℤ

              The raising matrix of the i-th simple root on the integral weight basis.

              Equations
              Instances For
                def TauCeti.MinusculeWeightTable.loweringMatrix {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) [DecidableEq ι] (i : B) :
                Matrix ι ι ℤ

                The lowering matrix of the i-th simple root on the integral weight basis.

                Equations
                Instances For

                  The diagonal matrix of the i-th simple coroot on the integral weight basis.

                  Equations
                  Instances For
                    @[simp]
                    theorem TauCeti.MinusculeWeightTable.raisingMatrix_apply {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) [DecidableEq ι] (i : B) (a b : ι) :
                    T.raisingMatrix i a b = if T.weight b i = -1 ∧ a = T.reflection i b then 1 else 0

                    The entry formula for a simple raising matrix.

                    @[simp]
                    theorem TauCeti.MinusculeWeightTable.loweringMatrix_apply {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) [DecidableEq ι] (i : B) (a b : ι) :
                    T.loweringMatrix i a b = if T.weight b i = 1 ∧ a = T.reflection i b then 1 else 0

                    The entry formula for a simple lowering matrix.

                    @[simp]
                    theorem TauCeti.MinusculeWeightTable.raisingMatrix_map_col {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) [DecidableEq ι] {R : Type u_3} [CommRing R] (i : B) (a : ι) :

                    The column of a raising matrix over any commutative ring is the reflected coordinate vector exactly at a raising edge, and otherwise is zero.

                    @[simp]
                    theorem TauCeti.MinusculeWeightTable.loweringMatrix_map_col {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) [DecidableEq ι] {R : Type u_3} [CommRing R] (i : B) (a : ι) :

                    The column of a lowering matrix over any commutative ring is the reflected coordinate vector exactly at a lowering edge, and otherwise is zero.

                    @[simp]
                    theorem TauCeti.MinusculeWeightTable.cartanGeneratorMatrix_apply {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) [DecidableEq ι] (i : B) (a b : ι) :
                    T.cartanGeneratorMatrix i a b = if a = b then T.weight b i else 0

                    The entry formula for a simple Cartan generator matrix.

                    theorem TauCeti.MinusculeWeightTable.Symmetry.raisingMatrix_apply {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) [DecidableEq ι] (S : T.Symmetry) (i : B) (a b : ι) :

                    A table symmetry carries each raising matrix to the matrix at the image node, entrywise along the weight-index permutation.

                    theorem TauCeti.MinusculeWeightTable.Symmetry.loweringMatrix_apply {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) [DecidableEq ι] (S : T.Symmetry) (i : B) (a b : ι) :

                    A table symmetry carries each lowering matrix to the matrix at the image node, entrywise along the weight-index permutation.

                    A table symmetry carries each Cartan-generator matrix to the matrix at the image node, entrywise along the weight-index permutation.

                    @[simp]

                    Reindexing a raising matrix by a table symmetry gives the raising matrix at the original node.

                    @[simp]

                    Reindexing a lowering matrix by a table symmetry gives the lowering matrix at the original node.

                    @[simp]

                    Reindexing a Cartan-generator matrix by a table symmetry gives the Cartan-generator matrix at the original node.

                    The Serre relations #

                    @[simp]
                    theorem TauCeti.MinusculeWeightTable.raisingMatrix_pow_two {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) [DecidableEq ι] [Fintype ι] (i : B) :
                    T.raisingMatrix i ^ 2 = 0

                    The raising matrix at each node squares to zero. The raising operator carries a weight of coordinate -1 to its reflection, whose coordinate is 1, and kills every weight of coordinate 1, so two raising steps never compose.

                    @[simp]

                    The lowering matrix at each node squares to zero, dually to the raising matrix.

                    theorem TauCeti.MinusculeWeightTable.isSl2Triple {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) [DecidableEq ι] [Fintype ι] (i : B) (hi : ∃ (a : ι), T.weight a i = -1) :

                    At a node carrying a weight of coordinate -1, the three integral matrices of the table form an sl₂ triple. The hypothesis is what makes the Cartan generator nonzero; at a node whose coordinates all vanish the three matrices are zero, and IsSl2Triple asks its h to be nonzero.

                    theorem TauCeti.MinusculeWeightTable.raisingMatrix_eq_zero {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) [DecidableEq ι] (i : B) (hi : ¬∃ (a : ι), T.weight a i = -1) :

                    A node no weight is negative at carries the zero raising matrix.

                    theorem TauCeti.MinusculeWeightTable.loweringMatrix_eq_zero {B : Type u_1} {ι : Type u_2} (T : MinusculeWeightTable B ι) [DecidableEq ι] (i : B) (hi : ¬∃ (a : ι), T.weight a i = -1) :

                    A node no weight is negative at carries the zero lowering matrix, a weight of coordinate 1 reflecting to one of coordinate -1.

                    The integral matrices of a minuscule weight table satisfy the Serre relations of its Cartan matrix.

                    The integral representation of the Serre presentation named by a minuscule weight table.

                    Equations
                    Instances For
                      @[simp]

                      The representation sends a Cartan generator to its diagonal weight matrix.

                      @[simp]

                      The representation sends a positive generator to its raising matrix.

                      @[simp]

                      The representation sends a negative generator to its lowering matrix.