Definitions/Def_ModularCurve_GlueData.lean
Gluing data attached to places of the level- curve
Throughout, q is a prime, A a valuation subring of \overline{\mathbb Q}, N a nonzero level, k a field of characteristic q with a ring homomorphism \mathrm{red} : A \to k, data a ModularPolynomialData q satisfying KroneckerCongruence q data, and h\alpha, h\beta the integrality hypotheses for the two degeneracy embeddings heckeAlphaBar and heckeBetaBar of the level-N into the level-Nq Laurent-series function field over \overline{\mathbb Q}; P is a PlaceSpecialization for these data, whose field sp carries places of modularFunctionFieldBar N to places of modularFunctionFieldC k N.
For a place W of modularFunctionFieldBar (N * q), reduceFst and reduceSnd are the images under P.sp of the restrictions of W along heckeAlphaBar, respectively heckeBetaBar. Writing \varphi for the self-map frobOnPlacesGeomLevel k N data hKr of the places of modularFunctionFieldC k N, the predicate IsStrictFst W asserts \varphi(\mathrm{reduceFst}\,W) = \mathrm{reduceSnd}\,W together with \varphi^2(\mathrm{reduceFst}\,W) \neq \mathrm{reduceFst}\,W, and IsStrictSnd W asserts \mathrm{reduceFst}\,W = \varphi(\mathrm{reduceSnd}\,W) together with \varphi^2(\mathrm{reduceSnd}\,W) \neq \mathrm{reduceSnd}\,W. A divisor D on the level-Nq curve over \overline{\mathbb Q} is IsGoodDiv if every place in its support satisfies one of the two; fstDiv D and sndDiv D are the restrictions of D (as a finitely supported function) to the places of the first, respectively second, kind. For a finite set S of pairs of places of modularFunctionFieldC k N, glueData P S D is the element of GluingData k (modularFunctionFieldC k N) S given by the triple consisting of the pushforward of fstDiv D along reduceFst, the pushforward of sndDiv D along reduceSnd, and 0 in the remaining component.
IsGluedSpecialization S sp, for an additive map sp from the classes in JZero (N * q) fixed by every element of the inertia subgroup A.inertiaSubgroupIn ℚ to GluedPic0 k (modularFunctionFieldC k N) S, asserts that whenever a degree-zero divisor D is good, its class lies in those inertia invariants, and an admissible gluing datum x equals glueData P S D, one has sp of that class equal to GluedPic0.mk S x. IsGoodClass S x asserts that x \in JZero (N * q) is the class of some good degree-zero divisor whose gluing datum is admissible. The accompanying lemmas record the degenerate case: fstDiv, sndDiv and glueData vanish on the zero divisor, the zero divisor is good, and the zero class is a good class.
Relation to Mathlib
Divisors are Mathlib finitely supported functions on the project's type of places, so the splitting fstDiv/sndDiv is Finsupp.filter and the two reductions of a divisor are Finsupp.mapDomain; the gluing data, their admissible subgroup and the glued degree-zero class group are project notions with no Mathlib counterpart.
Where it is used
These predicates give the explicit recipe by which a divisor class on X_0(Nq) over \overline{\mathbb Q} is specialised to the glued Picard group of the special fibre at q, two copies of X_0(N) over k crossed along the set S of node pairs. They provide the vocabulary in which the semistable specialisation data for J_0(Nq) at q is constructed, which in turn feeds the level-lowering step of the proof.
References
- 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
- K. A. Ribet, On modular representations of \mathrm{Gal}(\overline{\mathbb{Q}}/\mathbb{Q}) arising from modular forms, Inventiones Mathematicae 100 (1990), 431–476
- H. Darmon, F. Diamond and R. Taylor, Fermat's Last Theorem, in: Current Developments in Mathematics 1995, International Press, 1995, 1–154, §4
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 127 lines
- 15 declarations
- used in the statements of 170 theorems and imported by 189 proofs
- imports 2 definition modules
Source file: Definitions/Def_ModularCurve_GlueData.lean
Declarations
- def
ModularCurve.PlaceSpecialization.reduceFst - def
ModularCurve.PlaceSpecialization.reduceSnd - def
ModularCurve.PlaceSpecialization.IsStrictFst - def
ModularCurve.PlaceSpecialization.IsStrictSnd - def
ModularCurve.PlaceSpecialization.IsGoodDiv - def
ModularCurve.PlaceSpecialization.fstDiv - def
ModularCurve.PlaceSpecialization.sndDiv - def
ModularCurve.PlaceSpecialization.glueData - def
ModularCurve.PlaceSpecialization.IsGluedSpecialization - def
ModularCurve.PlaceSpecialization.IsGoodClass - theorem
ModularCurve.PlaceSpecialization.fstDiv_zero - theorem
ModularCurve.PlaceSpecialization.sndDiv_zero - theorem
ModularCurve.PlaceSpecialization.glueData_zero - theorem
ModularCurve.PlaceSpecialization.isGoodDiv_zero - theorem
ModularCurve.PlaceSpecialization.isGoodClass_zero
Source
import Definitions.Def_ModularCurve_JZeroSemistableSpecialization import Definitions.Def_ModularCurve_PlaceSpecialization set_option autoImplicit false noncomputable section open AlgebraicCurve IsLocalRing namespace ModularCurve namespace PlaceSpecialization variable {q : ℕ} [Fact q.Prime] {A : ValuationSubring (AlgebraicClosure ℚ)} {N : ℕ} [NeZero N] {k : Type*} [Field k] [CharP k q] {red : A →+* k} {data : ModularPolynomialData q} {hKr : KroneckerCongruence q data} {hα : HeckeAlphaBarIntegral (AlgebraicClosure ℚ) N q} {hβ : HeckeBetaBarIntegral (AlgebraicClosure ℚ) N q} (P : PlaceSpecialization A q N data hKr k red hα hβ) def reduceFst (W : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar (N * q))) : Place k (modularFunctionFieldC k N) := P.sp (W.restrictAlong (heckeAlphaBar (AlgebraicClosure ℚ) N q) hα) def reduceSnd (W : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar (N * q))) : Place k (modularFunctionFieldC k N) := P.sp (W.restrictAlong (heckeBetaBar (AlgebraicClosure ℚ) N q) hβ) def IsStrictFst (W : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar (N * q))) : Prop := frobOnPlacesGeomLevel k N data hKr (P.reduceFst W) = P.reduceSnd W ∧ frobOnPlacesGeomLevel k N data hKr (frobOnPlacesGeomLevel k N data hKr (P.reduceFst W)) ≠ P.reduceFst W def IsStrictSnd (W : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar (N * q))) : Prop := P.reduceFst W = frobOnPlacesGeomLevel k N data hKr (P.reduceSnd W) ∧ frobOnPlacesGeomLevel k N data hKr (frobOnPlacesGeomLevel k N data hKr (P.reduceSnd W)) ≠ P.reduceSnd W def IsGoodDiv (D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar (N * q))) : Prop := ∀ W ∈ D.support, P.IsStrictFst W ∨ P.IsStrictSnd W open Classical in def fstDiv (D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar (N * q))) : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar (N * q)) := D.filter P.IsStrictFst open Classical in def sndDiv (D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar (N * q))) : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar (N * q)) := D.filter P.IsStrictSnd def glueData (S : Finset (Place k (modularFunctionFieldC k N) × Place k (modularFunctionFieldC k N))) (D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar (N * q))) : GluingData k (modularFunctionFieldC k N) S := (Finsupp.mapDomain P.reduceFst (P.fstDiv D), Finsupp.mapDomain P.reduceSnd (P.sndDiv D), 0) def IsGluedSpecialization (S : Finset (Place k (modularFunctionFieldC k N) × Place k (modularFunctionFieldC k N))) (sp : ↥(inertiaInvariants A (N * q)) →+ GluedPic0 k (modularFunctionFieldC k N) S) : Prop := ∀ (D : ↥(Divisor.degZero (K := AlgebraicClosure ℚ) (F := ↥(modularFunctionFieldBar (N * q))))) (hH : Pic0.mk D ∈ inertiaInvariants A (N * q)) (x : ↥(GluingData.admissible S)), P.IsGoodDiv (D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar (N * q))) → (x : GluingData k (modularFunctionFieldC k N) S) = P.glueData S D → sp ⟨Pic0.mk D, hH⟩ = GluedPic0.mk S x def IsGoodClass (S : Finset (Place k (modularFunctionFieldC k N) × Place k (modularFunctionFieldC k N))) (x : JZero (N * q)) : Prop := ∃ D : ↥(Divisor.degZero (K := AlgebraicClosure ℚ) (F := ↥(modularFunctionFieldBar (N * q)))), P.IsGoodDiv (D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar (N * q))) ∧ P.glueData S D ∈ GluingData.admissible S ∧ Pic0.mk D = x theorem fstDiv_zero : P.fstDiv 0 = 0 := by ext W simp [fstDiv, Finsupp.filter_apply] theorem sndDiv_zero : P.sndDiv 0 = 0 := by ext W simp [sndDiv, Finsupp.filter_apply] theorem glueData_zero (S : Finset (Place k (modularFunctionFieldC k N) × Place k (modularFunctionFieldC k N))) : P.glueData S 0 = 0 := by simp only [glueData, fstDiv_zero, sndDiv_zero, Finsupp.mapDomain_zero] rfl theorem isGoodDiv_zero : P.IsGoodDiv 0 := fun W hW => absurd hW (by simp) theorem isGoodClass_zero (S : Finset (Place k (modularFunctionFieldC k N) × Place k (modularFunctionFieldC k N))) : P.IsGoodClass S 0 := by refine ⟨0, P.isGoodDiv_zero, ?_, rfl⟩ rw [ZeroMemClass.coe_zero, glueData_zero] exact zero_mem _ example (S : Finset (Place k (modularFunctionFieldC k N) × Place k (modularFunctionFieldC k N))) (h : ∀ W, ¬ P.IsStrictFst W ∧ ¬ P.IsStrictSnd W) (sp : ↥(inertiaInvariants A (N * q)) →+ GluedPic0 k (modularFunctionFieldC k N) S) : P.IsGluedSpecialization S sp := by intro D hH x hgood hx have hD : (D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar (N * q))) = 0 := by ext W by_contra hW rcases hgood W (Finsupp.mem_support_iff.mpr hW) with h1 | h2 · exact (h W).1 h1 · exact (h W).2 h2 have hD0 : D = 0 := Subtype.ext hD subst hD0 have hx0 : (x : GluingData k (modularFunctionFieldC k N) S) = 0 := by rw [hx, ZeroMemClass.coe_zero, glueData_zero] have hx0' : x = 0 := Subtype.ext hx0 subst hx0' have hmk : (⟨Pic0.mk (0 : ↥(Divisor.degZero (K := AlgebraicClosure ℚ) (F := ↥(modularFunctionFieldBar (N * q))))), hH⟩ : ↥(inertiaInvariants A (N * q))) = 0 := Subtype.ext rfl rw [hmk, map_zero, map_zero] end PlaceSpecialization end ModularCurve end
Statements phrased using this module (170)
- 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 - 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 - Good kernel classes of order prime to q vanish
ModularCurve.PlaceSpecialization.IsGluedSpecialization.eq_zero_of_isGoodClass_of_nsmul_eq_zero_of_not_dvd_of_isModel1,052 below · depth 12 - Glued specialization is onto by good inertia-invariant classes
ModularCurve.PlaceSpecialization.IsGluedSpecialization.exists_isGoodClass_apply_eq482 below · depth 12 - Good classes in the kernel of a glued specialization are m-divisible
ModularCurve.PlaceSpecialization.IsGluedSpecialization.exists_nsmul_eq_of_isGoodClass_of_apply_eq_zero_of_isModel1,125 below · depth 12 - Good classes form a subgroup of the inertia invariants
ModularCurve.PlaceSpecialization.exists_addSubgroup_mem_iff_isGoodClass0 below · depth 12 - Inertia displacement of prime-to-q torsion: good divisor with vanishing Pic⁰ pair
ModularCurve.PlaceSpecialization.exists_goodRep_toPic0Pair_eq_zero_smul_sub_self_of_isModel1,928 below · depth 12 - Kind-respecting good admissible representative for T_ℓ on J₀(Nq)
ModularCurve.PlaceSpecialization.exists_good_admissible_rep_heckeDivBar_good_admissible_kindResp_of_isModel930 below · depth 12 - Good admissible representatives stable under the q-correspondence
ModularCurve.PlaceSpecialization.exists_good_admissible_rep_heckeDivBar_self_good_admissible284 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 - Component map and Ogg bidegree divisor at characteristic-q widths
ModularCurve.PlaceSpecialization.exists_widths_comp_sndDegLaw_surjective_repOfKer_principalGood_of_widthPinChar_of_isModel1,734 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 - Glued principality of the gluing datum of a principal divisor
ModularCurve.PlaceSpecialization.isGluedPrincipal_glueData_of_forall_apply_eq_ord_of_regularityLaw_of_nodeValueLaw_of_nonempty678 below · depth 12 - Vanishing of the component map implies a good class
ModularCurve.PlaceSpecialization.isGoodClass_of_comp_eq_zero_of_exists_isGoodDiv163 below · depth 12 - Inertia-invariance of inertial displacements of prime-to-q torsion
ModularCurve.PlaceSpecialization.smul_sub_self_mem_inertiaInvariants_of_primeToTorsion_of_isModel1,961 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 - 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 - Moving good classes off a finite set of reductions
ModularCurve.PlaceSpecialization.ProlongationTuple.exists_good_admissible_rep_reduce_notMem_of_isGoodClass_of_isModel925 below · depth 13 - Component map of J₀(Nq) with second-copy degree law
ModularCurve.PlaceSpecialization.exists_comp_sndDegLaw_coordMem_repOfKer_widthChar_of_isModel1,733 below · depth 13 - Depth function and surjective component map on inertia invariants
ModularCurve.PlaceSpecialization.exists_depth_comp_depthCompLaw_depthValueLaw_sndDegLaw_surjective_repOfKer_repOfInvariant_principalGood_of_widthPinChar_of_isModel1,732 below · depth 13 - Inertia-invariant lifting of all but finitely many places
ModularCurve.PlaceSpecialization.exists_finset_forall_exists_sp_eq_forall_inertia_smul_eq426 below · depth 13 - Inertia displacements σ V-V admit good admissible representatives
ModularCurve.PlaceSpecialization.exists_goodRep_admissible_smul_single_sub_self_of_isModel1,474 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 - Good effective divisors avoiding a finite set of reductions
ModularCurve.PlaceSpecialization.exists_isGoodDiv_reduce_notMem_isPrincipal_sub_of_smul_eq175 below · depth 13 - Principal divisor on X₀(Nq) realising the width sum
ModularCurve.PlaceSpecialization.exists_isPrincipal_isGoodDiv_degree_fstDiv_eq_widthSum_widthChar_of_isModel1,395 below · depth 13 - Inertia-fixed strict points in general position over the special fibre
ModularCurve.PlaceSpecialization.exists_isStrictFst_isStrictSnd_general_position_disjoint_forall_inertia_smul_eq469 below · depth 13 - Inertia-fixed lift of the second kind over a given place
ModularCurve.PlaceSpecialization.exists_isStrictSnd_restrictAlong_eq_forall_inertia_smul_eq4 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 - Moving divisor classes off places outside the supersingular locus
ModularCurve.PlaceSpecialization.exists_rep_reduce_notMem_of_moving_of_disjoint_of_isModel959 below · depth 13 - Inertial displacements of strict divisors: goodness and vanishing glue datum
ModularCurve.PlaceSpecialization.isGoodDiv_and_glueData_smul_sub_self_eq_zero_of_forall_isStrict3 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 - Inertia invariance of the first level-N reduction
ModularCurve.PlaceSpecialization.reduceFst_arithmeticGalois_smul2 below · depth 13 - Surjectivity of the first reduction map on places
ModularCurve.PlaceSpecialization.reduceFst_surjective53 below · depth 13 - Inertia invariance of the second level-N reduction
ModularCurve.PlaceSpecialization.reduceSnd_arithmeticGalois_smul3 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 - 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 - Inertial displacements of prime-to-q torsion are good toric classes
ModularCurve.PlaceSpecialization.IsGluedSpecialization.isGoodClass_and_toPic0Pair_apply_smul_sub_self_of_isModel1,962 below · depth 14 - One-point moving on X₀(Nq) into the strict locus
ModularCurve.PlaceSpecialization.ProlongationTuple.exists_ord_eq_one_forall_isStrict_reduceFst_reduceSnd_notMem922 below · depth 14 - Good principal divisors yield admissible gluing data
ModularCurve.PlaceSpecialization.ProlongationTuple.glueData_mem_admissible_of_isGoodDiv_of_ord_eq_of_not_dvd231 below · depth 14 - Depth functional of a principal divisor lies in the Gram image
ModularCurve.PlaceSpecialization.depthDual_add_mem_range_gramMap_of_isPrincipal1,553 below · depth 14 - Vanishing of the depth functional on good divisors
ModularCurve.PlaceSpecialization.depthDual_eq_zero_of_isGoodDiv0 below · depth 14 - Arbitrarily many strict places of both kinds avoiding a finite set
ModularCurve.PlaceSpecialization.exists_families_isStrictFst_isStrictSnd_notMem230 below · depth 14 - Inertia-fixed strict families of places at level Nq
ModularCurve.PlaceSpecialization.exists_families_isStrictFst_isStrictSnd_notMem_forall_inertia_smul_eq442 below · depth 14 - Inertia-fixed representative with strict or supersingular support
ModularCurve.PlaceSpecialization.exists_inertiaFixedSupport_degZero_pic0Mk_eq_of_isModel1,581 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 - Good function with prescribed pole orders at supersingular nodes
ModularCurve.PlaceSpecialization.exists_isGoodDiv_ord_residueFst_eq_neg_lcm_div_widthChar_of_orderLawFixed1,394 below · depth 14 - Depth-component kernel classes are classes of good divisors
ModularCurve.PlaceSpecialization.exists_isGoodDiv_pic0Mk_eq_of_comp_eq_zero_of_depthCompLaw_depthValueLaw_repOfInvariant_of_isModel1,541 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 - Moving the strict part of a divisor off T₀, kind-respecting
ModularCurve.PlaceSpecialization.exists_rep_eq_off_strict_reduce_notMem_heckeDivBar_strictPart_good_kindResp_of_isModel929 below · depth 14 - Moving lemma: representatives with j-residues avoiding S
ModularCurve.PlaceSpecialization.exists_rep_forall_exists_ord_sub_pos_residue_notMem_of_isModel_of_regularityLaw_of_orderLawFixed_of_ssPlaces956 below · depth 14 - Strictness of a place versus φ²-fixedness of its first reduction
ModularCurve.PlaceSpecialization.isStrictFst_or_isStrictSnd_iff0 below · depth 14 - Inertia acts unipotently on prime-to-q torsion of J₀(q)
ModularCurve.PlaceSpecialization.smul_sub_self_mem_inertiaInvariants_of_primeToTorsion_of_isModel_levelOne1,494 below · depth 14 - 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 - Common unit with simple zero and residue order tables
ModularCurve.PlaceSpecialization.ProlongationTuple.exists_commonUnit_ord_eq_one_orderTables_of_realisation0 below · depth 15 - Depths and component map over the residue field of A
ModularCurve.PlaceSpecialization.exists_depth_comp_depthCompLaw_depthValueLaw_sndDegLaw_surjective_repOfKer_repOfInvariant_principalGood_of_widthPinChar_of_isModel_residueField1,733 below · depth 15 - Hecke neighbours inherit strictness and kind off a finite set
ModularCurve.PlaceSpecialization.exists_finset_isStrict_and_kind_of_mem_support_heckeDivBar_single_of_reduce_notMem223 below · depth 15 - Good admissible representatives of inertia displacements at level q
ModularCurve.PlaceSpecialization.exists_goodRep_toPic0Pair_eq_zero_smul_sub_self_levelOne1,113 below · depth 15 - Inertia-stable divisor classes with strict or supersingular support
ModularCurve.PlaceSpecialization.exists_inertiaStable_pic0Mk_eq_of_inertiaStable_of_isModel935 below · depth 15 - Cross-power law for node depths under the ℓ-degeneracy maps
ModularCurve.PlaceSpecialization.exists_reduceFst_eq_and_yDepth_restrictAlong_heckeAlphaBar_pow_width_eq_of_ne_of_not_dvd1,950 below · depth 15 - First reduction intertwines T_ℓ with the fibre correspondence
ModularCurve.PlaceSpecialization.mapDomain_reduceFst_heckeDivBar_eq_heckeDivFibre_mapDomain_reduceFst_of_ne_of_isModel_of_orderLawFixed842 below · depth 15 - First reduction of the Hecke divisor of one place
ModularCurve.PlaceSpecialization.mapDomain_reduceFst_heckeDivBar_single_apply_eq_correspondence_of_ne346 below · depth 15 - Supersingularity propagates along the ℓ-Hecke correspondence, ℓ ≠ q
ModularCurve.PlaceSpecialization.reduceFst_mem_ssPlaces_of_mem_support_heckeDivBar_single_of_ne345 below · depth 15 - 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 - 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 - Moving lemma on X₀(Nq) with inertia equivariance
ModularCurve.PlaceSpecialization.ProlongationTuple.exists_ord_eq_one_forall_isStrict_reduceFst_reduceSnd_notMem_forall_inertia_smul_eq_of_isModel927 below · depth 16 - Depth dual of a principal divisor lies in the Gram image
ModularCurve.PlaceSpecialization.depthDual_add_mem_range_gramMap_of_isPrincipal_widthChar1,985 below · depth 16 - Level-one glued class of an inertial displacement is a node unit
ModularCurve.PlaceSpecialization.exists_goodRep_gluedMk_eq_nodeUnit_smul_single_sub_self_levelOne1,086 below · depth 16 - Cross-power law for node depths along the level-ℓ Hecke roof
ModularCurve.PlaceSpecialization.exists_reduceFst_eq_and_yDepth_restrictAlong_heckeAlphaBar_pow_placeWidthChar_eq_of_ne_of_not_dvd1,949 below · depth 16 - Moving lemma for degree-zero classes at level 1· q
ModularCurve.PlaceSpecialization.exists_rep_reduce_notMem_of_moving_of_disjoint_levelOne932 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 - 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 - Node depth along the degeneracy tower is a ramification power
ModularCurve.PlaceSpecialization.yDepth_restrictAlong_towerInclBar_eq_yDepth_pow_ramificationIndexAlong_heckeAlphaC1,296 below · depth 16 - Depth along the ℓ-substitution leg is a ramification power
ModularCurve.PlaceSpecialization.yDepth_restrictAlong_towerSubstBar_eq_yDepth_pow_ramificationIndexAlong_heckeBetaC985 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 - 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 - Good admissible representative of σ V-V at a wide node
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.exists_goodRep_admissible_smul_single_sub_self_of_eq_zero_or_eq1,025 below · depth 17 - Good admissible representative of σ V-V at a supersingular node
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.exists_goodRep_admissible_smul_single_sub_self_of_ne_zero_of_ne913 below · depth 17 - Moving representatives of J₀(q)-classes off a finite place set
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.exists_rep_redFst_redSnd_notMem_of_forall_notMem_ssPlaces591 below · depth 17 - Inertia-equivariant one-point mover on X₀(Nq)
ModularCurve.PlaceSpecialization.ProlongationTuple.exists_commonUnit_ord_eq_one_orderTables_of_realisation_forall_inertia_smul_eq_of_isModel0 below · depth 17 - Node depth along the ℓ-degeneracy leg is a ramified power
ModularCurve.PlaceSpecialization.yDepth_restrictAlong_towerInclBar_eq_yDepth_pow_ramificationIndexAlong_heckeAlphaC_of_prime1,308 below · depth 17 - Node depth along the substitution degeneracy leg at ℓ≠ q
ModularCurve.PlaceSpecialization.yDepth_restrictAlong_towerSubstBar_eq_yDepth_pow_ramificationIndexAlong_heckeBetaC_of_prime985 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 - Inertia-stable representatives of J₀(q)^{I_A} avoiding a finite place set
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.exists_inertiaStable_rep_redFst_redSnd_notMem_of_forall_notMem_ssPlaces702 below · depth 18 - One-point moving lemma on X₀(q) at level one
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.exists_ord_eq_one_forall_redFst_redSnd_notMem590 below · depth 18 - Inertia-stable divisors modulo fixed strict and glue-trivial divisors
ModularCurve.PlaceSpecialization.exists_fixedStrict_kernelGood_principal1,690 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
… and 20 more statements (search for the module name to find them).