Documentation

TauCeti.Algebra.Lie.HighestWeight.Verma

Verma modules #

Let L be a finite-dimensional Lie algebra with non-degenerate Killing form over a field K of characteristic zero, let H be a splitting Cartan subalgebra and let b be a base of the root system LieAlgebra.IsKilling.rootSystem H, so that the Borel subalgebra 𝔟 = H + n⁺ of TauCeti/Algebra/Lie/Weights/Borel.lean is available. For a linear form lam on H this file builds the Verma module M(lam), the universal module generated by a vector on which H acts through lam and which the positive nilradical annihilates.

The presentation #

M(lam) is classically written U(L) ⊗_{U(𝔟)} K_lam, where K_lam is the one-dimensional 𝔟-module on which x = h + n acts by lam h. Since U(L) is a free right U(𝔟)-module only after Poincaré--Birkhoff--Witt, and since Mathlib's tensor product is taken over a commutative base, this file instead uses a quotient presentation:

TauCeti.vermaIdeal b lam is the left ideal generated by the elements ι x - lam x for x : H together with ι x for x in the positive nilradical, and TauCeti.VermaModule b lam := U(L) ⧸ vermaIdeal b lam.

For a decomposition x = h + n of an element of 𝔟, the associated degree-one relation satisfies ι x - lam h = (ι h - lam h) + ι n and hence belongs to this ideal. This containment is the content of TauCeti.exists_ι_sub_algebraMap_mem_vermaIdeal_of_mem_borelSubalgebra below.

Reading the quotient as a Lie module is what TauCeti/Algebra/Lie/UniversalEnveloping/Module.lean was built for: a left ideal is exactly a U(L)-submodule of U(L), so the quotient is a U(L)-module, and TauCeti.UniversalEnvelopingAlgebra.asLieRingModule turns that into an L-module. The same file supplies the two dictionary results the universal property runs on: Lie module homomorphisms out of M(lam) are U(L)-linear maps, and the Lie submodule generated by the canonical vector is its U(L)-span.

The universal property, and nonvanishing #

The universal property TauCeti.existsUnique_lieModuleHom_apply_vermaGenerator is proved in the form that does not presuppose M(lam) ≠ 0: for any vector v of any L-module on which H acts through lam and which n⁺ annihilates — v = 0 allowed — there is a unique Lie module homomorphism M(lam) → N sending the canonical generator to v. Everything below is a consequence of it.

That M(lam) is nonzero is exactly the statement that the left ideal vermaIdeal b lam is proper (TauCeti.vermaGenerator_eq_zero_iff). The Verma relations are the elements ι x - χ x for x in the Borel subalgebra, where χ = TauCeti.borelCharacter H b lam is the character h + n ↦ lam h of 𝔟, and the left ideal these generate is proper by the freeness of U(L) as a right U(𝔟)-module, a consequence of Poincaré--Birkhoff--Witt (TauCeti.UniversalEnvelopingAlgebra.span_range_ι_sub_algebraMap_ne_top). This is TauCeti.vermaIdeal_ne_top, so the canonical generator is a highest weight vector of weight lam for every lam (TauCeti.isHighestWeightVector_vermaGenerator) and L(lam) is irreducible for every lam.

Freeness over U(n⁻) #

The same relative Poincaré--Birkhoff--Witt input gives more than nonvanishing. Since L = n⁻ ⊕ 𝔟 (TauCeti.isCompl_negativeNilradical_borelSubalgebra), U(L) is a free right U(𝔟)-module on the ordered monomials in a basis of n⁻, and the induced module M(lam) is therefore a free U(n⁻)-module of rank one on v_lam: the map U(n⁻) → M(lam), y ↦ y · v_lam, is a linear equivalence (TauCeti.universalEnvelopingEquivVermaModule). Through the PBW basis of U(n⁻) this is the input for computing the weight multiplicities of M(lam).

Main definitions #

Main results #

References #

The defining left ideal #

The Verma relations of weight lam: the elements ι x - lam x of U(L) for x in the Cartan subalgebra, together with the elements ι x for x in the positive nilradical. Their image in M(lam) is what forces the Cartan subalgebra to act on the class of 1 through lam and the positive nilradical to annihilate it. Those are two of the three conditions defining a highest weight vector, so that class is a highest weight vector of weight lam exactly when it is nonzero; see TauCeti.isHighestWeightVector_vermaGenerator_iff.

Equations
  • One or more equations did not get rendered due to their size.
