Definitions/Def_ModularCurve_SSCarrier.lean
Supersingular place index, carrier, pole orders, leading coefficients
Throughout, p is a prime, N \ge 1, and K is an algebraically closed field of characteristic p; F = \mathrm{modularFunctionFieldC}\,K\,N is the subfield of \mathrm{LaurentSeries}\,K generated over K by the q-expansions j(q) and j(q^N), with distinguished generators jGeomGen and jNGeomGen, and places of F over K are the objects of the project's structure AlgebraicCurve.Place (a proper valuation subring of F containing K whose ideals are principal), with normalised valuation ord and evaluation map evalAt into K.
SSIndex p N K hp5 k is the subtype of places x satisfying: x \in ssPlaces p N K, i.e. x is rational, both j(q) and j(q^N) lie in its valuation subring, and the value j(x) = x.\mathrm{evalAt}(j(q)) lies in ssJSet p K (those j \in K such that every elliptic Weierstrass curve over K with that j-invariant has no non-zero p-torsion point); together with the x-independent conditions 2 \le k, 2 \mid k, 5 \le p, and the divisibility \mathrm{placeWidth}_N(x) \mid k/2, where \mathrm{placeWidth}_N(x) = W(j(x))/e_j(x) is the natural-number quotient of the j-width W(j) \in \{3,2,1\} (according as j = 0, j = 1728, or otherwise) by e_j(x) = \mathrm{ord}_x\bigl(j(q) - j(x)\bigr). Thus the type is empty unless k is even and at least 2 and p \ge 5. SSCarrier is the function type \mathrm{SSIndex} \to K.
poleOrder attaches to such an x the integer (k/2)\,(W(j(x)) - 1)/\mathrm{placeWidth}_N(x) (integer division, exact here by the divisibility condition in the index type). unif x is a choice, via Classical.epsilon, of an element \pi_x \in F with \mathrm{ord}_x(\pi_x) = 1; lead x a f = x.\mathrm{evalAt}(\pi_x^{\,a} f), the value at x of \pi_x^{a} f, which for a equal to the pole order of f is a leading coefficient. Finally resFnFun p N K hp5 m G, for m \in \mathbb{N} and any G \in F, is the element of \mathrm{SSCarrier} in weight k = 2m sending x to \mathrm{lead}\,x\,(\mathrm{poleOrder}\ldots)\,G. Because \pi_x is chosen, lead and resFnFun are determined only up to a non-zero factor at each place.
Relation to Mathlib
Mathlib has no notion of the places of the modular function field K(j(q), j(q^N)), of supersingular j-invariants, or of widths of places; these rest on the project's own AlgebraicCurve.Place and the project's q-expansion model of the function field of X_0(N).
Where it is used
These types and functions form the carrier for the supersingular data attached to X_0(N) in characteristic p: functions on the supersingular places (one coordinate per place, without multiplicities), the admissible pole orders of weight-k functions at the elliptic supersingular places j = 0, 1728, and the passage from a function on X_0(N) to its leading coefficients there. They support the study of the supersingular locus of the special fibre used in the level-lowering step of the Frey–Serre–Ribet–Wiles route.
References
- J. H. Silverman, The Arithmetic of Elliptic Curves, Graduate Texts in Mathematics 106, Springer, 1986, Ch. III §10 and Ch. V §3
- M. Deuring, Die Typen der Multiplikatorenringe elliptischer Funktionenkörper, Abhandlungen aus dem Mathematischen Seminar der Universität Hamburg 14 (1941), 197–272
- B. Edixhoven, The weight in Serre's conjectures on modular forms, Inventiones Mathematicae 109 (1992), 563–594
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 37 lines
- 6 declarations
- used in the statements of 32 theorems and imported by 35 proofs
- imports 1 definition modules
Source file: Definitions/Def_ModularCurve_SSCarrier.lean
Imports
Imported by
Declarations
- def
ModularCurve.SSIndex - abbrev
ModularCurve.SSCarrier - def
ModularCurve.poleOrder - def
ModularCurve.unif - def
ModularCurve.lead - def
ModularCurve.resFnFun
Source
import Mathlib import Definitions.Def_ModularCurve_PlaceWidth set_option autoImplicit false noncomputable section open AlgebraicCurve ModularCurve namespace ModularCurve variable (p : ℕ) [Fact p.Prime] (N : ℕ) [NeZero N] (K : Type) [Field K] [CharP K p] [IsAlgClosed K] [DecidableEq K] def SSIndex (hp5 : 5 ≤ p) (k : ℤ) : Type := { x : Place K (modularFunctionFieldC K N) // x ∈ ssPlaces p N K ∧ 2 ≤ k ∧ 2 ∣ k ∧ ((placeWidth N x : ℤ) ∣ k / 2) ∧ 5 ≤ p } abbrev SSCarrier (hp5 : 5 ≤ p) (k : ℤ) : Type := SSIndex p N K hp5 k → K def poleOrder (hp5 : 5 ≤ p) (k : ℤ) (x : SSIndex p N K hp5 k) : ℤ := (k / 2) * ((jWidth (x.1.evalAt (jGeomGen K N)) : ℤ) - 1) / (placeWidth N x.1 : ℤ) omit [Fact p.Prime] [CharP K p] [IsAlgClosed K] [DecidableEq K] in def unif (x : Place K (modularFunctionFieldC K N)) : modularFunctionFieldC K N := Classical.epsilon (fun π : modularFunctionFieldC K N => x.ord π = 1) omit [Fact p.Prime] [CharP K p] [IsAlgClosed K] [DecidableEq K] in def lead (x : Place K (modularFunctionFieldC K N)) (a : ℤ) (f : modularFunctionFieldC K N) : K := x.evalAt (unif N K x ^ a * f) def resFnFun (hp5 : 5 ≤ p) (m : ℕ) (G : modularFunctionFieldC K N) : SSCarrier p N K hp5 (2 * (m : ℤ)) := fun x => lead N K x.1 (poleOrder p N K hp5 (2 * (m : ℤ)) x) G end ModularCurve end
Statements phrased using this module (32)
- A weight ladder S_k ≃ S_{k+p+1} twisting Hecke by ℓ
ModularCurve.SSHeckeV2.exists_linearEquiv_ssCarrier_forall_ssHeckeFun_eq_smul1,010 below · depth 15 - Additivity of the supersingular Hecke operator T_ℓ
ModularCurve.SSHeckeV2.ssHeckeFun_add887 below · depth 15 - Homogeneity of the supersingular Hecke operator
ModularCurve.SSHeckeV2.ssHeckeFun_smul887 below · depth 15 - Window property of supersingular Hecke eigensystems
ModularCurve.SSHeckeV2.ssHeckeFun_window1,279 below · depth 15 - Non-vanishing leading coefficient of b at supersingular places
ModularCurve.SSCarrier.lead_qP_mul_thetaL_zpow_ne_zero503 below · depth 16 - Dual Hecke operators on Ω(D') and the cuspidal exit
ModularCurve.SSHeckeV2.exists_omegaHecke_dualMap_theta_and_exit1,236 below · depth 16 - Residue pairing Theta: kernel and residue formula
ModularCurve.SSHeckeV2.exists_theta_ker_iff_range_resFnFun_and_apply_weilOfKaehler380 below · depth 16 - Lead coefficients of the weight-2m Hecke image compute T_ℓ^{ss}
ModularCurve.SSHeckeV2.lead_trace_heckeBetaC_mul_pow_eq_ssHeckeFun_of_map893 below · depth 16 - The chosen lift realises prescribed supersingular leading coefficients
ModularCurve.SSHeckeV2.liftFun_spec373 below · depth 16 - Hecke multiplier, width identity and supersingularity on α-fibres
ModularCurve.SSHeckeV2.ord_heckeMultiplier_eq_and_width_eq_and_mem_ssPlaces_of_mem_fiber869 below · depth 16 - Additivity of the supersingular residue map on L(D_m)
ModularCurve.SSHeckeV2.resFnFun_add_of_mem363 below · depth 16 - Homogeneity of the supersingular leading-coefficient map
ModularCurve.SSHeckeV2.resFnFun_smul_of_mem363 below · depth 16 - Multiplication by b is ℓ-semilinear for the supersingular Hecke operator
ModularCurve.SSHeckeV2.ssHeckeFun_bMul_eq_smul_bMul_ssHeckeFun1,008 below · depth 16 - Commutativity of the trace Hecke operators on L(weightDivisor)
ModularCurve.SSHeckeV2.trace_heckeBetaC_mul_pow_comm_of_mem874 below · depth 16 - Weight-2m Hecke operator preserves the Riemann–Roch space
ModularCurve.SSHeckeV2.trace_heckeBetaC_mul_pow_mem_riemannRochSpace_weightDivisor866 below · depth 16 - Finite-dimensionality of Ω(D) on the modular function field
ModularCurve.finiteDimensional_omegaSpace183 below · depth 16 - Finiteness of the weight divisor Riemann–Roch space
ModularCurve.finiteDimensional_riemannRochSpace_weightDivisor134 below · depth 16 - Curve package for the level-N modular function field
ModularCurve.hasCanonicalDivisor_and_dCoordGenerates_and_hasPrincipalDivisors_and_nontrivial_kaehler120 below · depth 16 - Vanishing of leadₓᵃ of a trace at supersingular places
ModularCurve.lead_trace_eq_zero_of_forall_le_ord366 below · depth 16 - Order bound for β(d)h^m on the α-fibre of an index place
ModularCurve.neg_mul_poleOrder_add_one_le_ord_heckeBetaC_mul_pow366 below · depth 16 - Floor bound for β(d)h^m along a supersingular fibre
ModularCurve.neg_mul_poleOrder_le_ord_heckeBetaC_mul_pow366 below · depth 16 - The chosen uniformiser at a place has order one
ModularCurve.ord_unif0 below · depth 16 - Vanishing supersingular leading coefficients versus stack order
ModularCurve.resFnFun_eq_zero_iff_forall_one_le_stackOrd364 below · depth 16 - Weil–Kähler agreement for the modular function field
ModularCurve.weilKaehlerAgree_modularFunctionFieldC115 below · depth 16 - Vanishing of Ω(D') at the edge weight 2m=p+1
ModularCurve.omegaSpace_eq_bot_of_two_mul_eq_add_one808 below · depth 17 - Dual compatibility of supersingular Hecke map with T_Ω
ModularCurve.theta_ssHeckeFun_eq_inv_smul_dualMap_of_forall_weilOfKaehler894 below · depth 17 - Canonical degree is 2 genusFormula(N)-2 in characteristic p≥ 5
ModularCurve.degree_canonicalDivisorOf_eq_two_mul_genusFormula_sub_two725 below · depth 18 - Degree of the edge weight divisor at 2m = p+1
ModularCurve.degree_weightDivisor_sub_indexPlaces_eq_of_two_mul_eq_add_one472 below · depth 18 - Row form of Hecke compatibility for the supersingular residue pairing
ModularCurve.ssResiduePairing_ssHeckeFun_eq_comp_traceAlong891 below · depth 18 - Weight-zero cuspidal integrality forces vanishing
ModularCurve.eq_zero_of_isModPCuspFormFn_zero165 below · depth 19 - Hecke compatibility of the supersingular residue pairing
ModularCurve.sum_kaehlerResidueTerm_liftFun_ssHeckeFun_eq890 below · depth 19 - Supersingular residue pairing against the degeneracy correspondence
ModularCurve.sum_kaehlerResidueTerm_eq_sum_kaehlerResidueTerm_traceAlong_of_ord_sub_traceFunAlong1 below · depth 20