Documentation

Mathlib.Algebra.Lie.Weights.Basic

Weight spaces of Lie modules of nilpotent Lie algebras #

Just as a key tool when studying the behaviour of a linear operator is to decompose the space on which it acts into a sum of (generalised) eigenspaces, a key tool when studying a representation M of Lie algebra L is to decompose M into a sum of simultaneous eigenspaces of x as x ranges over L. These simultaneous generalised eigenspaces are known as the weight spaces of M.

When L is nilpotent, it follows from the binomial theorem that weight spaces are Lie submodules.

Basic definitions and properties of the above ideas are provided in this file.

Main definitions #

References #

Tags #

lie character, eigenvalue, eigenspace, weight, weight vector, root, root vector

def LieModule.weightSpace {R : Type u_2} {L : Type u_3} (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (ฯ‡ : L โ†’ R) :

If M is a representation of a Lie algebra L and ฯ‡ : L โ†’ R is a family of scalars, then weightSpace M ฯ‡ is the intersection of the ฯ‡ x-eigenspaces of the action of x on M as x ranges over L.

Equations
    Instances For
      theorem LieModule.mem_weightSpace {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (ฯ‡ : L โ†’ R) (m : M) :
      m โˆˆ weightSpace M ฯ‡ โ†” โˆ€ (x : L), โ…x, mโ† = ฯ‡ x โ€ข m
      theorem LieModule.weight_vector_multiplication {R : Type u_2} {L : Type u_3} [CommRing R] [LieRing L] [LieAlgebra R L] (Mโ‚ : Type u_5) (Mโ‚‚ : Type u_6) (Mโ‚ƒ : Type u_7) [AddCommGroup Mโ‚] [Module R Mโ‚] [LieRingModule L Mโ‚] [LieModule R L Mโ‚] [AddCommGroup Mโ‚‚] [Module R Mโ‚‚] [LieRingModule L Mโ‚‚] [LieModule R L Mโ‚‚] [AddCommGroup Mโ‚ƒ] [Module R Mโ‚ƒ] [LieRingModule L Mโ‚ƒ] [LieModule R L Mโ‚ƒ] (g : TensorProduct R Mโ‚ Mโ‚‚ โ†’โ‚—โ…R,Lโ† Mโ‚ƒ) (ฯ‡โ‚ ฯ‡โ‚‚ : R) (x : L) :
      (โ†‘g โˆ˜โ‚— TensorProduct.mapIncl (((toEnd R L Mโ‚) x).maxGenEigenspace ฯ‡โ‚) (((toEnd R L Mโ‚‚) x).maxGenEigenspace ฯ‡โ‚‚)).range โ‰ค ((toEnd R L Mโ‚ƒ) x).maxGenEigenspace (ฯ‡โ‚ + ฯ‡โ‚‚)

      See also bourbaki1975b Chapter VII ยง1.1, Proposition 2 (ii).

      theorem LieModule.lie_mem_maxGenEigenspace_toEnd {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] {ฯ‡โ‚ ฯ‡โ‚‚ : R} {x y : L} {m : M} (hy : y โˆˆ ((toEnd R L L) x).maxGenEigenspace ฯ‡โ‚) (hm : m โˆˆ ((toEnd R L M) x).maxGenEigenspace ฯ‡โ‚‚) :
      โ…y, mโ† โˆˆ ((toEnd R L M) x).maxGenEigenspace (ฯ‡โ‚ + ฯ‡โ‚‚)
      def LieModule.genWeightSpaceOf {R : Type u_2} {L : Type u_3} (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (ฯ‡ : R) (x : L) :

      If M is a representation of a nilpotent Lie algebra L, ฯ‡ is a scalar, and x : L, then genWeightSpaceOf M ฯ‡ x is the maximal generalized ฯ‡-eigenspace of the action of x on M.

      It is a Lie submodule because L is nilpotent.

      Equations
        Instances For
          theorem LieModule.mem_genWeightSpaceOf {R : Type u_2} {L : Type u_3} (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (ฯ‡ : R) (x : L) (m : M) :
          m โˆˆ genWeightSpaceOf M ฯ‡ x โ†” โˆƒ (k : โ„•), (((toEnd R L M) x - ฯ‡ โ€ข 1) ^ k) m = 0
          theorem LieModule.coe_genWeightSpaceOf_zero {R : Type u_2} {L : Type u_3} (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (x : L) :
          โ†‘(genWeightSpaceOf M 0 x) = โจ† (k : โ„•), ((toEnd R L M) x ^ k).ker
          def LieModule.genWeightSpace {R : Type u_2} {L : Type u_3} (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (ฯ‡ : L โ†’ R) :

          If M is a representation of a nilpotent Lie algebra L and ฯ‡ : L โ†’ R is a family of scalars, then genWeightSpace M ฯ‡ is the intersection of the maximal generalized ฯ‡ x-eigenspaces of the action of x on M as x ranges over L.

          It is a Lie submodule because L is nilpotent.

          Equations
            Instances For
              theorem LieModule.mem_genWeightSpace {R : Type u_2} {L : Type u_3} (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (ฯ‡ : L โ†’ R) (m : M) :
              m โˆˆ genWeightSpace M ฯ‡ โ†” โˆ€ (x : L), โˆƒ (k : โ„•), (((toEnd R L M) x - ฯ‡ x โ€ข 1) ^ k) m = 0
              theorem LieModule.genWeightSpace_le_genWeightSpaceOf {R : Type u_2} {L : Type u_3} (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (x : L) (ฯ‡ : L โ†’ R) :
              theorem LieModule.weightSpace_le_genWeightSpace {R : Type u_2} {L : Type u_3} (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (ฯ‡ : L โ†’ R) :
              structure LieModule.Weight (R : Type u_2) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] :
              Type (max u_2 u_3)

              A weight of a Lie module is a map L โ†’ R such that the corresponding weight space is non-trivial.

              Instances For
                instance LieModule.Weight.instFunLike {R : Type u_2} {L : Type u_3} (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] :
                FunLike (Weight R L M) L R
                Equations
                  @[simp]
                  theorem LieModule.Weight.coe_weight_mk {R : Type u_2} {L : Type u_3} (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (ฯ‡ : L โ†’ R) (h : genWeightSpace M ฯ‡ โ‰  โŠฅ) :
                  โ‡‘{ toFun := ฯ‡, genWeightSpace_ne_bot' := h } = ฯ‡
                  theorem LieModule.Weight.genWeightSpace_ne_bot {R : Type u_2} {L : Type u_3} (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (ฯ‡ : Weight R L M) :
                  theorem LieModule.Weight.ext {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] {ฯ‡โ‚ ฯ‡โ‚‚ : Weight R L M} (h : โˆ€ (x : L), ฯ‡โ‚ x = ฯ‡โ‚‚ x) :
                  ฯ‡โ‚ = ฯ‡โ‚‚
                  theorem LieModule.Weight.ext_iff {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] {ฯ‡โ‚ ฯ‡โ‚‚ : Weight R L M} :
                  ฯ‡โ‚ = ฯ‡โ‚‚ โ†” โˆ€ (x : L), ฯ‡โ‚ x = ฯ‡โ‚‚ x
                  theorem LieModule.Weight.ext_iff' {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] {ฯ‡โ‚ ฯ‡โ‚‚ : Weight R L M} :
                  โ‡‘ฯ‡โ‚ = โ‡‘ฯ‡โ‚‚ โ†” ฯ‡โ‚ = ฯ‡โ‚‚
                  theorem LieModule.Weight.exists_ne_zero {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (ฯ‡ : Weight R L M) :
                  โˆƒ x โˆˆ genWeightSpace M โ‡‘ฯ‡, x โ‰  0
                  @[simp]
                  theorem LieModule.Weight.coe_zero {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] [Nontrivial โ†ฅ(genWeightSpace M 0)] :
                  โ‡‘0 = 0
                  theorem LieModule.Weight.zero_apply {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] [Nontrivial โ†ฅ(genWeightSpace M 0)] (x : L) :
                  0 x = 0
                  def LieModule.Weight.IsZero {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (ฯ‡ : Weight R L M) :

                  The proposition that a weight of a Lie module is zero.

                  We make this definition because we cannot define a Zero (Weight R L M) instance since the weight space of the zero function can be trivial.

                  Equations
                    Instances For
                      @[simp]
                      theorem LieModule.Weight.IsZero.eq {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] {ฯ‡ : Weight R L M} (hฯ‡ : ฯ‡.IsZero) :
                      โ‡‘ฯ‡ = 0
                      @[simp]
                      theorem LieModule.Weight.coe_eq_zero_iff {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (ฯ‡ : Weight R L M) :
                      โ‡‘ฯ‡ = 0 โ†” ฯ‡.IsZero
                      theorem LieModule.Weight.isZero_iff_eq_zero {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] [Nontrivial โ†ฅ(genWeightSpace M 0)] {ฯ‡ : Weight R L M} :
                      ฯ‡.IsZero โ†” ฯ‡ = 0
                      @[reducible, inline]
                      abbrev LieModule.Weight.IsNonZero {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (ฯ‡ : Weight R L M) :

                      The proposition that a weight of a Lie module is non-zero.

                      Equations
                        Instances For
                          theorem LieModule.Weight.isNonZero_iff_ne_zero {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] [Nontrivial โ†ฅ(genWeightSpace M 0)] {ฯ‡ : Weight R L M} :
                          ฯ‡.IsNonZero โ†” ฯ‡ โ‰  0
                          def LieModule.Weight.equivSetOf (R : Type u_2) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] :
                          Weight R L M โ‰ƒ โ†‘{ฯ‡ : L โ†’ R | genWeightSpace M ฯ‡ โ‰  โŠฅ}

                          The set of weights is equivalent to a subtype.

                          Equations
                            Instances For
                              theorem LieModule.Weight.genWeightSpaceOf_ne_bot {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (ฯ‡ : Weight R L M) (x : L) :
                              theorem LieModule.Weight.hasEigenvalueAt {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (ฯ‡ : Weight R L M) (x : L) :
                              ((toEnd R L M) x).HasEigenvalue (ฯ‡ x)
                              theorem LieModule.Weight.apply_eq_zero_of_isNilpotent {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] [IsDomain R] [Module.IsTorsionFree R M] [IsReduced R] (x : L) (h : _root_.IsNilpotent ((toEnd R L M) x)) (ฯ‡ : Weight R L M) :
                              ฯ‡ x = 0
                              theorem LieModule.coe_genWeightSpace_of_top {R : Type u_2} {L : Type u_3} (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (ฯ‡ : L โ†’ R) :
                              โ†‘(genWeightSpace M (ฯ‡ โˆ˜ โ‡‘โŠค.incl)) = โ†‘(genWeightSpace M ฯ‡)
                              theorem LieModule.exists_genWeightSpace_le_ker_of_isNoetherian {R : Type u_2} {L : Type u_3} (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] [IsNoetherian R M] (ฯ‡ : L โ†’ R) (x : L) :
                              โˆƒ (k : โ„•), โ†‘(genWeightSpace M ฯ‡) โ‰ค LinearMap.ker (((toEnd R L M) x - (algebraMap R (Module.End R M)) (ฯ‡ x)) ^ k)
                              theorem LieModule.isNilpotent_toEnd_sub_algebraMap {R : Type u_2} {L : Type u_3} (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] [IsNoetherian R M] (ฯ‡ : L โ†’ R) (x : L) :
                              _root_.IsNilpotent ((toEnd R L โ†ฅ(genWeightSpace M ฯ‡)) x - (algebraMap R (Module.End R โ†ฅ(genWeightSpace M ฯ‡))) (ฯ‡ x))
                              theorem LieModule.isNilpotent_toEnd_genWeightSpace_zero {R : Type u_2} {L : Type u_3} (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] [IsNoetherian R M] (x : L) :
                              _root_.IsNilpotent ((toEnd R L โ†ฅ(genWeightSpace M 0)) x)

                              A (nilpotent) Lie algebra acts nilpotently on the zero weight space of a Noetherian Lie module.

                              By Engel's theorem, the zero weight space of a Noetherian Lie module is nilpotent.

                              def LieModule.posFittingCompOf (R : Type u_2) {L : Type u_3} (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (x : L) :

                              If M is a representation of a nilpotent Lie algebra L, and x : L, then posFittingCompOf R M x is the infimum of the decreasing system range ฯ†โ‚“ โЇ range ฯ†โ‚“ยฒ โЇ range ฯ†โ‚“ยณ โЇ โ‹ฏ where ฯ†โ‚“ : End R M := toEnd R L M x. We call this the "positive Fitting component" because with appropriate assumptions (e.g., R is a field and M is finite-dimensional) ฯ†โ‚“ induces the so-called Fitting decomposition: M = Mโ‚€ โŠ• Mโ‚ where Mโ‚€ = genWeightSpaceOf M 0 x and Mโ‚ = posFittingCompOf R M x.

                              It is a Lie submodule because L is nilpotent.

                              Equations
                                Instances For
                                  theorem LieModule.mem_posFittingCompOf (R : Type u_2) {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (x : L) (m : M) :
                                  m โˆˆ posFittingCompOf R M x โ†” โˆ€ (k : โ„•), โˆƒ (n : M), ((toEnd R L M) x ^ k) n = m
                                  def LieModule.posFittingComp (R : Type u_2) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] :

                                  If M is a representation of a nilpotent Lie algebra L with coefficients in R, then posFittingComp R L M is the span of the positive Fitting components of the action of x on M, as x ranges over L.

                                  It is a Lie submodule because L is nilpotent.

                                  Equations
                                    Instances For
                                      theorem LieModule.mem_posFittingComp (R : Type u_2) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (m : M) :
                                      m โˆˆ posFittingComp R L M โ†” m โˆˆ โจ† (x : L), posFittingCompOf R M x
                                      theorem LieModule.map_posFittingComp_le {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] {Mโ‚‚ : Type u_5} [AddCommGroup Mโ‚‚] [Module R Mโ‚‚] [LieRingModule L Mโ‚‚] [LieModule R L Mโ‚‚] (f : M โ†’โ‚—โ…R,Lโ† Mโ‚‚) :
                                      theorem LieModule.map_genWeightSpace_le {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] {Mโ‚‚ : Type u_5} [AddCommGroup Mโ‚‚] [Module R Mโ‚‚] [LieRingModule L Mโ‚‚] [LieModule R L Mโ‚‚] {ฯ‡ : L โ†’ R} (f : M โ†’โ‚—โ…R,Lโ† Mโ‚‚) :
                                      theorem LieModule.comap_genWeightSpace_eq_of_injective {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] {Mโ‚‚ : Type u_5} [AddCommGroup Mโ‚‚] [Module R Mโ‚‚] [LieRingModule L Mโ‚‚] [LieModule R L Mโ‚‚] {ฯ‡ : L โ†’ R} {f : M โ†’โ‚—โ…R,Lโ† Mโ‚‚} (hf : Function.Injective โ‡‘f) :
                                      theorem LieModule.map_genWeightSpace_eq_of_injective {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] {Mโ‚‚ : Type u_5} [AddCommGroup Mโ‚‚] [Module R Mโ‚‚] [LieRingModule L Mโ‚‚] [LieModule R L Mโ‚‚] {ฯ‡ : L โ†’ R} {f : M โ†’โ‚—โ…R,Lโ† Mโ‚‚} (hf : Function.Injective โ‡‘f) :
                                      LieSubmodule.map f (genWeightSpace M ฯ‡) = genWeightSpace Mโ‚‚ ฯ‡ โŠ“ f.range
                                      theorem LieModule.map_genWeightSpace_eq {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] {Mโ‚‚ : Type u_5} [AddCommGroup Mโ‚‚] [Module R Mโ‚‚] [LieRingModule L Mโ‚‚] [LieModule R L Mโ‚‚] {ฯ‡ : L โ†’ R} (e : M โ‰ƒโ‚—โ…R,Lโ† Mโ‚‚) :
                                      theorem LieModule.map_posFittingComp_eq {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] {Mโ‚‚ : Type u_5} [AddCommGroup Mโ‚‚] [Module R Mโ‚‚] [LieRingModule L Mโ‚‚] [LieModule R L Mโ‚‚] (e : M โ‰ƒโ‚—โ…R,Lโ† Mโ‚‚) :
                                      theorem LieModule.posFittingComp_map_incl_sup_of_codisjoint {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] [IsNoetherian R M] [IsArtinian R M] {Nโ‚ Nโ‚‚ : LieSubmodule R L M} (h : Codisjoint Nโ‚ Nโ‚‚) :
                                      LieSubmodule.map Nโ‚.incl (posFittingComp R L โ†ฅNโ‚) โŠ” LieSubmodule.map Nโ‚‚.incl (posFittingComp R L โ†ฅNโ‚‚) = posFittingComp R L M
                                      theorem LieModule.genWeightSpace_genWeightSpaceOf_map_incl {R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (x : L) (ฯ‡ : L โ†’ R) :
                                      LieSubmodule.map (genWeightSpaceOf M (ฯ‡ x) x).incl (genWeightSpace (โ†ฅ(genWeightSpaceOf M (ฯ‡ x) x)) ฯ‡) = genWeightSpace M ฯ‡

                                      This is the Fitting decomposition of the Lie module M.

                                      theorem LieModule.disjoint_genWeightSpaceOf (R : Type u_2) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] [IsDomain R] [Module.IsTorsionFree R M] {x : L} {ฯ†โ‚ ฯ†โ‚‚ : R} (h : ฯ†โ‚ โ‰  ฯ†โ‚‚) :
                                      Disjoint (genWeightSpaceOf M ฯ†โ‚ x) (genWeightSpaceOf M ฯ†โ‚‚ x)
                                      theorem LieModule.disjoint_genWeightSpace (R : Type u_2) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] [IsDomain R] [Module.IsTorsionFree R M] {ฯ‡โ‚ ฯ‡โ‚‚ : L โ†’ R} (h : ฯ‡โ‚ โ‰  ฯ‡โ‚‚) :
                                      Disjoint (genWeightSpace M ฯ‡โ‚) (genWeightSpace M ฯ‡โ‚‚)
                                      theorem LieModule.injOn_genWeightSpace (R : Type u_2) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] [IsDomain R] [Module.IsTorsionFree R M] :
                                      Set.InjOn (fun (ฯ‡ : L โ†’ R) => genWeightSpace M ฯ‡) {ฯ‡ : L โ†’ R | genWeightSpace M ฯ‡ โ‰  โŠฅ}
                                      theorem LieModule.iSupIndep_genWeightSpace (R : Type u_2) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] [IsDomain R] [Module.IsTorsionFree R M] :
                                      iSupIndep fun (ฯ‡ : L โ†’ R) => genWeightSpace M ฯ‡

                                      Lie module weight spaces are independent.

                                      See also LieModule.iSupIndep_genWeightSpace'.

                                      theorem LieModule.iSupIndep_genWeightSpace' (R : Type u_2) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] [IsDomain R] [Module.IsTorsionFree R M] :
                                      iSupIndep fun (ฯ‡ : Weight R L M) => genWeightSpace M โ‡‘ฯ‡
                                      theorem LieModule.iSupIndep_genWeightSpaceOf (R : Type u_2) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] [IsDomain R] [Module.IsTorsionFree R M] (x : L) :
                                      iSupIndep fun (ฯ‡ : R) => genWeightSpaceOf M ฯ‡ x
                                      noncomputable instance LieModule.Weight.instFintype (R : Type u_2) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] [IsDomain R] [Module.IsTorsionFree R M] [IsNoetherian R M] :
                                      Fintype (Weight R L M)
                                      Equations
                                        class LieModule.IsTriangularizable (R : Type u_2) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] :

                                        A Lie module M of a Lie algebra L is triangularizable if the endomorphism of M defined by any x : L is triangularizable.

                                        Instances
                                          @[simp]
                                          theorem LieModule.iSup_genWeightSpaceOf_eq_top (R : Type u_2) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] [IsTriangularizable R L M] (x : L) :
                                          โจ† (ฯ† : R), genWeightSpaceOf M ฯ† x = โŠค
                                          @[simp]
                                          theorem LieModule.trace_toEnd_genWeightSpace (R : Type u_2) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] [IsDomain R] [IsPrincipalIdealRing R] [Module.Free R M] [Module.Finite R M] (ฯ‡ : L โ†’ R) (x : L) :
                                          (LinearMap.trace R โ†ฅ(genWeightSpace M ฯ‡)) ((toEnd R L โ†ฅ(genWeightSpace M ฯ‡)) x) = Module.finrank R โ†ฅ(genWeightSpace M ฯ‡) โ€ข ฯ‡ x
                                          theorem LieModule.iSup_genWeightSpace_eq_top (K : Type u_1) (L : Type u_3) (M : Type u_4) [LieRing L] [AddCommGroup M] [LieRingModule L M] [LieRing.IsNilpotent L] [Field K] [LieAlgebra K L] [Module K M] [LieModule K L M] [FiniteDimensional K M] [IsTriangularizable K L M] :
                                          โจ† (ฯ‡ : L โ†’ K), genWeightSpace M ฯ‡ = โŠค

                                          For a triangularizable Lie module in finite dimensions, the weight spaces span the entire space.

                                          See also LieModule.iSup_genWeightSpace_eq_top'.

                                          theorem LieModule.iSup_genWeightSpace_eq_top' (K : Type u_1) (L : Type u_3) (M : Type u_4) [LieRing L] [AddCommGroup M] [LieRingModule L M] [LieRing.IsNilpotent L] [Field K] [LieAlgebra K L] [Module K M] [LieModule K L M] [FiniteDimensional K M] [IsTriangularizable K L M] :
                                          โจ† (ฯ‡ : Weight K L M), genWeightSpace M โ‡‘ฯ‡ = โŠค