Polynomial symplectic-module and Hamiltonian-module interfaces
Definitionframe_2026_symplectic_free_modules_interfacesThis bundle defines a concrete presentation of the complex symplectic Lie algebra , its abelian maximal-parabolic nilradical, multivariate polynomial carriers, Lie representations, and the two-parameter candidate action . It formalizes the explicit generator formulas, freeness of rank one over the nilradical, isomorphism and weight-module criteria, the exceptional simplicity set, Noetherian/Artinian finite-length behavior, and a canonical Hamiltonian Lie-algebra application with exact degree-weight spaces. These are proof obligations about actual linear maps and brackets, not arbitrary semantic predicates.
import Mathlib
/-!
# Interfaces for polynomial modules over the symplectic Lie algebra
The candidate differential operators are defined concretely on a multivariate
polynomial ring. A `LieRepresentation` is a Lie homomorphism into linear
endomorphisms. Crucially, no representation satisfying the candidate formulas
is installed in this file: its existence is part of the theorem target.
-/
namespace SymplecticFreeModules
open scoped TensorProduct
/-- Unordered pairs index the variables `T_{i,j}=T_{j,i}`. -/
def SymmetricIndex (l : ℕ) :=
{ij : Fin l × Fin l // ij.1 ≤ ij.2}
/-- The ordered representative of the unordered pair `{i,j}`. -/
def symmetricIndex {l : ℕ} (i j : Fin l) : SymmetricIndex l :=
if h : i ≤ j then ⟨(i, j), h⟩ else ⟨(j, i), le_of_not_ge h⟩
/-- The polynomial algebra in the symmetric variables `T_{i,j}`. -/
abbrev Poly (l : ℕ) := MvPolynomial (SymmetricIndex l) ℂ
/-- The variable `T_{i,j}`, with the indices automatically symmetrized. -/
noncomputable def T {l : ℕ} (i j : Fin l) : Poly l :=
MvPolynomial.X (symmetricIndex i j)
/-- Formal partial differentiation with respect to `T_{i,j}`. -/
noncomputable def partialDeriv {l : ℕ} (i j : Fin l) :
Derivation ℂ (Poly l) (Poly l) :=
MvPolynomial.pderiv (symmetricIndex i j)
/-- The paper's operator `\widetilde X_{i,j}`. -/
noncomputable def xTilde {l : ℕ} (i j : Fin l) (q : Poly l) : Poly l :=
∑ k : Fin l,
MvPolynomial.C (if k = i then (2 : ℂ) else 1) *
T k i * partialDeriv k j q
/-- The paper's operator `\widetilde Y_{i,j}`, with its parameter displayed. -/
noncomputable def yTilde {l : ℕ} (c : ℂ) (i j : Fin l)
(q : Poly l) : Poly l :=
MvPolynomial.C (2 * c) * partialDeriv i j q +
∑ k : Fin l, xTilde k i (partialDeriv k j q)
/-- The proposed action of `X_{i,j}` in `tau(c,phi)`. -/
noncomputable def xCandidate {l : ℕ} (c : ℂ) (phi : Poly l)
(i j : Fin l) (q : Poly l) : Poly l :=
xTilde i j q +
(xTilde i j phi + if i = j then MvPolynomial.C c else 0) * q
/-- The proposed multiplication action of `T_{i,j}`. -/
noncomputable def tCandidate {l : ℕ} (i j : Fin l) (q : Poly l) : Poly l :=
T i j * q
/-- The proposed action of the diagonal negative-root vector `Y_{i,i}`. -/
noncomputable def yDiagonalCandidate {l : ℕ} (c : ℂ) (phi : Poly l)
(i : Fin l) (q : Poly l) : Poly l :=
-(1 / 2 : ℂ) •
(yTilde c i i phi * q + yTilde c i i q +
∑ k : Fin l,
xTilde k i phi * (partialDeriv k i phi * q + 2 • partialDeriv k i q))
/-- Mathlib's concrete `sp_{2l}(C)`, indexed by two copies of `Fin l`. -/
abbrev Sp (l : ℕ) := LieAlgebra.Symplectic.sp (Fin l) ℂ
/-- The matrix called `X_{i,j}` in the paper. -/
def xMatrix {l : ℕ} (i j : Fin l) :
Matrix (Fin l ⊕ Fin l) (Fin l ⊕ Fin l) ℂ :=
Matrix.single (Sum.inl i) (Sum.inl j) 1 -
Matrix.single (Sum.inr j) (Sum.inr i) 1
/-- The matrix called `Y_{i,i}` in the paper. -/
def yDiagonalMatrix {l : ℕ} (i : Fin l) :
Matrix (Fin l ⊕ Fin l) (Fin l ⊕ Fin l) ℂ :=
Matrix.single (Sum.inr i) (Sum.inl i) 1
/-- The symmetric upper-right matrix called `T_{i,j}` in the paper. -/
def tMatrix {l : ℕ} (i j : Fin l) :
Matrix (Fin l ⊕ Fin l) (Fin l ⊕ Fin l) ℂ :=
if i = j then Matrix.single (Sum.inl i) (Sum.inr i) 1
else
Matrix.single (Sum.inl i) (Sum.inr j) 1 +
Matrix.single (Sum.inl j) (Sum.inr i) 1
/--
Named generators in the concrete symplectic Lie algebra. The value fields pin
them to the paper's matrices and do not assert that the candidate operators
form a representation.
-/
structure GeneratorPresentation (l : ℕ) where
Xgen : Fin l → Fin l → Sp l
YdiagGen : Fin l → Sp l
Tgen : Fin l → Fin l → Sp l
Xgen_value : ∀ i j, (Xgen i j : Matrix (Fin l ⊕ Fin l) (Fin l ⊕ Fin l) ℂ) =
xMatrix i j
YdiagGen_value : ∀ i, (YdiagGen i : Matrix (Fin l ⊕ Fin l) (Fin l ⊕ Fin l) ℂ) =
yDiagonalMatrix i
Tgen_value : ∀ i j, (Tgen i j : Matrix (Fin l ⊕ Fin l) (Fin l ⊕ Fin l) ℂ) =
tMatrix i j
/-- The displayed `T_{i,j}` form the expected independent abelian system. -/
def IsAbelianNilradicalSystem {l : ℕ} (P : GeneratorPresentation l) : Prop :=
(∀ i j k m, ⁅P.Tgen i j, P.Tgen k m⁆ = 0) ∧
LinearIndependent ℂ
(fun ij : SymmetricIndex l ↦ P.Tgen ij.1.1 ij.1.2)
/-- A representation of a complex Lie algebra as linear endomorphisms. -/
abbrev LieRepresentation (L M : Type*) [LieRing L] [LieAlgebra ℂ L]
[AddCommGroup M] [Module ℂ M] :=
L →ₗ⁅ℂ⁆ Module.End ℂ M
/-- The representation has exactly the generator actions displayed in the paper. -/
def HasGeneratorAction {l : ℕ} (P : GeneratorPresentation l)
(rho : LieRepresentation (Sp l) (Poly l)) (c : ℂ) (phi : Poly l) : Prop :=
(∀ i j q, rho (P.Xgen i j) q = xCandidate c phi i j q) ∧
(∀ i j q, rho (P.Tgen i j) q = tCandidate i j q) ∧
(∀ i q, rho (P.YdiagGen i) q = yDiagonalCandidate c phi i q)
/-- Intertwining equivalence of two Lie representations. -/
def LieRepEquivalent {L M N : Type*} [LieRing L] [LieAlgebra ℂ L]
[AddCommGroup M] [Module ℂ M] [AddCommGroup N] [Module ℂ N]
(rho : LieRepresentation L M) (sigma : LieRepresentation L N) : Prop :=
∃ e : M ≃ₗ[ℂ] N, ∀ x m, e (rho x m) = sigma x (e m)
/--
Concrete rank-one freeness over the abelian nilradical: after choosing the
free generator, every `T_{i,j}` acts as multiplication by its polynomial
variable. This is equivalent to rank-one freeness over `U(n)` here.
-/
def IsFreeRankOneOverNilradical {l : ℕ} (P : GeneratorPresentation l)
{M : Type*} [AddCommGroup M] [Module ℂ M]
(rho : LieRepresentation (Sp l) M) : Prop :=
∃ e : Poly l ≃ₗ[ℂ] M,
∀ i j q, e (T i j * q) = rho (P.Tgen i j) (e q)
/-- A subspace invariant under a Lie representation. -/
def IsInvariant {L M : Type*} [LieRing L] [LieAlgebra ℂ L]
[AddCommGroup M] [Module ℂ M]
(rho : LieRepresentation L M) (S : Submodule ℂ M) : Prop :=
∀ x m, m ∈ S → rho x m ∈ S
/-- Simplicity expressed without installing a new module typeclass. -/
def IsSimpleRepresentation {L M : Type*} [LieRing L] [LieAlgebra ℂ L]
[AddCommGroup M] [Module ℂ M]
(rho : LieRepresentation L M) : Prop :=
Nontrivial M ∧ ∀ S : Submodule ℂ M,
IsInvariant rho S → S = ⊥ ∨ S = ⊤
/-- A simultaneous weight vector for the diagonal Cartan generators. -/
def IsWeightVector {l : ℕ} (P : GeneratorPresentation l)
{M : Type*} [AddCommGroup M] [Module ℂ M]
(rho : LieRepresentation (Sp l) M) (v : M) : Prop :=
∃ lambda : Fin l → ℂ, ∀ i, rho (P.Xgen i i) v = lambda i • v
/-- The module is spanned by its simultaneous weight vectors. -/
def IsWeightRepresentation {l : ℕ} (P : GeneratorPresentation l)
{M : Type*} [AddCommGroup M] [Module ℂ M]
(rho : LieRepresentation (Sp l) M) : Prop :=
Submodule.span ℂ {v : M | IsWeightVector P rho v} = ⊤
/--
For a constant parameter `phi`, the polynomial `1` is the lowest-weight
cyclic generator of weight `c Λ_l`, written only with the concrete generators.
-/
def HasLowestWeightGenerator {l : ℕ} (P : GeneratorPresentation l)
(rho : LieRepresentation (Sp l) (Poly l)) (c : ℂ) : Prop :=
∃ last : Fin l,
last.1 + 1 = l ∧
rho (P.YdiagGen last) 1 = 0 ∧
rho (P.Xgen last last) 1 = c • (1 : Poly l) ∧
(∀ i j : Fin l, i.1 + 1 = j.1 →
rho (P.Xgen i i - P.Xgen j j) 1 = 0) ∧
(∀ i j : Fin l, j.1 + 1 = i.1 → rho (P.Xgen i j) 1 = 0) ∧
(∀ S : Submodule ℂ (Poly l),
IsInvariant rho S → (1 : Poly l) ∈ S → S = ⊤)
/-- A multivariate polynomial is constant. -/
def IsConstant {l : ℕ} (phi : Poly l) : Prop :=
∃ c : ℂ, phi = MvPolynomial.C c
/-- The exceptional simplicity parameters `(l+1)/2 - n/2`, `n >= 1`. -/
def IsExceptional (l : ℕ) (c : ℂ) : Prop :=
∃ n : ℕ, 0 < n ∧
c = (((l + 1 : ℕ) : ℂ) / 2 - (n : ℂ) / 2)
/-- Ascending chains of invariant subspaces stabilize. -/
def IsNoetherianRepresentation {L M : Type*} [LieRing L] [LieAlgebra ℂ L]
[AddCommGroup M] [Module ℂ M]
(rho : LieRepresentation L M) : Prop :=
∀ S : ℕ → Submodule ℂ M,
(∀ n, IsInvariant rho (S n)) →
Monotone S → ∃ n₀, ∀ n, n₀ ≤ n → S n = S n₀
/-- Descending chains of invariant subspaces stabilize. -/
def IsArtinianRepresentation {L M : Type*} [LieRing L] [LieAlgebra ℂ L]
[AddCommGroup M] [Module ℂ M]
(rho : LieRepresentation L M) : Prop :=
∀ S : ℕ → Submodule ℂ M,
(∀ n, IsInvariant rho (S n)) →
Antitone S → ∃ n₀, ∀ n, n₀ ≤ n → S n = S n₀
/-- No invariant subspace lies strictly between `S` and `T`. -/
def IsCompositionStep {L M : Type*} [LieRing L] [LieAlgebra ℂ L]
[AddCommGroup M] [Module ℂ M]
(rho : LieRepresentation L M) (S T : Submodule ℂ M) : Prop :=
IsInvariant rho S ∧ IsInvariant rho T ∧ S < T ∧
∀ U : Submodule ℂ M,
IsInvariant rho U → S ≤ U → U ≤ T → U = S ∨ U = T
/-- A finite composition series with a specified length and chain. -/
def IsFiniteCompositionSeries {L M : Type*} [LieRing L] [LieAlgebra ℂ L]
[AddCommGroup M] [Module ℂ M]
(rho : LieRepresentation L M) (s : ℕ) (S : ℕ → Submodule ℂ M) : Prop :=
0 < s ∧ S 0 = ⊥ ∧ S s = ⊤ ∧
∀ i, i < s → IsCompositionStep rho (S i) (S (i + 1))
/-- A finite composition series, encoded by its successive invariant subspaces. -/
def HasFiniteCompositionSeries {L M : Type*} [LieRing L] [LieAlgebra ℂ L]
[AddCommGroup M] [Module ℂ M]
(rho : LieRepresentation L M) : Prop :=
∃ s : ℕ, ∃ S : ℕ → Submodule ℂ M, IsFiniteCompositionSeries rho s S
/-- Restriction of a Lie action to an invariant subspace. -/
noncomputable def invariantRestrictedAction {L M : Type*}
[LieRing L] [LieAlgebra ℂ L] [AddCommGroup M] [Module ℂ M]
(rho : LieRepresentation L M) (T : Submodule ℂ M)
(hT : IsInvariant rho T) (x : L) : Module.End ℂ T where
toFun t := ⟨rho x t.1, hT x t.1 t.2⟩
map_add' a b := by
ext
exact (rho x).map_add a.1 b.1
map_smul' c a := by
ext
exact (rho x).map_smul c a.1
/-- The induced action on the concrete subquotient `T/S`. -/
noncomputable def compositionFactorAction {L M : Type*}
[LieRing L] [LieAlgebra ℂ L] [AddCommGroup M] [Module ℂ M]
(rho : LieRepresentation L M) (S T : Submodule ℂ M)
(hS : IsInvariant rho S) (hT : IsInvariant rho T) (x : L) :
Module.End ℂ (T ⧸ S.comap T.subtype) :=
(S.comap T.subtype).mapQ (S.comap T.subtype)
(invariantRestrictedAction rho T hT x) (by
intro t ht
exact hS x t.1 ht)
/-- Two composition factors are isomorphic as genuine quotient
representations. -/
def CompositionFactorsEquivalent {L M : Type*}
[LieRing L] [LieAlgebra ℂ L] [AddCommGroup M] [Module ℂ M]
(rho : LieRepresentation L M)
(S T U V : Submodule ℂ M) : Prop :=
S ≤ T ∧ U ≤ V ∧
∃ (hS : IsInvariant rho S) (hT : IsInvariant rho T)
(hU : IsInvariant rho U) (hV : IsInvariant rho V)
(e : (T ⧸ S.comap T.subtype) ≃ₗ[ℂ]
(V ⧸ U.comap V.subtype)),
∀ x q,
e (compositionFactorAction rho S T hS hT x q) =
compositionFactorAction rho U V hU hV x (e q)
/-- Jordan--Hölder uniqueness: any two finite composition series have the
same simple factors up to a permutation and representation isomorphism. -/
def HasJordanHolderUniqueness {L M : Type*}
[LieRing L] [LieAlgebra ℂ L] [AddCommGroup M] [Module ℂ M]
(rho : LieRepresentation L M) : Prop :=
∀ (s t : ℕ) (S T : ℕ → Submodule ℂ M),
IsFiniteCompositionSeries rho s S →
IsFiniteCompositionSeries rho t T →
∃ permutation : Fin s ≃ Fin t,
∀ i : Fin s,
CompositionFactorsEquivalent rho
(S i.1) (S (i.1 + 1))
(T (permutation i).1) (T ((permutation i).1 + 1))
/-- Exponent vectors for Laurent monomials in `2l` variables. -/
abbrev Exponent (l : ℕ) := (Fin l ⊕ Fin l) → ℤ
/-- Laurent polynomials as the group algebra of the exponent lattice. -/
abbrev Laurent (l : ℕ) := AddMonoidAlgebra ℂ (Exponent l)
/-- The exponent vector `\widetilde r`. -/
def tildeExponent {l : ℕ} (r : Exponent l) : Exponent l
| Sum.inl i => r (Sum.inr i)
| Sum.inr i => -r (Sum.inl i)
/-- A Laurent monomial `x^r`. -/
noncomputable def laurentMonomial {l : ℕ} (r : Exponent l) : Laurent l :=
AddMonoidAlgebra.single r 1
/-- The complex bilinear dot product, coercing the first integer vector. -/
noncomputable def exponentDot {l : ℕ} (r : Exponent l)
(a : (Fin l ⊕ Fin l) → ℂ) : ℂ :=
∑ i : Fin l ⊕ Fin l, (r i : ℂ) * a i
/-- The outer-product matrix `r \widetilde r^t`. -/
def outerMatrix {l : ℕ} (r : Exponent l) :
Matrix (Fin l ⊕ Fin l) (Fin l ⊕ Fin l) ℂ :=
fun i j ↦ (r i : ℂ) * (tildeExponent r j : ℂ)
/-!
## The canonical Hamiltonian Lie algebra, without an arbitrary quotient
The definitions below build the vector-space carrier and its bracket directly
from the basis used in the paper. Establishing bilinearity and Jacobi for this
explicit bracket is part of the theorem target, rather than an input axiom.
-/
/-- Nonzero lattice exponents indexing the Hamiltonian generators
`\widetilde h_r`; the paper declares `\widetilde h_0 = 0`. -/
abbrev NonzeroExponent (l : ℕ) := {r : Exponent l // r ≠ 0}
/-- Basis labels: Hamiltonian monomial derivations and the degree derivations. -/
abbrev HamiltonianBasis (l : ℕ) := NonzeroExponent l ⊕ (Fin l ⊕ Fin l)
/-- The concrete vector-space carrier of `\mathcal H_{2l}`. -/
abbrev CanonicalHamiltonian (l : ℕ) := HamiltonianBasis l →₀ ℂ
/-- The basis vector `\widetilde h_r`, with `\widetilde h_0` definitionally zero. -/
noncomputable def canonicalH {l : ℕ} (r : Exponent l) : CanonicalHamiltonian l :=
if hr : r = 0 then 0
else Finsupp.single (Sum.inl ⟨r, hr⟩) 1
/-- The basis vector `d_i`. -/
noncomputable def canonicalD {l : ℕ} (i : Fin l ⊕ Fin l) :
CanonicalHamiltonian l :=
Finsupp.single (Sum.inr i) 1
/-- Bracket of two displayed basis vectors of the Hamiltonian algebra. -/
noncomputable def canonicalBasisBracket {l : ℕ}
(a b : HamiltonianBasis l) : CanonicalHamiltonian l :=
match a, b with
| Sum.inl r, Sum.inl s =>
exponentDot (tildeExponent (r : Exponent l))
(fun i ↦ ((s : Exponent l) i : ℂ)) •
canonicalH ((r : Exponent l) + (s : Exponent l))
| Sum.inr i, Sum.inl r => ((r : Exponent l) i : ℂ) • canonicalH r
| Sum.inl r, Sum.inr i => -((r : Exponent l) i : ℂ) • canonicalH r
| Sum.inr _, Sum.inr _ => 0
/-- The bilinear extension of the displayed basis bracket. -/
noncomputable def canonicalHamiltonianBracket {l : ℕ}
(x y : CanonicalHamiltonian l) : CanonicalHamiltonian l :=
x.sum fun a ca ↦ y.sum fun b cb ↦ (ca * cb) • canonicalBasisBracket a b
/--
The explicit bracket really is a complex Lie bracket. This is a transparent
list of the laws, not a caller-selected `LieRing` instance.
-/
def IsCanonicalHamiltonianLieBracket (l : ℕ) : Prop :=
( ∀ x y z : CanonicalHamiltonian l,
canonicalHamiltonianBracket (x + y) z =
canonicalHamiltonianBracket x z + canonicalHamiltonianBracket y z) ∧
( ∀ x y z : CanonicalHamiltonian l,
canonicalHamiltonianBracket x (y + z) =
canonicalHamiltonianBracket x y + canonicalHamiltonianBracket x z) ∧
( ∀ (a : ℂ) (x y : CanonicalHamiltonian l),
canonicalHamiltonianBracket (a • x) y =
a • canonicalHamiltonianBracket x y) ∧
( ∀ (a : ℂ) (x y : CanonicalHamiltonian l),
canonicalHamiltonianBracket x (a • y) =
a • canonicalHamiltonianBracket x y) ∧
( ∀ x : CanonicalHamiltonian l, canonicalHamiltonianBracket x x = 0) ∧
( ∀ x y z : CanonicalHamiltonian l,
canonicalHamiltonianBracket x (canonicalHamiltonianBracket y z) +
canonicalHamiltonianBracket y (canonicalHamiltonianBracket z x) +
canonicalHamiltonianBracket z (canonicalHamiltonianBracket x y) = 0)
/-- A representation of the explicit Hamiltonian bracket. -/
structure CanonicalHamiltonianRepresentation (l : ℕ) (M : Type*)
[AddCommGroup M] [Module ℂ M] where
toLinearMap : CanonicalHamiltonian l →ₗ[ℂ] Module.End ℂ M
map_bracket : ∀ x y,
toLinearMap (canonicalHamiltonianBracket x y) =
⁅toLinearMap x, toLinearMap y⁆
noncomputable instance {l : ℕ} {M : Type*} [AddCommGroup M] [Module ℂ M] :
CoeFun (CanonicalHamiltonianRepresentation l M)
(fun _ ↦ CanonicalHamiltonian l → M → M) :=
⟨fun ρ x m ↦ ρ.toLinearMap x m⟩
/-- Invariant subspaces for a representation of the explicit bracket. -/
def IsCanonicalInvariant {l : ℕ} {M : Type*}
[AddCommGroup M] [Module ℂ M]
(ρ : CanonicalHamiltonianRepresentation l M) (S : Submodule ℂ M) : Prop :=
∀ x m, m ∈ S → ρ x m ∈ S
/-- Simplicity for a representation of the explicit Hamiltonian algebra. -/
def IsSimpleCanonicalRepresentation {l : ℕ} {M : Type*}
[AddCommGroup M] [Module ℂ M]
(ρ : CanonicalHamiltonianRepresentation l M) : Prop :=
Nontrivial M ∧ ∀ S : Submodule ℂ M,
IsCanonicalInvariant ρ S → S = ⊥ ∨ S = ⊤
/-- The concrete Shen--Larsson action on Laurent pure tensors. -/
def HasCanonicalShenLarssonAction {l : ℕ} {M : Type*}
[AddCommGroup M] [Module ℂ M]
(ρ : LieRepresentation (Sp l) M)
(alpha beta : (Fin l ⊕ Fin l) → ℂ)
(σ : CanonicalHamiltonianRepresentation l (M ⊗[ℂ] Laurent l)) : Prop :=
∃ outer : Exponent l → Sp l,
(∀ r, (outer r : Matrix (Fin l ⊕ Fin l) (Fin l ⊕ Fin l) ℂ) =
outerMatrix r) ∧
(∀ r s v,
σ (canonicalH r) (v ⊗ₜ[ℂ] laurentMonomial s) =
((exponentDot (tildeExponent r)
(fun i ↦ (s i : ℂ) + alpha i)) • v + ρ (outer r) v) ⊗ₜ[ℂ]
laurentMonomial (r + s)) ∧
(∀ i s v,
σ (canonicalD i) (v ⊗ₜ[ℂ] laurentMonomial s) =
(((s i : ℂ) + beta i) • v) ⊗ₜ[ℂ] laurentMonomial s)
/-- Simultaneous weight vectors for the concrete degree derivations. -/
def IsCanonicalHamiltonianWeightVector {l : ℕ} {M : Type*}
[AddCommGroup M] [Module ℂ M]
(σ : CanonicalHamiltonianRepresentation l M) (v : M) : Prop :=
∃ lambda : (Fin l ⊕ Fin l) → ℂ,
∀ i, σ (canonicalD i) v = lambda i • v
/-- The module is spanned by simultaneous degree-weight vectors. -/
def IsCanonicalHamiltonianWeightRepresentation {l : ℕ} {M : Type*}
[AddCommGroup M] [Module ℂ M]
(σ : CanonicalHamiltonianRepresentation l M) : Prop :=
Submodule.span ℂ {v : M | IsCanonicalHamiltonianWeightVector σ v} = ⊤
/-- The weight `s + beta` space is exactly `M ⊗ C x^s`. -/
def HasCanonicalExactDegreeWeightSpaces {l : ℕ} {M : Type*}
[AddCommGroup M] [Module ℂ M]
(σ : CanonicalHamiltonianRepresentation l (M ⊗[ℂ] Laurent l))
(beta : (Fin l ⊕ Fin l) → ℂ) : Prop :=
∀ s : Exponent l,
{w : M ⊗[ℂ] Laurent l |
∀ i, σ (canonicalD i) w = ((s i : ℂ) + beta i) • w} =
Set.range (fun v : M ↦ v ⊗ₜ[ℂ] laurentMonomial s)
/-! ## The common proposition families used by the open goal -/
/-- A family consists of genuine Lie representations satisfying (3.11). -/
def IsTauFamily {l : ℕ} (P : GeneratorPresentation l)
(tau : ℂ → Poly l → LieRepresentation (Sp l) (Poly l)) : Prop :=
∀ c phi, HasGeneratorAction P (tau c phi) c phi ∧
IsFreeRankOneOverNilradical P (tau c phi)
/-- The classification, parameter uniqueness, weight, and simplicity conclusions. -/
def HasCoreClassification {l : ℕ} (P : GeneratorPresentation l)
(tau : ℂ → Poly l → LieRepresentation (Sp l) (Poly l)) : Prop :=
(∀ (M : Type) [AddCommGroup M] [Module ℂ M]
(rho : LieRepresentation (Sp l) M),
IsFreeRankOneOverNilradical P rho →
∃ c phi, LieRepEquivalent rho (tau c phi)) ∧
(∀ c₁ phi₁ c₂ phi₂,
LieRepEquivalent (tau c₁ phi₁) (tau c₂ phi₂) ↔
c₁ = c₂ ∧ IsConstant (phi₁ - phi₂)) ∧
(∀ c phi, IsWeightRepresentation P (tau c phi) ↔ IsConstant phi) ∧
(∀ c phi, IsConstant phi →
HasLowestWeightGenerator P (tau c phi) c) ∧
(∀ c phi,
IsSimpleRepresentation (tau c phi) ↔ ¬ IsExceptional l c)
/-- The exceptional-parameter finite-length and Jordan--Hölder conclusion. -/
def HasExceptionalFiniteLength {l : ℕ}
(tau : ℂ → Poly l → LieRepresentation (Sp l) (Poly l)) : Prop :=
∀ c phi, IsExceptional l c →
IsNoetherianRepresentation (tau c phi) ∧
IsArtinianRepresentation (tau c phi) ∧
HasFiniteCompositionSeries (tau c phi) ∧
HasJordanHolderUniqueness (tau c phi)
/-- The Shen--Larsson application for the explicit Hamiltonian bracket. -/
def HasCanonicalHamiltonianApplication {l : ℕ}
(tau : ℂ → Poly l → LieRepresentation (Sp l) (Poly l)) : Prop :=
IsCanonicalHamiltonianLieBracket l ∧
∀ c phi, ¬ IsExceptional l c →
∀ alpha beta : (Fin l ⊕ Fin l) → ℂ,
∃ sigma : CanonicalHamiltonianRepresentation l
(Poly l ⊗[ℂ] Laurent l),
HasCanonicalShenLarssonAction (tau c phi) alpha beta sigma ∧
IsSimpleCanonicalRepresentation sigma ∧
IsCanonicalHamiltonianWeightRepresentation sigma ∧
HasCanonicalExactDegreeWeightSpaces sigma beta
end SymplecticFreeModules
Read-back
What the Lean code literally says, in plain math · gpt-5.6-sol
Definitions.SymplecticFreeModulesInterfaces / definition bundle
SymplecticFreeModules.SymmetricIndex, symmetricIndex, Poly, T, and partialDeriv. For , polynomial variables are indexed by pairs satisfying . The function orders an arbitrary pair into that subtype. The algebra is the multivariate polynomial algebra over in those variables, is the variable indexed by the ordered pair , and is formal polynomial differentiation with respect to that same symmetrized variable. Thus and . At , the index type is empty.
SymplecticFreeModules.xTilde. For and ,
SymplecticFreeModules.yTilde. For ,
SymplecticFreeModules.xCandidate. The candidate action assigned to at parameters is
where scalars are inserted as constant polynomials.
SymplecticFreeModules.tCandidate. The candidate action assigned to is multiplication .
SymplecticFreeModules.yDiagonalCandidate. The candidate action assigned to the diagonal negative-root generator is
SymplecticFreeModules.Sp. This is Mathlib’s concrete complex symplectic Lie algebra on two copies of , realized as matrices satisfying its symplectic condition.
SymplecticFreeModules.xMatrix. The displayed matrix is the matrix unit from the first-copy index to first-copy index , minus the matrix unit from second-copy index to second-copy index .
SymplecticFreeModules.yDiagonalMatrix. The displayed matrix has its sole nonzero entry from first-copy to second-copy .
SymplecticFreeModules.tMatrix. The displayed matrix has one upper-right entry when , and for is the sum of the two symmetrically placed upper-right matrix units.
SymplecticFreeModules.GeneratorPresentation. A presentation chooses elements of the concrete symplectic Lie algebra for all relevant indices and includes proofs that their underlying matrices are exactly the three matrices above. It does not itself assert the candidate polynomial formulas or any commutator relations.
SymplecticFreeModules.IsAbelianNilradicalSystem. This says that every two displayed and have zero Lie bracket and that the family indexed once per unordered pair, with , is complex-linearly independent. At , the commutator quantifiers are empty and the empty family is linearly independent.
SymplecticFreeModules.LieRepresentation. For a complex Lie algebra and complex module , this is a genuine complex-linear Lie homomorphism , so preservation of Lie brackets is part of its type.
SymplecticFreeModules.HasGeneratorAction. For a presentation , representation on , and parameters , this requires, for every polynomial , exact equality of , , and with the three explicit candidate operators above. It specifies only diagonal -generators directly; is nevertheless a representation of the entire symplectic Lie algebra.
SymplecticFreeModules.LieRepEquivalent. Two representations on and on are equivalent when there exists a complex-linear equivalence satisfying for every Lie element and every .
SymplecticFreeModules.IsFreeRankOneOverNilradical. A representation on a complex module has this property when there exists a complex-linear equivalence such that
for every . The witness is required only to be a linear equivalence plus these generator multiplication identities; the definition does not separately install a module-over- structure.
SymplecticFreeModules.IsInvariant. A complex submodule is invariant under when for every Lie element and every .
SymplecticFreeModules.IsSimpleRepresentation. A representation is simple when its carrier is nontrivial and every invariant complex submodule is either or all of .
SymplecticFreeModules.IsWeightVector. A vector is a weight vector when there exists such that for every . The zero vector is included, since suitable eigenvalue equations hold for it.
SymplecticFreeModules.IsWeightRepresentation. This says that the complex-linear span of all simultaneous weight vectors for the diagonal is the whole carrier.
SymplecticFreeModules.HasLowestWeightGenerator. For a representation on and , this says that there exists a last index with , and the polynomial satisfies
For every adjacent , ; for every reverse-adjacent , . Finally, every invariant submodule containing is the whole polynomial module. At , no last index exists, so this predicate is false; the main theorem assumes .
SymplecticFreeModules.IsConstant. A polynomial is constant exactly when there exists with .
SymplecticFreeModules.IsExceptional. A complex number is exceptional at rank when there exists a positive natural number such that
inside . The existential natural number is unbounded.
SymplecticFreeModules.IsNoetherianRepresentation. Every monotone ascending sequence of invariant complex submodules must have an index such that for all .
SymplecticFreeModules.IsArtinianRepresentation. Every antitone descending sequence of invariant complex submodules must stabilize in the same eventual-equality sense.
SymplecticFreeModules.IsCompositionStep. A pair is a composition step when both are invariant, strictly, and every invariant with equals or .
SymplecticFreeModules.IsFiniteCompositionSeries. A specified natural length and sequence form a finite composition series when , , , and is a composition step for every . No condition is placed on for .
SymplecticFreeModules.HasFiniteCompositionSeries. This asserts the existence of some positive length and some sequence of submodules forming the preceding series.
SymplecticFreeModules.invariantRestrictedAction. Given an invariant submodule , this is the linear endomorphism of induced by restricting ; invariance supplies the proof that the image remains in .
SymplecticFreeModules.compositionFactorAction. Given invariant , this is the induced action on the concrete quotient , represented as modulo the pullback of along . In later use , so this is .
SymplecticFreeModules.CompositionFactorsEquivalent. For , this requires and , existential witnesses that all four submodules are invariant, and a complex-linear equivalence intertwining the induced quotient action for every Lie element and quotient vector.
SymplecticFreeModules.HasJordanHolderUniqueness. For every two finite composition series of lengths , there must exist an equivalence such that each successive quotient in the first series is representation-equivalent to the correspondingly permuted quotient in the second. If there are no finite composition series, this predicate alone is vacuous; the exceptional finite-length predicate separately requires existence of one.
SymplecticFreeModules.Exponent and Laurent. An exponent is an integer vector indexed by the disjoint union of two copies of . The Laurent algebra is the complex group algebra of this additive exponent lattice, represented as an additive-monoid algebra.
SymplecticFreeModules.tildeExponent. For , the tilde exponent has left coordinates and right coordinates .
SymplecticFreeModules.laurentMonomial. The monomial is the group-algebra basis element supported at exponent with coefficient .
SymplecticFreeModules.exponentDot. For integer exponent and complex coordinate family , this is .
SymplecticFreeModules.outerMatrix. This is the complex matrix with entries .
SymplecticFreeModules.NonzeroExponent, HamiltonianBasis, and CanonicalHamiltonian. Nonzero exponents are exponent vectors equipped with a proof that they are not zero. Hamiltonian basis labels are either such a nonzero exponent or one of the coordinate labels. The canonical Hamiltonian carrier is the complex vector space of finitely supported coefficient functions on those labels.
SymplecticFreeModules.canonicalH. For every exponent , is definitionally when , and otherwise is the basis vector labelled by .
SymplecticFreeModules.canonicalD. For every coordinate label , is its corresponding basis vector.
SymplecticFreeModules.canonicalBasisBracket. On displayed basis vectors the operation is
When , the first result uses the definition .
SymplecticFreeModules.canonicalHamiltonianBracket. This is the double finite-support sum extending the preceding basis operation with coefficient . It is an explicitly defined operation before any Lie laws are established.
SymplecticFreeModules.IsCanonicalHamiltonianLieBracket. This proposition requires additivity in each argument, complex homogeneity in each argument, for every , and the Jacobi identity
for all elements of the explicit carrier. These are proof obligations, not an assumed Lie-ring instance.
SymplecticFreeModules.CanonicalHamiltonianRepresentation and its evaluation coercion. Such a representation is a complex-linear map from the explicit Hamiltonian carrier to complex-linear endomorphisms of satisfying
for every , where the right side is the endomorphism commutator. It is made callable as . The structure can be formed syntactically independently of the separate proposition asserting all bracket laws.
SymplecticFreeModules.IsCanonicalInvariant. A complex submodule is canonically invariant when it is closed under for every explicit Hamiltonian element .
SymplecticFreeModules.IsSimpleCanonicalRepresentation. This requires a nontrivial carrier and says every canonically invariant complex submodule is zero or the whole carrier.
SymplecticFreeModules.HasCanonicalShenLarssonAction. Given a symplectic representation on , coordinate parameters , and an explicit-Hamiltonian representation on , this says there exists a map whose underlying matrix is exactly , and for every exponents and ,
For every coordinate ,
The formulas include , for which .
SymplecticFreeModules.IsCanonicalHamiltonianWeightVector. A vector is a simultaneous degree-weight vector when there exists such that for every . The zero vector is included.
SymplecticFreeModules.IsCanonicalHamiltonianWeightRepresentation. This says the span of all such simultaneous degree-weight vectors is the whole carrier.
SymplecticFreeModules.HasCanonicalExactDegreeWeightSpaces. For every exponent , the set of all tensors satisfying
must equal exactly the range of . This is equality of sets, not merely an inclusion or spanning assertion.
SymplecticFreeModules.IsTauFamily. A family must, for every and , be a genuine symplectic-Lie-algebra representation on , act on all displayed generators by the exact candidate differential/multiplication formulas, and be free rank one over the displayed -system through some complex-linear equivalence from . The freeness equivalence may depend on .
SymplecticFreeModules.HasCoreClassification. This is the conjunction of five claims about one presentation and one family . First, for every small-universe type carrying a complex module structure and every symplectic representation on it, freeness rank one over the displayed -system implies that some make representation-equivalent to . Second,
Third, is spanned by simultaneous -weight vectors exactly when is constant. Fourth, when is constant, the polynomial satisfies the explicit lowest-weight, adjacent-generator, and invariant-cyclic conditions with weight . Fifth,
The simplicity criterion is independent of .
SymplecticFreeModules.HasExceptionalFiniteLength. For every , if for some positive natural , then is both Noetherian and Artinian with respect to invariant submodules, has at least one finite composition series, and any two such series have the same quotient representations up to a permutation. No conclusion is imposed here at nonexceptional , and no explicit list or multiplicity of factors is supplied.
SymplecticFreeModules.HasCanonicalHamiltonianApplication. This first requires the explicitly defined Hamiltonian bracket itself to satisfy both complex bilinearity laws, alternation, and Jacobi. Then, for every with nonexceptional and every two arbitrary coordinate functions , it requires the existence of an explicit-Hamiltonian representation on
that obeys the exact Shen–Larsson pure-tensor formulas using the symplectic representation , is simple, is spanned by simultaneous degree-weight vectors, and has for every exponent exactly the degree-weight space at weight . The representation may depend on .
Confirmed by the mission captain (proposal self-audit).