Documentation

TauCeti.Algebra.AlgebraicGroup.SplitTorus.Cocharacter

The character–cocharacter perfect pairing of a split torus #

TauCeti.Algebra.AlgebraicGroup.Cocharacter builds, for the diagonalizable group D(M), the -valued character–cocharacter pairing DiagonalizableGroup.pairing m ψ = (ψ m).toAdd, whose value is the exponent of the power endomorphism of 𝔾ₘ that realizes it on points (charPoints_comp_cocharPoints), and computes it in the rank-1 case 𝔾ₘ = D(Multiplicative ℤ) as multiplication of integers (pairing_ofAdd). This file does the arbitrary-rank case, the split torus T = D(Multiplicative (σ →₀ ℤ)) of TauCeti.Algebra.AlgebraicGroup.SplitTorus.Basic, whose character lattice is X*(T) = σ →₀ ℤ (the free -module on σ).

This advances the reductive-groups roadmap (ReductiveGroups/README.md in TauCetiRoadmap), Layer 4: "Tori: split ... the character lattice X*(T) and cocharacter lattice X_*(T) with their perfect pairing: the input to root data", extending the rank-1 pairing of DiagonalizableGroup.pairing_ofAdd to the finite-rank split torus.

Main declarations #

References #

The abstract diagonalizable-group character–cocharacter pairing is Tau Ceti's TauCeti.Algebra.AlgebraicGroup.Cocharacter, and the free-abelian-group character identification TauCeti.freeAbelianCharEquiv is TauCeti.Algebra.Group.FreeAbelianCharacter. The dot-product form reuses Mathlib's Finsupp.linearCombination and the additive/multiplicative type-tag adjunction AddMonoidHom.toMultiplicative; the bilinear packaging dotPairing and its perfectness use Mathlib's free-forgetful adjunction Finsupp.llift and LinearMap.IsPerfPair. This realizes the finite-rank split-torus perfect pairing of the Tau Ceti reductive-groups roadmap (Layer 4).

The cocharacter lattice X_*(T) of the rank-σ split torus T = D(Multiplicative (σ →₀ ℤ)), identified with σ → ℤ. A cocharacter ψ : Multiplicative (σ →₀ ℤ) →* Multiplicative is read off on the standard generators ofAdd (single i 1), its coordinate at i being (ψ (ofAdd (single i 1))).toAdd. This is TauCeti.freeAbelianCharEquiv (with target Multiplicative) followed by Multiplicative.toAdd in each coordinate.

