Zulip Chat Archive

Stream: toric

Topic: Character-cocharacter pairing


Yaël Dillies (Jun 03 2025 at 15:19):

I would like to announce that the first phase of Toric is now over: The character-cocharacter pairing of a split torus and the proof that it's perfect are both sorry-free.

Yaël Dillies (Jun 03 2025 at 15:20):

... ie all the following code is sorry-free:

import Toric

noncomputable section

open AlgebraicGeometry Scheme

/-!
Let `S` be a scheme and `G` be a group scheme over `S`.

We denote the characters of `G` by `X(S, G)` and the cocharacters by `X*(S, G)`.
-/

example {S G : Scheme} [G.Over S] [Grp_Class (G.asOver S)] : Type := X(S, G)
example {S G : Scheme} [G.Over S] [Grp_Class (G.asOver S)] : Type := X*(S, G)

/-!
Let `R` be a domain and `G` be a split torus over `R`.

Then we have a pairing between `X(Spec R, G)` and `X*(Spec R, G)`.

If furthermore `G := 𝔾ₘ[Spec R, σ]` is the explicit torus with finite dimensions given by `σ`,
then this pairing is perfect.
-/

example {R : CommRingCat.{0}} [IsDomain R] {G : Scheme} [G.Over (Spec R)]
    [CommGrp_Class (G.asOver (Spec R))] [IsSplitTorus (Spec R) G] :
    X*(Spec R, G) →ₗ[] X(Spec R, G) →ₗ[]  := charPairing R G

example {R : CommRingCat} [IsDomain R] {σ : Type} [Finite σ] :
    (charPairing R 𝔾ₘ[Spec R, σ]).IsPerfPair := isPerfPair_charPairing

Last updated: Dec 20 2025 at 21:32 UTC