Definitions/Def_ModularCurve_SSHeckeV2.lean
Supersingular Hecke operator, lifting map, q-expansion restriction
Throughout, p\ge 5 is a prime, N a level, K an algebraically closed field of characteristic p, and F=\,modularFunctionFieldC K N the K-subfield of K((q)) generated by j(q) and j(q^{N}); for a prime \ell the roof R=\,charLDegeneracyRoof K N ℓ is the subfield generated by j(q),j(q^{N}),j(q^{\ell}),j(q^{N\ell}), with the two legs \alpha=\,heckeAlphaC (inclusion F\subseteq R) and \beta=\,heckeBetaC (the substitution q\mapsto q^{\ell} on q-expansions).
heckeMultiplier is an element h of R, chosen by Classical.epsilon, satisfying the differential identity d(\beta(\bar j))=h\cdot \mathrm{map}_{\alpha}\bigl(d\bar j\bigr) in \Omega_{R/K}, where \bar j=\,jGeomGen K N is j(q), R carries the F-algebra structure along \alpha, and \mathrm{map}_{\alpha}:\Omega_{F/K}\to\Omega_{R/K} is the functorial map; if no such element exists the choice is unconstrained.
liftFun hp5 k v, for k\in\mathbb Z and v in the carrier SSCarrier p N K hp5 k (a K-valued function on the supersingular index set), is an epsilon-chosen g\in F subject to two conditions: at every place z\in\,ssPlaces p N K one has \operatorname{ord}_z g\ge -\,weightDivisor K N (k/2).toNat (z), and for every index x the leading coefficient lead N K x.1 (poleOrder … x) g equals v\,x.
ssHeckeFun hp5 k ℓ v is again a carrier element: its value at x is \ell^{\,k/2-1} (in K) times the leading coefficient, in the same normalisation poleOrder … x, of \operatorname{Tr}_{R/F}\bigl(\beta(\mathrm{liftFun}\,v)\cdot h^{(k/2).\mathrm{toNat}}\bigr), the trace being taken for the F-algebra structure on R along \alpha.
resQFun hp5 k φ, for a power series \varphi over K, sends x to the leading coefficient at x (same pole normalisation) of an epsilon-chosen G\in F whose Laurent series equals \varphi\cdot\bigl(\theta(j(q))\bigr)^{-(k/2)}, where \theta(f)=q\,df/dq is thetaL.
Relation to Mathlib
Kähler differentials and their functorial maps, Algebra.trace, and Laurent/power series come from Mathlib; the modular function field, the degeneracy roof with its two legs, the supersingular carrier with its pole orders and leading coefficients, the weight divisor and the operator \theta are the project's own notions, and Mathlib has no Hecke action on functions on supersingular points.
Where it is used
These definitions set up the Hecke action on K-valued functions on the supersingular points of X_0(N) in characteristic p, together with the passage from mod-p q-expansions of weight k to such functions; this module is the computational input for the mod-p comparison of Hecke eigensystems that underlies the level-lowering step of the Frey–Serre–Ribet argument.
References
- J.-P. Serre, Sur les représentations modulaires de degré 2 de \mathrm{Gal}(\overline{\mathbb{Q}}/\mathbb{Q}), Duke Mathematical Journal 54 (1987), 179–230
- K. A. Ribet, On modular representations of \mathrm{Gal}(\overline{\mathbb{Q}}/\mathbb{Q}) arising from modular forms, Inventiones Mathematicae 100 (1990), 431–476
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 50 lines
- 4 declarations
- used in the statements of 36 theorems and imported by 35 proofs
- imports 7 definition modules
Source file: Definitions/Def_ModularCurve_SSHeckeV2.lean
Imports
Imported by
- no other definition module
Declarations
- def
ModularCurve.heckeMultiplier - def
ModularCurve.liftFun - def
ModularCurve.ssHeckeFun - def
ModularCurve.resQFun
Source
import Mathlib import Definitions.Def_ModularCurve_PlaceWidth import Definitions.Def_ModularCurve_CharLDegeneracyHecke import Definitions.Def_ModularCurve_QExpansionDiff import Definitions.Def_AlgebraicCurve_Correspondence import Definitions.Def_ModularCurve_CharLSpecialFibreLevelNDictionary import Definitions.Def_ModularCurve_WeightDivisor import Definitions.Def_ModularCurve_SSCarrier set_option autoImplicit false set_option synthInstance.maxHeartbeats 400000 set_option maxHeartbeats 800000 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 heckeMultiplier (ℓ : ℕ) [NeZero ℓ] : ↥(charLDegeneracyRoof K N ℓ) := Classical.epsilon (fun h : ↥(charLDegeneracyRoof K N ℓ) => letI := AlgebraicCurve.algebraAlong (heckeAlphaC K N ℓ) haveI := AlgebraicCurve.isScalarTower_along (heckeAlphaC K N ℓ) KaehlerDifferential.D K ↥(charLDegeneracyRoof K N ℓ) (heckeBetaC K N ℓ (jGeomGen K N)) = h • KaehlerDifferential.map K K ↥(modularFunctionFieldC K N) ↥(charLDegeneracyRoof K N ℓ) (KaehlerDifferential.D K ↥(modularFunctionFieldC K N) (jGeomGen K N))) def liftFun (hp5 : 5 ≤ p) (k : ℤ) (v : SSCarrier p N K hp5 k) : ↥(modularFunctionFieldC K N) := Classical.epsilon (fun g : ↥(modularFunctionFieldC K N) => (∀ z : Place K (modularFunctionFieldC K N), z ∈ ssPlaces p N K → -((ModularCurve.weightDivisor K N (k / 2).toNat) z) ≤ z.ord g) ∧ (∀ x : SSIndex p N K hp5 k, lead N K x.1 (poleOrder p N K hp5 k x) g = v x)) def ssHeckeFun (hp5 : 5 ≤ p) (k : ℤ) (ℓ : ℕ) [NeZero ℓ] (v : SSCarrier p N K hp5 k) : SSCarrier p N K hp5 k := fun x => letI := AlgebraicCurve.algebraAlong (heckeAlphaC K N ℓ) algebraMap K K ((ℓ : K) ^ (k / 2 - 1)) * lead N K x.1 (poleOrder p N K hp5 k x) (Algebra.trace ↥(modularFunctionFieldC K N) ↥(charLDegeneracyRoof K N ℓ) (heckeBetaC K N ℓ (liftFun p N K hp5 k v) * heckeMultiplier N K ℓ ^ (k / 2).toNat)) def resQFun (hp5 : 5 ≤ p) (k : ℤ) (φ : PowerSeries K) : SSCarrier p N K hp5 k := fun x => lead N K x.1 (poleOrder p N K hp5 k x) (Classical.epsilon (fun G : ↥(modularFunctionFieldC K N) => (G : LaurentSeries K) = HahnSeries.ofPowerSeries ℤ K φ * thetaL K (jqModC K) ^ (-(k / 2)))) end ModularCurve end
Statements phrased using this module (36)
- 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 - Vanishing on the supersingular locus lowers the weight by p-1
ModularCurve.SSHeckeV2.mem_modPMod_sub_of_resQFun_eq_zero971 below · depth 15 - Additivity of the supersingular restriction map resQFun
ModularCurve.SSHeckeV2.resQFun_add800 below · depth 15 - Restriction to supersingular points intertwines T_ℓ with T_ℓ^{ss}
ModularCurve.SSHeckeV2.resQFun_heckePS_eq_ssHeckeFun_resQFun906 below · depth 15 - Homogeneity of the supersingular restriction resQFun
ModularCurve.SSHeckeV2.resQFun_smul800 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 - Cuspidal Hecke eigen-function yields mod-p cusp eigenform of weight 2m'
ModularCurve.SSHeckeV2.exists_isModPEigen_modPCusp_of_eigen_riemannRochSpace997 below · depth 16 - Hecke eigenfunctions in L(D_m) give mod-p eigenforms
ModularCurve.SSHeckeV2.exists_isModPEigen_of_eigen_riemannRochSpace876 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 - The Hecke multiplier satisfies its defining differential identity
ModularCurve.SSHeckeV2.heckeMultiplier_spec121 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 - Weil–Kähler agreement for the modular function field
ModularCurve.weilKaehlerAgree_modularFunctionFieldC115 below · depth 16 - q-expansion of the ℓ-degeneracy Hecke multiplier
ModularCurve.SSHeckeV2.coe_heckeMultiplier_mul_thetaL_eq_smul_qExpand_of_ne_zero124 below · depth 17 - Uniqueness of the Hecke multiplier on the ℓ-degeneracy roof
ModularCurve.SSHeckeV2.eq_heckeMultiplier_of_D_heckeBetaC_eq_smul_map140 below · depth 17 - Non-vanishing of the ℓ-degeneracy Hecke multiplier
ModularCurve.SSHeckeV2.heckeMultiplier_ne_zero140 below · depth 17 - Hasse invariant intertwines the two Hecke operators at ℓ
ModularCurve.hasse_smul_traceAlong_smul_pullbackAlong_smul_D_jGeomGen_eq155 below · depth 17 - 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