Equations
Instances For
    @[simp]

    The i-th coordinate of a cocharacter is its value on the standard generator ofAdd (single i 1), read as an integer through Multiplicative.toAdd.

    @[simp]

    Reading off cocharacter coordinates is additive: the trivial cocharacter has zero coordinates.

    @[simp]

    Reading off cocharacter coordinates is additive: the product of cocharacters (the group operation on the cocharacter lattice) corresponds to pointwise addition of coordinates.

    The cocharacter lattice X_*(T) as a -module, bundled: the additive form of cocharEquiv, identifying Additive (Multiplicative (σ →₀ ℤ) →* Multiplicative ℤ) (the cocharacter group with its natural additive structure) with σ → ℤ as an AddEquiv. This carries the algebraic compatibility that cocharEquiv reads off pointwise (cocharEquiv_one, cocharEquiv_mul), so it transports the natural -module structure.

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

      cocharAddEquiv agrees coordinatewise with the unbundled cocharEquiv.

      The split-torus character–cocharacter pairing is the dot product. For a character ofAdd m of T (m : σ →₀ ℤ = X*(T)) and a cocharacter ψ (with coordinates cocharEquiv ψ : σ → ℤ = X_*(T)), the pairing ⟨ofAdd m, ψ⟩ of TauCeti.Algebra.AlgebraicGroup.Cocharacter is ∑ᵢ mᵢ · cocharEquiv ψ i. This is the canonical evaluation pairing between the free -module σ →₀ ℤ and its dual σ → ℤ, extending the rank-1 DiagonalizableGroup.pairing_ofAdd to arbitrary rank.

      noncomputable def TauCeti.SplitTorus.dotPairing {σ : Type w} :

      The split-torus character–cocharacter pairing as a -bilinear map. On the character lattice X*(T) = σ →₀ ℤ and the cocharacter lattice X_*(T) = σ → ℤ (via cocharEquiv) the pairing is the evaluation/dot product ⟨m, v⟩ = ∑ᵢ mᵢ vᵢ, packaged from Mathlib's Finsupp.llift. It agrees with the character–cocharacter pairing of TauCeti.Algebra.AlgebraicGroup.Cocharacter through cocharEquiv (pairing_eq_dotPairing).

      Equations
      Instances For
        @[simp]
        theorem TauCeti.SplitTorus.dotPairing_apply {σ : Type w} (m : σ →₀ ) (v : σ) :
        (dotPairing m) v = m.sum fun (i : σ) (c : ) => c * v i
        @[simp]

        The dot-product pairing computes the character–cocharacter pairing. For a character ofAdd m and a cocharacter ψ (with coordinates cocharEquiv ψ), the pairing ⟨ofAdd m, ψ⟩ of TauCeti.Algebra.AlgebraicGroup.Cocharacter is dotPairing m (cocharEquiv ψ).

        The split-torus character–cocharacter pairing is perfect (finite rank). For a finite-rank split torus (Finite σ), the dot-product pairing dotPairing between the character lattice X*(T) = σ →₀ ℤ and the cocharacter lattice X_*(T) = σ → ℤ is a perfect pairing in the sense of Mathlib's LinearMap.IsPerfPair: both induced maps to the -duals are isomorphisms. This is the split-torus perfect pairing that is the input to root data. (For arbitrary σ the pairing stays non-degenerate in each slot — eq_zero_of_forall_pairing_eq_zero, eq_one_of_forall_pairing_eq_zero — while perfectness is proved only in finite rank.)

        The split-torus character–cocharacter pairing on the genuine lattices. The dot-product pairing dotPairing, with its coordinate model σ → ℤ of the cocharacter lattice transported back along cocharAddEquiv to the genuine cocharacter lattice X_*(T) = Additive (Multiplicative (σ →₀ ℤ) →* Multiplicative ℤ). On a cocharacter ψ it is still ⟨ofAdd m, ψ⟩ = ∑ᵢ mᵢ · cocharEquiv ψ i (latticePairing_ofMul).

        Equations
        Instances For
          @[simp]

          latticePairing evaluated on a cocharacter is the character–cocharacter pairing, the dot product ⟨ofAdd m, ψ⟩ = ∑ᵢ mᵢ · cocharEquiv ψ i.

          The split-torus character–cocharacter pairing is perfect (finite rank), on the genuine cocharacter lattice. For a finite-rank split torus (Finite σ), latticePairing between the character lattice X*(T) = σ →₀ ℤ and the genuine cocharacter lattice X_*(T) = Additive (Multiplicative (σ →₀ ℤ) →* Multiplicative ℤ) is a perfect pairing in the sense of Mathlib's LinearMap.IsPerfPair, transported from instIsPerfPair along cocharAddEquiv.

          The dot-product pairing is realized on points as a power endomorphism of 𝔾ₘ. Composing the character ofAdd m after the cocharacter ψ is the power endomorphism of 𝔾ₘ with exponent the dot product ∑ᵢ mᵢ · cocharEquiv ψ i, so on points it raises a unit to that power. This is the split-torus instance of DiagonalizableGroup.charPoints_comp_cocharPoints.

          Left non-degeneracy of the split-torus pairing. A character ofAdd m pairing to 0 against every cocharacter is trivial: m = 0. This holds for arbitrary σ; for finite σ the pairing is moreover perfect (instIsPerfPair).

          Right non-degeneracy of the split-torus pairing. A cocharacter ψ pairing to 0 against every character is trivial: ψ = 1. This holds for arbitrary σ; for finite σ the pairing is moreover perfect (instIsPerfPair).