Definitions/Def_ModularCurve_PlaceSpecialization.lean
Place-specialisation data for modular function fields mod ℓ
For a valuation subring A of \overline{\mathbb{Q}}, a prime \ell, a nonzero level N, a ModularPolynomialData ℓ together with the predicate KroneckerCongruence ℓ data, a field k of characteristic \ell, a ring homomorphism \mathrm{red} : A \to k, and integrality hypotheses hα, hβ for the two degeneracy maps \alpha (the inclusion \overline{\mathbb{Q}}\cdot F^{\mathrm{full}}_N \hookrightarrow \overline{\mathbb{Q}}\cdot F^{\mathrm{full}}_{N\ell}) and \beta (substitution q \mapsto q^{\ell} on Laurent expansions), this structure bundles the data of a reduction of the places and of the degree-zero divisor class group of the modular function field, together with the properties such a reduction is required to have. Its two data fields are a map sp from the places of modularFunctionFieldBar N over \overline{\mathbb{Q}} to the places of modularFunctionFieldC k N =k(\tilde j,\tilde j_N), and an additive map spPic0 from JZero N to \mathrm{Pic}^0 of the characteristic-\ell field. The remaining fields are axioms. Four clauses (d0_j, d0_j_pole, d0_jN, d0_jN_pole) say that sp respects the coordinates j and j_N at the level of orders: if j-a has positive order at w for some a \in A then \tilde j-\mathrm{red}\,a has positive order at \mathrm{sp}\,w, and if j-a has non-positive order at w for every a \in A then \tilde j has a pole at \mathrm{sp}\,w; likewise for j_N and \tilde j_N. Clause d1 asserts, for every place W of the level-N\ell field, that the images under sp of the \alpha- and \beta-restrictions of W agree after one application of the Frobenius operator frobOnPlacesGeomLevel k N data hKr, in one direction or the other. Clause d2 is a guarded unit-multiplicity clause: whenever \varphi^2(\mathrm{sp}\,v)\neq \mathrm{sp}\,v, there is exactly one place W_0 of the level-N\ell field restricting to v along \beta with \mathrm{sp} of its \alpha-restriction equal to \varphi(\mathrm{sp}\,v), and that W_0 has \beta-ramification index 1 (uniqueness being stated as: any such W equals W_0). Clause d4 asserts surjectivity of sp, and d5 that the image under Finsupp.mapDomain sp of the divisor of a nonzero f is the divisor of some nonzero g. The clauses d6_inertia and d6_frobenius concern the Galois action on places through arithmeticGalois: elements of the inertia subgroup of A over \mathbb{Q} act trivially after applying sp, while a Frobenius at A over \ell acts through sp as \varphi. The clauses d7_dictInfty and d7_dictZero transport residues of the Tate-type parameters j_N/j^N and j/j_N^N: if such a quotient lies in the valuation ring of w, the relevant coordinate has no value in A at w, and the residue equals the image of \tau \in A, then the corresponding quotient \tilde j_N/\tilde j^N (resp. \tilde j/\tilde j_N^N) minus \mathrm{red}\,\tau either vanishes identically or has positive order at \mathrm{sp}\,w. Finally spPic0_compat requires that for every degree-zero divisor D upstairs there is a degree-zero divisor D' downstairs whose underlying divisor is \mathrm{mapDomain}\,\mathrm{sp}\,D and with spPic0 (Pic0.mk D) = Pic0.mk D'. The structure makes no existence assertion; it is the datum a construction of the reduction must supply.
Relation to Mathlib
Mathlib supplies the valuation-theoretic ingredients used here (ValuationSubring, decomposition and inertia subgroups, IsLocalRing.residue) and the Finsupp machinery for divisors, but has no places/divisors/\mathrm{Pic}^0 framework for function fields, no modular function fields and no specialisation packet; those are the project's own.
Where it is used
The packet is the interface through which the reduction of X_0(N) and of J_0(N) modulo \ell enters the argument: its Frobenius and inertia clauses, together with the unit-multiplicity clause on the level-N\ell fibre, are what yields the Eichler–Shimura congruence relation T_\ell = F + \ell F' on the special fibre. That relation supplies the local conditions (unramified outside Np, quadratic relation for Frobenius) on the mod-p Galois representations attached to Hecke eigensystems which are used in level lowering for the Frey curve.
References
- J.-I. Igusa, Kroneckerian model of fields of elliptic modular functions, American Journal of Mathematics 81 (1959), 561–577
- G. Shimura, Introduction to the Arithmetic Theory of Automorphic Functions, Princeton University Press, 1971, Chapter 7
- P. Deligne and M. Rapoport, Les schémas de modules de courbes elliptiques, in: Modular Functions of One Variable II, Lecture Notes in Mathematics 349, Springer, 1973, 143–316
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 164 lines
- 48 declarations
- used in the statements of 137 theorems and imported by 153 proofs
- imports 3 definition modules
Source file: Definitions/Def_ModularCurve_PlaceSpecialization.lean
Imports
Declarations
- structure
ModularCurve.PlaceSpecialization - field
ModularCurve.PlaceSpecialization.A - field
ModularCurve.PlaceSpecialization.data - field
ModularCurve.PlaceSpecialization.k - field
ModularCurve.PlaceSpecialization.sp - field
ModularCurve.PlaceSpecialization.spPic0 - field
ModularCurve.PlaceSpecialization.d0_j - field
ModularCurve.PlaceSpecialization.coeffEmb_mem_laurentBaseChange - field
ModularCurve.PlaceSpecialization.a - field
ModularCurve.PlaceSpecialization.d0_j_pole - field
ModularCurve.PlaceSpecialization.coeffEmb_mem_laurentBaseChange - field
ModularCurve.PlaceSpecialization.a - field
ModularCurve.PlaceSpecialization.d0_jN - field
ModularCurve.PlaceSpecialization.coeffEmb_mem_laurentBaseChange - field
ModularCurve.PlaceSpecialization.a - field
ModularCurve.PlaceSpecialization.d0_jN_pole - field
ModularCurve.PlaceSpecialization.coeffEmb_mem_laurentBaseChange - field
ModularCurve.PlaceSpecialization.a - field
ModularCurve.PlaceSpecialization.d1 - field
ModularCurve.PlaceSpecialization.laurentBaseChange - field
ModularCurve.PlaceSpecialization.sp - field
ModularCurve.PlaceSpecialization.sp - field
ModularCurve.PlaceSpecialization.sp - field
ModularCurve.PlaceSpecialization.d2 - field
ModularCurve.PlaceSpecialization.laurentBaseChange - field
ModularCurve.PlaceSpecialization.laurentBaseChange - field
ModularCurve.PlaceSpecialization.sp - field
ModularCurve.PlaceSpecialization.d4 - field
ModularCurve.PlaceSpecialization.d5 - field
ModularCurve.PlaceSpecialization.d6_inertia - field
ModularCurve.PlaceSpecialization.sp - field
ModularCurve.PlaceSpecialization.d6_frobenius - field
ModularCurve.PlaceSpecialization.sp - field
ModularCurve.PlaceSpecialization.d7_dictInfty - field
ModularCurve.PlaceSpecialization.ht - field
ModularCurve.PlaceSpecialization.coeffEmb_mem_laurentBaseChange - field
ModularCurve.PlaceSpecialization.coeffEmb_mem_laurentBaseChange - field
ModularCurve.PlaceSpecialization.coeffEmb_mem_laurentBaseChange - field
ModularCurve.PlaceSpecialization.a - field
ModularCurve.PlaceSpecialization.d7_dictZero - field
ModularCurve.PlaceSpecialization.ht - field
ModularCurve.PlaceSpecialization.coeffEmb_mem_laurentBaseChange - field
ModularCurve.PlaceSpecialization.coeffEmb_mem_laurentBaseChange - field
ModularCurve.PlaceSpecialization.coeffEmb_mem_laurentBaseChange - field
ModularCurve.PlaceSpecialization.a - field
ModularCurve.PlaceSpecialization.spPic0_compat - field
ModularCurve.PlaceSpecialization.D' - field
ModularCurve.PlaceSpecialization.D
Source
import Definitions.Def_ModularCurve_HeckeOperator import Definitions.Def_ModularCurve_CharLFrobeniusGeomLevel import Definitions.Def_HeckeGalois_EichlerShimura set_option autoImplicit false namespace ModularCurve open AlgebraicCurve set_option maxHeartbeats 800000 in structure PlaceSpecialization (A : ValuationSubring (AlgebraicClosure ℚ)) (ℓ N : ℕ) [Fact ℓ.Prime] [NeZero N] (data : ModularPolynomialData ℓ) (hKr : KroneckerCongruence ℓ data) (k : Type*) [Field k] [CharP k ℓ] (red : A →+* k) (hα : HeckeAlphaBarIntegral (AlgebraicClosure ℚ) N ℓ) (hβ : HeckeBetaBarIntegral (AlgebraicClosure ℚ) N ℓ) where sp : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar N) → Place k (modularFunctionFieldC k N) spPic0 : JZero N →+ Pic0 k (modularFunctionFieldC k N) d0_j : ∀ w : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar N), ∀ a : A, 0 < w.ord (⟨coeffEmb (AlgebraicClosure ℚ) jq, coeffEmb_mem_laurentBaseChange (AlgebraicClosure ℚ) (modularFunctionField_le_full N (jq_mem N))⟩ - algebraMap (AlgebraicClosure ℚ) (modularFunctionFieldBar N) (a : AlgebraicClosure ℚ)) → 0 < (sp w).ord (⟨jqModC k, jqModC_mem k N⟩ - algebraMap k (modularFunctionFieldC k N) (red a)) d0_j_pole : ∀ w : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar N), (∀ a : A, w.ord (⟨coeffEmb (AlgebraicClosure ℚ) jq, coeffEmb_mem_laurentBaseChange (AlgebraicClosure ℚ) (modularFunctionField_le_full N (jq_mem N))⟩ - algebraMap (AlgebraicClosure ℚ) (modularFunctionFieldBar N) (a : AlgebraicClosure ℚ)) ≤ 0) → (sp w).ord (⟨jqModC k, jqModC_mem k N⟩ : modularFunctionFieldC k N) < 0 d0_jN : ∀ w : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar N), ∀ a : A, 0 < w.ord (⟨coeffEmb (AlgebraicClosure ℚ) (qExpand ℚ N jq), coeffEmb_mem_laurentBaseChange (AlgebraicClosure ℚ) (jqd_mem_full N (dvd_refl N))⟩ - algebraMap (AlgebraicClosure ℚ) (modularFunctionFieldBar N) (a : AlgebraicClosure ℚ)) → 0 < (sp w).ord (⟨jqNModC k N, jqNModC_mem k N⟩ - algebraMap k (modularFunctionFieldC k N) (red a)) d0_jN_pole : ∀ w : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar N), (∀ a : A, w.ord (⟨coeffEmb (AlgebraicClosure ℚ) (qExpand ℚ N jq), coeffEmb_mem_laurentBaseChange (AlgebraicClosure ℚ) (jqd_mem_full N (dvd_refl N))⟩ - algebraMap (AlgebraicClosure ℚ) (modularFunctionFieldBar N) (a : AlgebraicClosure ℚ)) ≤ 0) → (sp w).ord (⟨jqNModC k N, jqNModC_mem k N⟩ : modularFunctionFieldC k N) < 0 d1 : ∀ W : Place (AlgebraicClosure ℚ) (laurentBaseChange (AlgebraicClosure ℚ) (modularFunctionFieldFull (N * ℓ))), sp (W.restrictAlong (heckeAlphaBar (AlgebraicClosure ℚ) N ℓ) hα) = frobOnPlacesGeomLevel k N data hKr (sp (W.restrictAlong (heckeBetaBar (AlgebraicClosure ℚ) N ℓ) hβ)) ∨ frobOnPlacesGeomLevel k N data hKr (sp (W.restrictAlong (heckeAlphaBar (AlgebraicClosure ℚ) N ℓ) hα)) = sp (W.restrictAlong (heckeBetaBar (AlgebraicClosure ℚ) N ℓ) hβ) d2 : ∀ v : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar N), frobOnPlacesGeomLevel k N data hKr (frobOnPlacesGeomLevel k N data hKr (sp v)) ≠ sp v → ∃ W₀ : Place (AlgebraicClosure ℚ) (laurentBaseChange (AlgebraicClosure ℚ) (modularFunctionFieldFull (N * ℓ))), W₀.restrictAlong (heckeBetaBar (AlgebraicClosure ℚ) N ℓ) hβ = v ∧ sp (W₀.restrictAlong (heckeAlphaBar (AlgebraicClosure ℚ) N ℓ) hα) = frobOnPlacesGeomLevel k N data hKr (sp v) ∧ W₀.ramificationIndexAlong (heckeBetaBar (AlgebraicClosure ℚ) N ℓ) = 1 ∧ ∀ W : Place (AlgebraicClosure ℚ) (laurentBaseChange (AlgebraicClosure ℚ) (modularFunctionFieldFull (N * ℓ))), W.restrictAlong (heckeBetaBar (AlgebraicClosure ℚ) N ℓ) hβ = v → sp (W.restrictAlong (heckeAlphaBar (AlgebraicClosure ℚ) N ℓ) hα) = frobOnPlacesGeomLevel k N data hKr (sp v) → W = W₀ d4 : Function.Surjective sp d5 : ∀ f : modularFunctionFieldBar N, f ≠ 0 → ∀ D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar N), (∀ v, D v = v.ord f) → ∃ g : modularFunctionFieldC k N, g ≠ 0 ∧ ∀ v' : Place k (modularFunctionFieldC k N), Finsupp.mapDomain sp D v' = v'.ord g d6_inertia : ∀ σ : AlgebraicClosure ℚ ≃ₐ[ℚ] AlgebraicClosure ℚ, σ ∈ A.inertiaSubgroupIn ℚ → ∀ w : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar N), sp (arithmeticGalois (modularFunctionFieldFull N) σ • w) = sp w d6_frobenius : ∀ σ : AlgebraicClosure ℚ ≃ₐ[ℚ] AlgebraicClosure ℚ, A.IsFrobeniusAt σ ℓ → ∀ w : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar N), sp (arithmeticGalois (modularFunctionFieldFull N) σ • w) = frobOnPlacesGeomLevel k N data hKr (sp w) d7_dictInfty : ∀ (w : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar N)) (τ : A) (ht : (⟨coeffEmb (AlgebraicClosure ℚ) (qExpand ℚ N jq), coeffEmb_mem_laurentBaseChange (AlgebraicClosure ℚ) (jqd_mem_full N (dvd_refl N))⟩ : modularFunctionFieldBar N) / (⟨coeffEmb (AlgebraicClosure ℚ) jq, coeffEmb_mem_laurentBaseChange (AlgebraicClosure ℚ) (modularFunctionField_le_full N (jq_mem N))⟩ : modularFunctionFieldBar N) ^ N ∈ w.toValuationSubring), (∀ a : A, w.ord (⟨coeffEmb (AlgebraicClosure ℚ) jq, coeffEmb_mem_laurentBaseChange (AlgebraicClosure ℚ) (modularFunctionField_le_full N (jq_mem N))⟩ - algebraMap (AlgebraicClosure ℚ) (modularFunctionFieldBar N) (a : AlgebraicClosure ℚ)) ≤ 0) → IsLocalRing.residue w.toValuationSubring ⟨_, ht⟩ = algebraMap (AlgebraicClosure ℚ) w.ResidueField (τ : AlgebraicClosure ℚ) → ⟨jqNModC k N, jqNModC_mem k N⟩ / (⟨jqModC k, jqModC_mem k N⟩ : modularFunctionFieldC k N) ^ N - algebraMap k (modularFunctionFieldC k N) (red τ) = 0 ∨ 0 < (sp w).ord (⟨jqNModC k N, jqNModC_mem k N⟩ / (⟨jqModC k, jqModC_mem k N⟩ : modularFunctionFieldC k N) ^ N - algebraMap k (modularFunctionFieldC k N) (red τ)) d7_dictZero : ∀ (w : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar N)) (τ : A) (ht : (⟨coeffEmb (AlgebraicClosure ℚ) jq, coeffEmb_mem_laurentBaseChange (AlgebraicClosure ℚ) (modularFunctionField_le_full N (jq_mem N))⟩ : modularFunctionFieldBar N) / (⟨coeffEmb (AlgebraicClosure ℚ) (qExpand ℚ N jq), coeffEmb_mem_laurentBaseChange (AlgebraicClosure ℚ) (jqd_mem_full N (dvd_refl N))⟩ : modularFunctionFieldBar N) ^ N ∈ w.toValuationSubring), (∀ a : A, w.ord (⟨coeffEmb (AlgebraicClosure ℚ) (qExpand ℚ N jq), coeffEmb_mem_laurentBaseChange (AlgebraicClosure ℚ) (jqd_mem_full N (dvd_refl N))⟩ - algebraMap (AlgebraicClosure ℚ) (modularFunctionFieldBar N) (a : AlgebraicClosure ℚ)) ≤ 0) → IsLocalRing.residue w.toValuationSubring ⟨_, ht⟩ = algebraMap (AlgebraicClosure ℚ) w.ResidueField (τ : AlgebraicClosure ℚ) → ⟨jqModC k, jqModC_mem k N⟩ / (⟨jqNModC k N, jqNModC_mem k N⟩ : modularFunctionFieldC k N) ^ N - algebraMap k (modularFunctionFieldC k N) (red τ) = 0 ∨ 0 < (sp w).ord (⟨jqModC k, jqModC_mem k N⟩ / (⟨jqNModC k N, jqNModC_mem k N⟩ : modularFunctionFieldC k N) ^ N - algebraMap k (modularFunctionFieldC k N) (red τ)) spPic0_compat : ∀ D : Divisor.degZero (K := AlgebraicClosure ℚ) (F := ↥(modularFunctionFieldBar N)), ∃ D' : Divisor.degZero (K := k) (F := ↥(modularFunctionFieldC k N)), (D' : Divisor k (modularFunctionFieldC k N)) = Finsupp.mapDomain sp (D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar N)) ∧ spPic0 (Pic0.mk D) = Pic0.mk D' end ModularCurve
Statements phrased using this module (137)
- Weak cusp rule for a place-specialization packet on X₀(p)
ModularCurve.PlaceSpecialization.cuspRuleFor130 below · depth 9 - Strong cusp rule for place-specialisation packets on X₀(p)
ModularCurve.PlaceSpecialization.cuspRuleStrongFor129 below · depth 10 - Frobenius acts on J₀(N) as special-fibre Frobenius push-forward
ModularCurve.PlaceSpecialization.spPic0_frobenius_smul_eq0 below · depth 10 - Inertia acts trivially on J₀(N) through a specialization packet
ModularCurve.PlaceSpecialization.spPic0_inertia_smul0 below · depth 10 - Surjectivity of the class map of a place-specialisation packet
ModularCurve.PlaceSpecialization.spPic0_surjective162 below · depth 10 - Decomposition-group stability of the kernel of the component map
ModularCurve.PlaceSpecialization.componentMap_decomposition_smul_eq_zero_of_eq_zero88 below · depth 11 - Frobenius stability of the kernel of the component map
ModularCurve.PlaceSpecialization.componentMap_frobenius_smul_eq_zero_of_eq_zero4 below · depth 11 - Hecke stability of the kernel of the component map at q
ModularCurve.PlaceSpecialization.componentMap_heckeAlg_smul_eq_zero_of_eq_zero_of_isModel965 below · depth 11 - T_ℓ acts as ℓ+1 through the component map
ModularCurve.PlaceSpecialization.componentMap_heckeGen_smul_eq_add_one_smul_of_isModel2,484 below · depth 11 - Injectivity of `spPic0` on prime-to-q torsion
ModularCurve.PlaceSpecialization.eq_zero_of_primeToTorsion_of_spPic0_eq_zero995 below · depth 11 - Hecke-equivariant component map and toric monodromy detection
ModularCurve.PlaceSpecialization.exists_heckeModule_componentGroup_toricMonodromyPart_mem_of_isModel2,736 below · depth 11 - Hecke-equivariance of the Pic⁰ specialisation map
ModularCurve.PlaceSpecialization.exists_heckeModule_pic0_spPic0_heckeAlg_smul999 below · depth 11 - Prime-to-q torsion classes lift along `spPic0`
ModularCurve.PlaceSpecialization.exists_primeToTorsion_spPic0_eq_of_primeToTorsion1,772 below · depth 11 - Lifting m-torsion from the component group to inertia invariants
ModularCurve.PlaceSpecialization.exists_torsion_preimage_componentMap_of_isModel1,311 below · depth 11 - Lifting m-torsion through the glued specialization at q
ModularCurve.PlaceSpecialization.exists_torsion_preimage_gluedSpecialization_of_isModel1,137 below · depth 11 - Widths, component map and glued specialisation over a place above q
ModularCurve.PlaceSpecialization.exists_widths_componentMap_gluedSpecialization_placeWidthChar_of_isModel1,892 below · depth 11 - Injectivity on prime-to-q torsion of component and glued specialization maps
ModularCurve.PlaceSpecialization.gluedSpecialization_componentMap_injective_primeToTorsion_of_isModel1,053 below · depth 11 - Frobenius law for the glued specialization
ModularCurve.PlaceSpecialization.gluedSpecialization_frobenius_smul_eq_glueMap4 below · depth 11 - Hecke action at q on node units of the glued specialisation
ModularCurve.PlaceSpecialization.gluedSpecialization_nodeUnit_heckeGen_eq_nodePerm_symm_comp526 below · depth 11 - Inertia differences on prime-to-q torsion are toric
ModularCurve.PlaceSpecialization.inertia_smul_sub_self_componentMap_eq_zero_toPic0Pair_eq_zero_of_isModel1,962 below · depth 11 - Eichler–Shimura relation: sp^{Pic^0} intertwines T_ℓ with the geometric Hecke correspondence
ModularCurve.PlaceSpecialization.spPic0_heckeGen_ell_eq_heckeFibreGeom209 below · depth 11 - Decomposition-group equivariance of the glued specialization's Pic⁰-pair
ModularCurve.PlaceSpecialization.toPic0Pair_gluedSpecialization_decomposition_smul_eq_spPic0_smul158 below · depth 11 - Decomposition-group stability of the vanishing Pic⁰-pair
ModularCurve.PlaceSpecialization.toPic0Pair_gluedSpecialization_decomposition_smul_eq_zero_of_eq_zero88 below · depth 11 - Hecke stability of the toric kernel of the glued specialization
ModularCurve.PlaceSpecialization.toPic0Pair_gluedSpecialization_heckeAlg_smul_eq_zero_of_eq_zero_of_isModel1,199 below · depth 11 - Hecke equivariance of the projected glued specialization at q
ModularCurve.PlaceSpecialization.toPic0Pair_gluedSpecialization_heckeGen_equivariant_of_isModel957 below · depth 11 - Hecke law for the glued specialization on Pic⁰ pairs
ModularCurve.PlaceSpecialization.toPic0Pair_gluedSpecialization_heckeGen_smul_eq_heckePic0Fibre_of_isModel1,173 below · depth 11 - Comparison of the H=top and Igusa integral models
ModularCurve.exists_iso_xHDRLevel_top_drLevel_epsInf_pointEquivPlace191 below · depth 11 - Néron object of J₀(N₀p) at p with its bridges
ModularCurve.exists_jZeroNeronObjectAtP_and_bridge4,509 below · depth 11 - Finite and toric parts transport from Jₜop(N₀p) to J₀(N₀p)
ModularCurve.map_finPts_jHNeronObjectAtP_top_eq_and_map_toricPts_eq_of_pic0Congr_of_bridge136 below · depth 11 - Néron object of J₀(N₀p) at p from a level model
ModularCurve.DRModelPackageLevel.exists_jZeroNeronObjectAtP_and_bridge_representsRelSubPic_abqFibre_of_levelModel4,507 below · depth 12 - Hecke descent family away from ℓ on the special fibre
ModularCurve.PlaceSpecialization.exists_heckeDescent_family_qne_ell965 below · depth 12 - Glued classes killed by `toPic0Pair` lift to toric monodromy
ModularCurve.PlaceSpecialization.exists_mem_toricMonodromyPart_sp_eq_of_toPic0Pair_eq_zero_of_isModel2,694 below · depth 12 - Widths, component map, glued specialisation and Hecke matrices
ModularCurve.PlaceSpecialization.exists_widths_componentMap_gluedSpecialization_placeWidthChar_correspondence_heckeComponentAction_agree_of_isModel2,483 below · depth 12 - Hecke equivariance of spPic⁰ at primes q≠ℓ
ModularCurve.PlaceSpecialization.heckePic0Fibre_spPic0_eq_spPic0_heckeGen_smul_of_ne_ell956 below · depth 12 - Place specialisation refines reduction mod ℓ on J₀(N)
ModularCurve.PlaceSpecialization.reductionModL_eq_zero_of_spPic0_eq_zero_and_isPlaceReductionModL_sp937 below · depth 12 - Specialization on Pic⁰ agrees with reduction mod ℓ
ModularCurve.PlaceSpecialization.spPic0_eq_reductionModL937 below · depth 12 - Hecke propagation of glued vanishing away from q
ModularCurve.PlaceSpecialization.toPic0Pair_gluedSpecialization_heckeGen_dvd_smul_eq_zero_of_eq_zero_of_isModel1,171 below · depth 12 - Gauss normalisation of q-expansions on X₀(N)
ModularCurve.exists_forall_coeff_smul_mem_and_exists_inv_coeff_mem_of_forall_ord_neg113 below · depth 12 - Pull-back along φ⁻¹ intertwines the two Abel–Jacobi dictionaries
ModularCurve.jZeroNeronObjectAtP_pts_pic0Congr_eq_pts_comp_pullbackHom_of_modelIso_levelData66 below · depth 12 - Strict points reduce to reduceFst and reduceSnd
ModularCurve.DRModelPackageLevel.compat_reduceFst_reduceSnd_of_sp_eq_spPlace1,848 below · depth 13 - Special-fibre torus, abelian quotient and pins at level N₀p
ModularCurve.DRModelPackageLevel.exists_torusFibre_abqFibre_degeneracy_specialFibre_pins_of_levelModel1,857 below · depth 13 - Extension to an A-point of relative Pic⁰ versus good classes
ModularCurve.DRModelPackageLevel.extendsToPlace_pts_iff_isGoodClass3,053 below · depth 13 - Inertia displacements σ x-x extend over the place
ModularCurve.DRModelPackageLevel.extendsToPlace_pts_smul_sub2,607 below · depth 13 - Prime-to-p inertia differences lie in the toric part
ModularCurve.JZeroNeronObjectAtP.smul_sub_self_mem_toricPts_of_isGluedSpecialization2,620 below · depth 13 - Inertial differences realise prescribed node units at one node pair
ModularCurve.PlaceSpecialization.exists_inertia_smul_sub_self_sp_eq_nodeUnit_of_isModel2,693 below · depth 13 - Hecke transport of node units on the glued fibre at q
ModularCurve.PlaceSpecialization.exists_matrix_eq_correspondence_gluedSpecialization_nodeUnit_heckeGen_of_ne_of_isModel1,780 below · depth 13 - U_q preserves good divisors and transports their gluing data
ModularCurve.PlaceSpecialization.isGoodDiv_heckeDivBar_self_and_glueData_mem_admissible281 below · depth 13 - Surjectivity of the reduction map of a level-N place specialisation
ModularCurve.PlaceSpecialization.red_surjective_of_level114 below · depth 13 - Hecke stability of the specialisation kernel for q ≠ ℓ
ModularCurve.PlaceSpecialization.spPic0_heckeGen_smul_eq_zero_of_ne_ell963 below · depth 13 - Integral q-expansion from A-integral j-values at poles
ModularCurve.exists_forall_coeff_smul_mem_of_forall_ord_neg112 below · depth 13 - A semistable witness package for J₀(Nq) at q∤ N
ModularCurve.exists_placeSpecialization_prolongationTuple_width_comp_sp_gluedSpecialization_placeWidthChar_regularityLaw_nodeValueLaw3,321 below · depth 13 - Place specialisation from a fibre model at arbitrary level
ModularCurve.CharPModel.exists_placeSpecialization_of_fibreModel_of_level1,056 below · depth 14 - Unique A-section of the model through a given place
ModularCurve.DRModelPackageLevel.existsUnique_section_comp_eq_pointEquivPlace_symm0 below · depth 14 - Closure under addition of points extending to a place
ModularCurve.DRModelPackageLevel.extendsToPlace_pts_add0 below · depth 14 - Inertia displacement at a non-crossing point extends to A
ModularCurve.DRModelPackageLevel.extendsToPlace_pts_mk_smul_single_sub_single_of_not_mem_range_comp_inter1,146 below · depth 14 - Negation preserves extendability of Picard points to a place
ModularCurve.DRModelPackageLevel.extendsToPlace_pts_neg0 below · depth 14 - Good classes extend to A-points of relative Pic⁰
ModularCurve.DRModelPackageLevel.extendsToPlace_pts_of_isGoodClass1,152 below · depth 14 - Extension over A implies good class for P
ModularCurve.DRModelPackageLevel.isGoodClass_of_extendsToPlace_pts3,008 below · depth 14 - Crossing special point: non-strict place, supersingular first reduction
ModularCurve.DRModelPackageLevel.not_isStrict_and_reduceFst_mem_of_range_subset_range_comp_inter1,910 below · depth 14 - Strict places reduce to reduceFst, reduceSnd on the Deligne–Rapoport model
ModularCurve.DRModelPackageLevel.placeOfPoint_eq_reduce_of_isModel_of_orderLawFixed1,896 below · depth 14 - Abelian coordinates of the reduction equal the glued specialisation pair
ModularCurve.DRModelPackageLevel.ptsSp_symm_abq_reduction_eq_toPic0Pair_of_isGluedSpecialization1,470 below · depth 14 - Inertia fixes the reduction of the section attached to a place
ModularCurve.DRModelPackageLevel.residue_comp_section_smul_eq_of_mem_inertia1 below · depth 14 - Genus-zero transfer of good-class and glued-specialization data
ModularCurve.PlaceSpecialization.exists_isGoodClass_iff_isGluedSpecialization_of_not_genusFF_pos1,681 below · depth 14 - T_ℓ (ℓ≠ q) acts on node units by a correspondence matrix
ModularCurve.PlaceSpecialization.exists_matrix_eq_correspondence_gluedSpecialization_nodeUnit_heckeGen_of_ne_of_isModel_of_prolongation_of_regularityLaw_nodeValueLaw986 below · depth 14 - Regular prolongation at level N reducing j and j_N
ModularCurve.PlaceSpecialization.exists_regularProlongation_sp_jq_jqN330 below · depth 14 - Frobenius squared fixes supersingular places under a place specialization
ModularCurve.PlaceSpecialization.frobOnPlacesGeomLevel_frobOnPlacesGeomLevel_eq_self_of_mem_ssPlaces381 below · depth 14 - Level-one place specialisation over an arbitrary residue field
ModularCurve.placeSpecialization_exists_level_one_of_surjective227 below · depth 14 - Place specialisation at non-squarefree level prime to ℓ
ModularCurve.CharPModel.exists_placeSpecialization_of_fibreModel_of_level_of_not_squarefree1,021 below · depth 15 - Existence of a place specialization at squarefree level
ModularCurve.CharPModel.exists_placeSpecialization_of_fibreModel_of_squarefree1,021 below · depth 15 - Reduction killed by both restriction maps when glued Pic⁰-pair vanishes
ModularCurve.DRModelPackageLevel.abq_reduction_eq_one_of_toPic0Pair_glueData_eq_zero_residueField1,404 below · depth 15 - Integral D-points have vanishing component invariant
ModularCurve.DRModelPackageLevel.comp_eq_zero_of_exists_schemeHomOver_of_depthCompLaw_of_abelJacobiPin_of_surjective_red_of_sp_eq_spPlace2,485 below · depth 15 - Strict places of the first kind reduce into the first component
ModularCurve.DRModelPackageLevel.exists_placeOfPoint_eq_reduceFst_of_isStrictFst1 below · depth 15 - Strict second-kind places reduce onto the second DR component
ModularCurve.DRModelPackageLevel.exists_placeOfPoint_eq_reduceSnd_of_isStrictSnd1 below · depth 15 - Strict places reduce onto one Deligne–Rapoport component, off the other
ModularCurve.DRModelPackageLevel.exists_swap_forall_isStrict_range_subset_range_comp3 below · depth 15 - Geometric generic points lie in the smooth locus
ModularCurve.DRModelPackageLevel.mem_smoothLocus_of_mem_range_fst_geomGeneric0 below · depth 15 - Abelian-quotient reduction of a good class matches the glued specialisation
ModularCurve.DRModelPackageLevel.ptsSp_symm_abq_reduction_pair_eq_toPic0Pair_of_isGluedSpecialization1,211 below · depth 15 - Points through a crossing have supersingular first reduction
ModularCurve.DRModelPackageLevel.reduceFst_mem_ssPlaces_of_specialPoint_eq_crossing126 below · depth 15 - Special fibre of an A-point equals reduction mod λ
ModularCurve.JZeroNeronObjectAtP.LevelModel.ptsSp_symm_schemeHomOverComp_resPt_eq_reductionModL741 below · depth 15 - Uniqueness of place specialisations when the special fibre has positive genus
ModularCurve.PlaceSpecialization.eq_of_genusFF_pos814 below · depth 15 - A level-one place specialisation forces k algebraically closed
ModularCurve.PlaceSpecialization.isAlgClosed10 below · depth 15 - Algebraic closedness of the residue field at level prime to q
ModularCurve.PlaceSpecialization.isAlgClosed_of_level_of_not_dvd83 below · depth 15 - First level-one reduction is the place j=b̄
ModularCurve.PlaceSpecialization.redFst_eq_charLGeomPlaceOfPoint_of_ord_pos5 below · depth 15 - Places with non-integral j specialise to j=∞
ModularCurve.PlaceSpecialization.sp_eq_placeInfty_of_forall_ord_le_zero7 below · depth 15 - A charted fibre model realising a place specialization at level N>1
ModularCurve.CharPModel.exists_fibreModel_cuspChart_placeSpecialization_sp_eq_spPlace_of_one_lt1,020 below · depth 16 - Existence of a resolved Deligne–Rapoport model with place–component dictionary
ModularCurve.DRModelPackageLevel.exists_dRResolvedModelPackageLevel_nodeEquiv_swap_nodeCoordinates_of_surjective_of_sp_eq_spPlace2,427 below · depth 16 - Local points over a crossing factor through the finite-j chart
ModularCurve.DRModelPackageLevel.exists_eq_spec_map_comp_iotaFin_of_comp_base_eq1 below · depth 16 - Sections of the resolved X₀(N₀p) model with depth-prescribed components
ModularCurve.DRModelPackageLevel.exists_sections_multidegree_eq_depth_of_exists_schemeHomOver_of_branch186 below · depth 16 - The two abq coordinates of a reduced Abel–Jacobi point
ModularCurve.DRModelPackageLevel.nonempty_poincare_pullbackAlong_abq_reduction_iso_pointTwist1,142 below · depth 16 - Positivity of ord_W(j-φ(j)) for a chart A-point
ModularCurve.DRModelPackageLevel.ord_jFun_sub_pos_of_eq_spec_map_comp_iotaFin1 below · depth 16 - Reduction of the chart value of j at a crossing
ModularCurve.DRModelPackageLevel.red_jChartFin_eq_evalAt_jGeomGen_nodeEquiv1 below · depth 16 - Degree-zero twists by A-sections come from D₀
ModularCurve.JZeroNeronObjectAtP.LevelModel.exists_schemeHomOver_poincare_pullbackAlong_iso_rigidify_sectionTwist_of_sum_eq_zero281 below · depth 16 - Reduction of a point classifying a rigidified section twist
ModularCurve.JZeroNeronObjectAtP.LevelModel.nonempty_poincare_baseChange_pullbackAlong_iso_pointTwist_of_iso_rigidify_sectionTwist29 below · depth 16 - Rigidified section twists restrict to the geometric generic fibre
ModularCurve.JZeroNeronObjectAtP.LevelModel.nonempty_poincare_pullbackAlong_iso_pointTwist_of_iso_rigidify_sectionTwist29 below · depth 16 - Poincaré pullback at a degree-zero class is the point twist
ModularCurve.JZeroNeronObjectAtP.LevelModel.nonempty_poincare_pullbackAlong_pts_pic0Mk_iso_pointTwist15 below · depth 16 - First reduction at q commutes with T_ℓ, ℓ ≠ q
ModularCurve.PlaceSpecialization.mapDomain_reduceFst_heckeDivBar_eq_heckeDivFibre_mapDomain_reduceFst_of_ne278 below · depth 16 - Second level-one reduction at a place with integral j_q
ModularCurve.PlaceSpecialization.redSnd_eq_charLGeomPlaceOfPoint_of_ord_pos5 below · depth 16 - Class-level map determined by the place-level map
ModularCurve.PlaceSpecialization.spPic0_eq_of_sp_eq0 below · depth 16 - Specialisation of a place where j-b vanishes
ModularCurve.PlaceSpecialization.sp_eq_charLGeomPlaceOfPoint_of_ord_pos5 below · depth 16 - Depth dictionary gives the depth divisor and second-branch degree
ModularCurve.PlaceSpecialization.sum_height_mul_multidegree_comp_eq_depthDiv_and_apply_inl_one_eq_degree_sndDiv_level144 below · depth 16 - Level-one place specialization over the residue field of A
ModularCurve.placeSpecialization_exists_level_one_residueField228 below · depth 16 - Depth-to-component dictionary for the resolved Deligne–Rapoport model
ModularCurve.DRModelPackageLevel.exists_nodeCoordinates_and_forall_mem_support_iff_chainPos_of_charts_of_sp_eq_spPlace2,052 below · depth 17 - Strict places specialise into one labelled component
ModularCurve.DRModelPackageLevel.exists_swap_forall_isStrict_section_mem_range_comp_of_sp_eq_spPlace1,861 below · depth 17 - Node widths of the resolved model equal place widths
ModularCurve.DRModelPackageLevel.forall_width_eq_of_charts_of_sp_eq_spPlace2,299 below · depth 17 - Poincaré pullback of an O-point as a twist of sections
ModularCurve.DRModelPackageLevel.nonempty_pullback_toDR_poincare_pullbackAlong_iso_foldr_sectionTwist180 below · depth 17 - Non-strict inertia-fixed places specialise to crossings
ModularCurve.DRModelPackageLevel.section_base_closedPoint_eq_crossing_of_reduceFst_mem_of_sp_eq_spPlace1,891 below · depth 17 - Specialisation commutes with degeneracy at fixed affine places
ModularCurve.PlaceSpecialization.sp_restrictAlong_eq_restrictAlong_sp_of_isModel_of_fixed_of_isAffineGeomPlace940 below · depth 17 - Node coordinates and chain position at one supersingular crossing
ModularCurve.DRModelPackageLevel.exists_nodeCoordinates_and_forall_mem_support_iff_chainPos_of_chartPresentation2,007 below · depth 18 - Function field of the O-model inside ℚ̄(X₀(N₀q))
ModularCurve.DRModelPackageLevel.exists_ringHom_functionField_pullback_forall_eq_algebraMap_and_coe_eq_coeffEmb0 below · depth 18 - Strict places orient sections onto the two special-fibre components
ModularCurve.DRModelPackageLevel.forall_isStrict_section_mem_range_comp_zero_comp_one_of_sp_eq_spPlace1,861 below · depth 18 - Integrality of the q-adic base change of the Deligne–Rapoport model
ModularCurve.DRModelPackageLevel.isIntegral_pullback_toBase_specMap3 below · depth 18 - Non-emptiness of the finite Igusa chart over O
ModularCurve.DRModelPackageLevel.nonempty_preimage_iotaFin_pullback_toBase_specMap0 below · depth 18 - Two-level degeneracy glue for glued specialisations at q'
ModularCurve.PlaceSpecialization.gluedSpecialization_twoLevel_degeneracyGlue_of_isModel_placeWidthChar_restrictAlong1,917 below · depth 18 - One witness package for the semistable specialisation of J₀(Nq)
ModularCurve.exists_placeSpecialization_prolongationTuple_width_comp_sp_gluedSpecialization_placeWidthChar3,321 below · depth 18 - Frobenius and Uₚ on the toric part of J₀(N₀p)[pⁿ]
ModularCurve.jZeroNeronObjectAtP_smul_mem_toricPts_and_heckeGen_smul_eq_of_isFrobeniusAt_of_bridge1,998 below · depth 18 - Germ of j(q^q)-j^q vanishing along the first component
ModularCurve.DRModelPackageLevel.exists_germ_jq_sub_pow_and_stalkSpecializes_mem_maximalIdeal_comp_zero299 below · depth 19 - Maximal ideals preserved at crossings under base change
ModularCurve.DRModelPackageLevel.map_maximalIdeal_stalkMap_bcMap_eq_of_inertia_grain0 below · depth 19 - Germs at a supersingular crossing lie in the node ring
ModularCurve.DRModelPackageLevel.mem_nodeIntegers_of_stalk_of_specializes_of_nodeEquiv_eq1,993 below · depth 19 - Branch residues and orders at a supersingular crossing
ModularCurve.DRModelPackageLevel.nodeResidue_eq_zero_iff_and_ord_eq_of_specializes_of_mem_maximalIdeal364 below · depth 19 - Crossing coordinates are uniformisers on the two branches
ModularCurve.DRModelPackageLevel.ord_placeOfPoint_stalkMap_eq_one_of_span_eq_maximalIdeal0 below · depth 19 - Evaluation at a place equals pull-back along an O-section
ModularCurve.DRModelPackageLevel.phi_mem_and_evalAt_eq_stalkClosedPointTo_of_section3 below · depth 19 - Crossing points are rational over the inertia ring O
ModularCurve.DRModelPackageLevel.surjective_residue_comp_germ_comp_appTop_of_inertia_grain10 below · depth 19 - Good representatives whose support avoids a finite set of places
ModularCurve.PlaceSpecialization.exists_isGoodDiv_mem_admissible_mk_eq_reduce_notMem_nodePairsOfPlaces1,719 below · depth 19 - Degeneracy pushforward of good divisors and glue data
ModularCurve.PlaceSpecialization.isGoodDiv_pushforwardAlong_and_glueData_eq_of_isModel944 below · depth 19 - Frobenius and Uₚ on prime-to-p toric torsion
ModularCurve.jZeroNeronObjectAtP_smul_mem_toricPts_and_heckeGen_smul_eq_and_smul_heckeGen_eq_of_isFrobeniusAt_of_ne1,993 below · depth 19 - A-points above supersingular places specialise to the crossing
ModularCurve.DRModelPackageLevel.base_closedPoint_eq_crossing_of_reduceFst_eq_of_sp_eq_spPlace1,891 below · depth 20 - Branch germs read as Gauss residues on X₀(N₀)_{κ_A}
ModularCurve.DRModelPackageLevel.ffEquiv_symm_stalkMap_genericPoint_eq_residue_phi363 below · depth 20 - Germs at a point met by both branches lie in both prolongations
ModularCurve.DRModelPackageLevel.mem_integers_and_mem_integers_of_stalk_of_specializes361 below · depth 20 - Branch generic stalks map into the two Gauss prolongations
ModularCurve.DRModelPackageLevel.phi_algebraMap_stalk_mem_integers_comp_genericPoint360 below · depth 20 - Chart-pinned readings agree at the generic point
ModularCurve.DRModelPackageLevel.specMap_comp_fromSpecStalk_genericPoint_comp_fst_eq_of_coe_eq_coeffEmb0 below · depth 20 - Prime-to-q inertia-invariant classes with equal glued specialisation coincide
ModularCurve.PlaceSpecialization.eq_of_primeToTorsion_of_componentMap_eq_zero_of_gluedSpecialization_eq1,054 below · depth 20 - Moving good classes off finite place sets: genus-zero case
ModularCurve.PlaceSpecialization.exists_isGoodDiv_mem_admissible_mk_eq_reduce_notMem_nodePairsOfPlaces_of_not_genusFF_pos1,713 below · depth 20 - Place specialization at level one forces red surjective
ModularCurve.PlaceSpecialization.red_surjective10 below · depth 20 - Specialization commutes with degeneracy restriction off Frobenius-fixed places
ModularCurve.PlaceSpecialization.sp_restrictAlong_eq_restrictAlong_sp_of_isModel940 below · depth 20 - Hecke transport of node units on the glued fibre at q
ModularCurve.PlaceSpecialization.exists_matrix_gluedSpecialization_nodeUnit_heckeGen_of_ne_of_isModel1,780 below · depth 21 - Genus-zero transport of glued specialisation data along a node-stable automorphism
ModularCurve.PlaceSpecialization.exists_isNodeStable_isGoodClass_iff_isGluedSpecialization_glueMap_of_not_genusFF_pos1,681 below · depth 22 - Integral node matrix for T_ℓ, ℓ≠ q, on glued specialisations
ModularCurve.PlaceSpecialization.exists_matrix_gluedSpecialization_nodeUnit_heckeGen_of_ne_of_isModel_of_prolongation_of_regularityLaw_nodeValueLaw986 below · depth 22 - Node-unit Poincaré bundle puts a special-fibre class in the toric part
ModularCurve.JHNeronObjectAtP.ptsSp_symm_schemeHomOverComp_mem_range_nodeUnit_of_isNodeUnitModule_poincare_pullbackAlong1,672 below · depth 26