Instances For

    The Verma ideal of weight lam: the left ideal of U(L) generated by the Verma relations.

    Equations
    Instances For

      The relation ι x - lam x lies in the Verma ideal, for x in the Cartan subalgebra.

      The relation ι x lies in the Verma ideal, for x in the positive nilradical.

      For an element x = h + n of the Borel subalgebra, the degree-one relation ι x - lam h belongs to the Verma ideal, since it is the sum of the two kinds of generator.

      The Verma module and its structures #

      The Verma module M(lam), defined here as the quotient of U(L) by the left ideal TauCeti.vermaIdeal of Verma relations.

      Equations
      Instances For
        @[instance_reducible]
        Equations
        • One or more equations did not get rendered due to their size.
        @[instance_reducible]
        Equations
        • One or more equations did not get rendered due to their size.
        @[instance_reducible]
        Equations

        The L-action on the Verma module is the action of the canonical Lie generators of U(L). This is the compatibility hypothesis the enveloping-algebra dictionary consumes.

        The enveloping representation of the Verma module is its U(L)-module structure: the action of U(L) induced by the L-action, TauCeti.UniversalEnvelopingAlgebra.representation, is the scalar action of U(L) on the quotient U(L) ⧸ vermaIdeal b lam.

        The canonical projection U(L) → M(lam), bundled as a U(L)-linear map so that its algebraic behaviour — map_zero, map_add, map_smul — is available from the LinearMap API without unfolding the quotient.

        Equations
        Instances For
          @[simp]
          theorem TauCeti.smul_vermaMk {K : Type u} {L : Type v} [Field K] [CharZero K] [LieRing L] [LieAlgebra K L] [LieAlgebra.IsKilling K L] [FiniteDimensional K L] {H : LieSubalgebra K L} [H.IsCartanSubalgebra] [LieModule.IsTriangularizable K (↥H) L] (b : (LieAlgebra.IsKilling.rootSystem H).Base) (lam : Module.Dual K ↥H) (u w : UniversalEnvelopingAlgebra K L) :
          u • (vermaMk b lam) w = (vermaMk b lam) (u * w)

          The canonical generator v_lam of the Verma module, the class of 1. It is a highest weight vector of weight lam exactly when it is nonzero, which is TauCeti.isHighestWeightVector_vermaGenerator_iff.

          Equations
          Instances For
            @[simp]

            The Cartan subalgebra acts on the canonical generator through lam.

            The positive nilradical annihilates the canonical generator.

            The canonical generator spans the Verma module over U(L).

            The canonical generator generates the Verma module as a Lie module, by the dictionary carrying generated Lie submodules to U(L)-spans. Together with TauCeti.isHighestWeightVector_vermaGenerator_iff this exhibits M(lam) as a highest weight module of weight lam whenever it is nonzero.

            The universal property #

            theorem TauCeti.existsUnique_lieModuleHom_apply_vermaGenerator {K : Type u} {L : Type v} [Field K] [CharZero K] [LieRing L] [LieAlgebra K L] [LieAlgebra.IsKilling K L] [FiniteDimensional K L] {H : LieSubalgebra K L} [H.IsCartanSubalgebra] [LieModule.IsTriangularizable K (↥H) L] (b : (LieAlgebra.IsKilling.rootSystem H).Base) (lam : Module.Dual K ↥H) {N : Type w} [AddCommGroup N] [Module K N] [LieRingModule L N] [LieModule K L N] (v : N) (hcartan : ∀ (x : ↥H), ⁅↑x, v⁆ = lam x • v) (hpos : ∀ x ∈ positiveNilradical H b, ⁅x, v⁆ = 0) :
            ∃! φ : VermaModule b lam →ₗ⁅K,L⁆ N, φ (vermaGenerator b lam) = v

            The universal property of the Verma module. If H acts on a vector v of an L-module N through lam and the positive nilradical annihilates v, then there is a unique homomorphism of L-modules M(lam) → N carrying the canonical generator to v.

            The vector v is not assumed nonzero, so this does not presuppose that M(lam) is nonzero.

            Highest weight vectors and nonvanishing #

            The canonical generator is a highest weight vector exactly when it is nonzero. The other two conditions hold unconditionally, by TauCeti.lie_vermaGenerator_eq_smul and TauCeti.lie_vermaGenerator_eq_zero_of_mem_positiveNilradical.

            Every highest weight module of weight lam is a quotient of the Verma module. This is the sense in which M(lam) is the universal highest weight module of weight lam, and the form in which the classification of the irreducible highest weight modules consumes it.

            The canonical generator vanishes exactly when the Verma ideal is improper. So M(lam) ≠ 0 says that the left ideal generated by the Verma relations is proper, which follows from the freeness of U(L) as a right U(𝔟)-module (TauCeti.vermaIdeal_ne_top).

            The Verma module vanishes exactly when its canonical generator does, the generator spanning it.

            The Verma module is induced from the Borel character #

            The Verma ideal is the left ideal induced by the Borel character: it is generated by the elements ι x - χ x for x in the Borel subalgebra, where χ = TauCeti.borelCharacter H b lam is the character h + n ↦ lam h of 𝔟 = H + n⁺. So M(lam) is the module U(L) ⊗_{U(𝔟)} K_lam induced from the one-dimensional 𝔟-module of weight lam, presented as a quotient of U(L).

            The Verma module is nonzero #

            @[simp]

            The Verma ideal is proper. Its generators ι x - lam x for x in the Cartan subalgebra and ι x for x in the positive nilradical are all of the form ι x - χ x for x in the Borel subalgebra, where χ = TauCeti.borelCharacter H b lam is the character h + n ↦ lam h. The left ideal generated by those is proper, by the freeness of U(L) as a right U(𝔟)-module (TauCeti.UniversalEnvelopingAlgebra.span_range_ι_sub_algebraMap_ne_top).

            @[simp]

            The Verma module is nonzero: its canonical generator does not vanish, for every weight lam.

            The canonical generator of the Verma module is a highest weight vector of weight lam, for every weight lam.

            The Verma module is free of rank one over U(n⁻) #

            The Verma module is a free U(n⁻)-module of rank one on its canonical generator: the map U(n⁻) → M(lam), y ↦ y · v_lam, is a linear equivalence, where U(n⁻) acts on M(lam) through the map U(n⁻) → U(L) induced by the inclusion of the negative nilradical. Its value is TauCeti.universalEnvelopingEquivVermaModule_apply, and it intertwines left multiplication on U(n⁻) with the action on M(lam) (TauCeti.universalEnvelopingEquivVermaModule_mul).

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              The equivalence U(n⁻) ≃ M(lam) sends 1 to the canonical generator v_lam.

              The equivalence U(n⁻) ≃ M(lam) is U(n⁻)-linear: it carries left multiplication by y on U(n⁻) to the action of y on M(lam).

              theorem TauCeti.pow_toEnd_vermaGenerator_ne_zero {K : Type u} {L : Type v} [Field K] [CharZero K] [LieRing L] [LieAlgebra K L] [LieAlgebra.IsKilling K L] [FiniteDimensional K L] {H : LieSubalgebra K L} [H.IsCartanSubalgebra] [LieModule.IsTriangularizable K (↥H) L] (b : (LieAlgebra.IsKilling.rootSystem H).Base) (lam : Module.Dual K ↥H) {f : L} (hf : f ∈ negativeNilradical H b) (hf0 : f ≠ 0) (k : ℕ) :
              ((LieModule.toEnd K L (VermaModule b lam)) f ^ k) (vermaGenerator b lam) ≠ 0

              Lowering the canonical generator never gives zero: for a nonzero f in the negative nilradical, f^k · v_lam ≠ 0 in M(lam) for every k. Through the freeness U(n⁻) ≃ M(lam) the vector is the image of (ι f)^k, which is nonzero because U(n⁻) is a domain containing n⁻, by Poincaré--Birkhoff--Witt.

              The irreducible quotient L(lam): the quotient of the Verma module by the maximal submodule of TauCeti/Algebra/Lie/HighestWeight/Maximal.lean. As with TauCeti.VermaModule, the carrier is a definition with its module structures declared one by one, so that statements about L(lam) are made against this name rather than against the quotient it is built from.

              Nothing about it is irreducible by fiat: irreducibility is TauCeti.isIrreducible_irreducibleQuotient, which rests on M(lam) ≠ 0. Naming the carrier is what lets a statement about L(lam) be phrased at one fixed module instead of at an arbitrary irreducible module carrying a highest weight vector of weight lam.

              Equations
              Instances For
                @[instance_reducible]
                Equations
                • One or more equations did not get rendered due to their size.
                @[instance_reducible]
                Equations
                • One or more equations did not get rendered due to their size.
                @[instance_reducible]
                Equations

                The canonical projection M(lam) → L(lam), bundled as a Lie module homomorphism, so that its algebraic behaviour — map_zero, map_add, map_smul, map_lie — is available from the LieModuleHom API without unfolding the quotient. It is the analogue for L(lam) of TauCeti.vermaMk, and together with TauCeti.irreducibleQuotientMk_surjective it is how every vector of L(lam) is reached.

                Equations
                Instances For

                  The canonical projection onto L(lam) is surjective: every vector of L(lam) is the class of one of M(lam). This is the elimination rule matching TauCeti.irreducibleQuotientMk, and it is what lets a statement about L(lam) be checked on representatives without unfolding the quotient.

                  The canonical generator of L(lam), the class of the canonical generator of M(lam). It is a highest weight vector of weight lam (TauCeti.isHighestWeightVector_irreducibleQuotientGenerator), and it is the introduction rule through which L(lam) is populated without unfolding the quotient. The body is not exposed: the public equation is TauCeti.irreducibleQuotientMk_vermaGenerator.

                  Equations
                  Instances For

                    The canonical generator generates L(lam), the canonical generator of M(lam) generating M(lam) and the projection being surjective. So L(lam) is a highest weight module of weight lam.

                    L(lam) is irreducible, for every weight lam. The Verma module is nonzero, so it is a highest weight module of weight lam, and its quotient by the maximal submodule is irreducible. By TauCeti.quotientMaximalSubmoduleEquivOfSurjectiveOfIsIrreducible it is then the only irreducible highest weight module of weight lam, up to isomorphism.

                    L(lam) carries a highest weight vector of weight lam, its canonical generator; the anti-vacuity companion of TauCeti.isIrreducible_irreducibleQuotient, without which any family of pairwise non-isomorphic irreducibles would do.