Definitions/Def_ModularCurve_SupersingularNodePlaces.lean
Node pairs of places; supersingular places of the modular function field
Two unrelated groups of definitions. First, for a field extension F/K, recall that a place of F over K is a valuation subring A \subseteq F containing the image of K, with A \neq F and A a principal ideal ring, and that the group \mathrm{SemilinearAut}\,K\,F of pairs (\sigma,\tau) \in \mathrm{Aut}(F) \times \mathrm{Aut}(K) with \sigma \circ \iota = \iota \circ \tau acts on places by transporting valuation subrings. For g in that group, smulNodePair sends a place w to the ordered pair (w, g \cdot w); this is injective (the first coordinate recovers w), so it packages as an embedding and, for a finite set W of places, gives the finite set \mathrm{nodePairsOfPlaces}(g,W) = \{(w, g\cdot w) : w \in W\}, of the same cardinality as W and in explicit bijection nodeEquivOfPlaces with W via the first projection. A member s of this set satisfies s_1 \in W and s_2 = g \cdot s_1. A function e on places transports to \mathrm{widthOfPlaces}(g,W,e)(s) := e(s_1) on the pairs.
Second, for N \geq 1, a natural number q and a field K, a place w of the level-N modular function field modularFunctionFieldC K N is declared supersingular, \mathrm{IsSupersingularPlace}\,q\,N\,K\,w, when three conditions hold: w satisfies Place.IsRational; w is an affine geometric place, i.e. both generators jGeomGen K N and jNGeomGen K N lie in the valuation subring of w; and the value w.\mathrm{evalAt} of the first generator lies in \mathrm{ssJSet}\,q\,K, the set of those j \in K such that every elliptic Weierstrass curve over K with invariant j has no nonzero affine point killed by q. The set of such places is ssPlaces. Finally, a supersingular place is centred, in the sense of \mathrm{IsCentreOf} (positive order of each generator minus the corresponding coordinate), at the pair of evaluations (w.\mathrm{evalAt}(j), w.\mathrm{evalAt}(j_N)).
Relation to Mathlib
Mathlib has no notion of place of a function field over a base field, of semilinear automorphism of such an extension, of modular function field, or of supersingular j-invariant; Place, SemilinearAut, modularFunctionFieldC and ssJSet are the project's own. The Mathlib ingredients used are WeierstrassCurve with its j-invariant and affine point group, valuation subrings, and finite sets with their maps.
Where it is used
The pairs (w, g \cdot w) model the crossing points of the two copies of the level-N modular curve in the special fibre at q of X_0(Nq), with g the q-Frobenius and W the set of supersingular places; the width function records the thickness data attached to each such node. These combinatorics feed the special-fibre computations used in level lowering.
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
- J. H. Silverman, The Arithmetic of Elliptic Curves, Graduate Texts in Mathematics 106, Springer, 1986
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 132 lines
- 24 declarations
- used in the statements of 999 theorems and imported by 1,051 proofs
- imports 3 definition modules
Source file: Definitions/Def_ModularCurve_SupersingularNodePlaces.lean
Imports
Declarations
- def
ModularCurve.smulNodePair - theorem
ModularCurve.smulNodePair_fst - theorem
ModularCurve.smulNodePair_snd - theorem
ModularCurve.smulNodePair_injective - def
ModularCurve.smulNodePairEmb - theorem
ModularCurve.smulNodePairEmb_apply - def
ModularCurve.nodePairsOfPlaces - theorem
ModularCurve.mem_nodePairsOfPlaces_iff - theorem
ModularCurve.smulNodePair_mem_nodePairsOfPlaces - theorem
ModularCurve.card_nodePairsOfPlaces - theorem
ModularCurve.fst_mem_of_mem_nodePairsOfPlaces - theorem
ModularCurve.snd_eq_of_mem_nodePairsOfPlaces - def
ModularCurve.nodeEquivOfPlaces - theorem
ModularCurve.coe_nodeEquivOfPlaces_apply - theorem
ModularCurve.coe_nodeEquivOfPlaces_symm_apply - def
ModularCurve.widthOfPlaces - theorem
ModularCurve.widthOfPlaces_apply - theorem
ModularCurve.widthOfPlaces_mk - theorem
ModularCurve.widthOfPlaces_nodeEquiv - def
ModularCurve.IsSupersingularPlace - theorem
ModularCurve.isSupersingularPlace_iff - def
ModularCurve.ssPlaces - theorem
ModularCurve.mem_ssPlaces_iff - theorem
ModularCurve.IsSupersingularPlace.isCentreOf_evalAt
Source
import Definitions.Def_ModularCurve_CharLSpecialFibreLevelNDictionary import Definitions.Def_ModularCurve_SupersingularModuli import Definitions.Def_AlgebraicCurve_BaseChangeGalois set_option autoImplicit false noncomputable section open AlgebraicCurve namespace ModularCurve section Pairs variable {K F : Type*} [Field K] [Field F] [Algebra K F] def smulNodePair (g : SemilinearAut K F) (w : Place K F) : Place K F × Place K F := (w, g • w) @[simp] theorem smulNodePair_fst (g : SemilinearAut K F) (w : Place K F) : (smulNodePair g w).1 = w := rfl @[simp] theorem smulNodePair_snd (g : SemilinearAut K F) (w : Place K F) : (smulNodePair g w).2 = g • w := rfl theorem smulNodePair_injective (g : SemilinearAut K F) : Function.Injective (smulNodePair g) := fun _ _ h => congrArg Prod.fst h def smulNodePairEmb (g : SemilinearAut K F) : Place K F ↪ Place K F × Place K F := ⟨smulNodePair g, smulNodePair_injective g⟩ @[simp] theorem smulNodePairEmb_apply (g : SemilinearAut K F) (w : Place K F) : smulNodePairEmb g w = smulNodePair g w := rfl def nodePairsOfPlaces (g : SemilinearAut K F) (W : Finset (Place K F)) : Finset (Place K F × Place K F) := W.map (smulNodePairEmb g) theorem mem_nodePairsOfPlaces_iff (g : SemilinearAut K F) (W : Finset (Place K F)) (s : Place K F × Place K F) : s ∈ nodePairsOfPlaces g W ↔ ∃ w ∈ W, smulNodePair g w = s := by simp only [nodePairsOfPlaces, Finset.mem_map, smulNodePairEmb_apply] theorem smulNodePair_mem_nodePairsOfPlaces (g : SemilinearAut K F) {W : Finset (Place K F)} {w : Place K F} (hw : w ∈ W) : smulNodePair g w ∈ nodePairsOfPlaces g W := Finset.mem_map_of_mem (smulNodePairEmb g) hw @[simp] theorem card_nodePairsOfPlaces (g : SemilinearAut K F) (W : Finset (Place K F)) : (nodePairsOfPlaces g W).card = W.card := Finset.card_map _ theorem fst_mem_of_mem_nodePairsOfPlaces {g : SemilinearAut K F} {W : Finset (Place K F)} {s : Place K F × Place K F} (hs : s ∈ nodePairsOfPlaces g W) : s.1 ∈ W := by obtain ⟨w, hw, rfl⟩ := (mem_nodePairsOfPlaces_iff g W s).mp hs exact hw theorem snd_eq_of_mem_nodePairsOfPlaces {g : SemilinearAut K F} {W : Finset (Place K F)} {s : Place K F × Place K F} (hs : s ∈ nodePairsOfPlaces g W) : s.2 = g • s.1 := by obtain ⟨w, hw, rfl⟩ := (mem_nodePairsOfPlaces_iff g W s).mp hs rfl def nodeEquivOfPlaces (g : SemilinearAut K F) (W : Finset (Place K F)) : ↥W ≃ ↥(nodePairsOfPlaces g W) where toFun w := ⟨smulNodePair g w, smulNodePair_mem_nodePairsOfPlaces g w.2⟩ invFun s := ⟨(s : Place K F × Place K F).1, fst_mem_of_mem_nodePairsOfPlaces s.2⟩ left_inv _ := Subtype.ext rfl right_inv s := Subtype.ext (Prod.ext rfl (snd_eq_of_mem_nodePairsOfPlaces s.2).symm) @[simp] theorem coe_nodeEquivOfPlaces_apply (g : SemilinearAut K F) (W : Finset (Place K F)) (w : ↥W) : ((nodeEquivOfPlaces g W w : ↥(nodePairsOfPlaces g W)) : Place K F × Place K F) = smulNodePair g (w : Place K F) := rfl @[simp] theorem coe_nodeEquivOfPlaces_symm_apply (g : SemilinearAut K F) (W : Finset (Place K F)) (s : ↥(nodePairsOfPlaces g W)) : (((nodeEquivOfPlaces g W).symm s : ↥W) : Place K F) = (s : Place K F × Place K F).1 := rfl def widthOfPlaces (g : SemilinearAut K F) (W : Finset (Place K F)) (e : Place K F → ℕ) : ↥(nodePairsOfPlaces g W) → ℕ := fun s => e (s : Place K F × Place K F).1 theorem widthOfPlaces_apply (g : SemilinearAut K F) (W : Finset (Place K F)) (e : Place K F → ℕ) (s : ↥(nodePairsOfPlaces g W)) : widthOfPlaces g W e s = e (s : Place K F × Place K F).1 := rfl @[simp] theorem widthOfPlaces_mk (g : SemilinearAut K F) {W : Finset (Place K F)} (e : Place K F → ℕ) {w : Place K F} (hw : w ∈ W) : widthOfPlaces g W e ⟨smulNodePair g w, smulNodePair_mem_nodePairsOfPlaces g hw⟩ = e w := rfl theorem widthOfPlaces_nodeEquiv (g : SemilinearAut K F) (W : Finset (Place K F)) (e : Place K F → ℕ) (w : ↥W) : widthOfPlaces g W e (nodeEquivOfPlaces g W w) = e (w : Place K F) := rfl end Pairs section Supersingular variable (q N : ℕ) [NeZero N] (K : Type*) [Field K] [DecidableEq K] def IsSupersingularPlace (w : Place K (modularFunctionFieldC K N)) : Prop := w.IsRational ∧ IsAffineGeomPlace K N w ∧ w.evalAt (jGeomGen K N) ∈ ssJSet q K theorem isSupersingularPlace_iff (w : Place K (modularFunctionFieldC K N)) : IsSupersingularPlace q N K w ↔ w.IsRational ∧ IsAffineGeomPlace K N w ∧ w.evalAt (jGeomGen K N) ∈ ssJSet q K := Iff.rfl def ssPlaces : Set (Place K (modularFunctionFieldC K N)) := {w | IsSupersingularPlace q N K w} theorem mem_ssPlaces_iff {w : Place K (modularFunctionFieldC K N)} : w ∈ ssPlaces q N K ↔ IsSupersingularPlace q N K w := Iff.rfl variable {q N K} theorem IsSupersingularPlace.isCentreOf_evalAt {w : Place K (modularFunctionFieldC K N)} (h : IsSupersingularPlace q N K w) : IsCentreOf K N (w.evalAt (jGeomGen K N), w.evalAt (jNGeomGen K N)) w := exists_isCentreOf_of_isRational h.1 h.2.1 end Supersingular end ModularCurve end
Statements phrased using this module (999)
- Frobenius squared fixes supersingular places of F_N
ModularCurve.arithFrobC_smul_arithFrobC_smul_of_mem_ssPlaces387 below · depth 10 - Arithmetic Frobenius preserves supersingular places
ModularCurve.arithFrobC_smul_mem_ssPlaces1 below · depth 10 - Widths, component map and glued specialisation for J₀(Nq) at q
ModularCurve.exists_width_comp_sp3,537 below · depth 10 - Frobenius node permutation is an involution
ModularCurve.nodePerm_arithFrobC_nodePerm_of_forall_smul_smul_eq0 below · depth 10 - Finiteness of supersingular places of the modular function field
ModularCurve.ssPlaces_finite120 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 - 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 - Squared arithmetic Frobenius fixes supersingular places, q ∤ N
ModularCurve.arithFrobC_smul_arithFrobC_smul_of_mem_ssPlaces_of_not_dvd384 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 - 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 - 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 - Squared geometric Frobenius fixes supersingular places over k̄
ModularCurve.frobOnPlacesGeomLevel_frobOnPlacesGeomLevel_eq_self_of_mem_ssPlaces_of_isAlgClosed378 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 - A supersingular place above every supersingular j-invariant
ModularCurve.nonempty_ssPlaces_fibre165 below · depth 12 - Restriction along a Frobenius-type endomorphism is a twist
AlgebraicCurve.Place.restrictAlong_eq_smul_of_forall_eq_inv_smul_pow0 below · depth 13 - 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 - 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 - 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 - Torus and abelian quotient on the special fibre of Pic⁰
ModularCurve.XHDRModelAtP.exists_representsRelSubPic_torus_abq_specialFibre1,035 below · depth 13 - Arithmetic Frobenius squared fixes the supersingular places
ModularCurve.arithFrobC_smul_arithFrobC_smul_eq_self_of_mem_ssPlaces384 below · depth 13 - Arithmetic Frobenius preserves the supersingular places
ModularCurve.arithFrobC_smul_mem_ssPlaces_univ1 below · depth 13 - Frobenius-equivariant bijection: supersingular places and supersingular moduli points
ModularCurve.exists_equiv_ssPlaces_ssLocus_frobenius_equivariant_univ373 below · depth 13 - Semistable specialisation of J₀(Mq') with supersingular nodes
ModularCurve.exists_jZeroSemistableSpecialization_ssPlaces_monodromy3,551 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 - Genus of X₀(Nq) versus its two-component special fibre
ModularCurve.genusFF_modularFunctionFieldBar_mul_add_one_eq_of_ssPlaces783 below · depth 13 - Coefficient automorphisms stabilise the supersingular node pairs
ModularCurve.isNodeStable_nodePairsOfPlaces_arithFrobC_coeffSemilinearAut19 below · depth 13 - Existence of a supersingular place on the level-N modular curve
ModularCurve.ssPlaces_nonempty206 below · depth 13 - Unique A-section of the model through a given place
ModularCurve.DRModelPackageLevel.existsUnique_section_comp_eq_pointEquivPlace_symm0 below · depth 14 - Special fibre of Pic⁰ of the Deligne–Rapoport model
ModularCurve.DRModelPackageLevel.exists_representsRelSubPic_torus_abq_specialFibre284 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 - Inertia-invariant annulus over a supersingular node of X₀(Nq)
ModularCurve.PlaceSpecialization.ProlongationTuple.exists_annulus_mem_dom_iff_reduceFst_eq_of_mem_ssPlaces1,333 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 - Depth functional of a principal divisor lies in the Gram image
ModularCurve.PlaceSpecialization.depthDual_add_mem_range_gramMap_of_isPrincipal1,553 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 - 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 - Frobenius squared fixes supersingular places under a place specialization
ModularCurve.PlaceSpecialization.frobOnPlacesGeomLevel_frobOnPlacesGeomLevel_eq_self_of_mem_ssPlaces381 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 - Eichler–Deuring count of supersingular places at level N
ModularCurve.card_eq_ssCountFormula_of_ssPlaces408 below · depth 14 - Surjectivity from hitting all crossing-coordinate classes
ModularCurve.comp_surjective_of_forall_exists_eq_crossingCoord0 below · depth 14 - Node-compatible sections in general position are constant
ModularCurve.exists_eq_algebraMap_of_hasValue_smul_of_generalPosition0 below · depth 14 - Frobenius-equivariant dictionary over an elliptic centre j=0,1728
ModularCurve.exists_equiv_ssPlaces_ssLocus_fibre_of_elliptic_centre_univ336 below · depth 14 - Frobenius-equivariant bijection of supersingular places and moduli points
ModularCurve.exists_equiv_ssPlaces_ssLocus_fibre_of_generic_centre_univ342 below · depth 14 - Level-one supersingular node pairs are indexed by j-invariants
ModularCurve.exists_nodePairsOfPlaces_arithFrobC_eq_nodePairsOf22 below · depth 14 - Semistable specialization datum for J₀(Nq) with Néron clauses
ModularCurve.nonempty_jZeroSemistableSpecialization_neronClauses_nodes3,550 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 - Twist vector from a vanishing depth class in the component group
ModularCurve.PlaceSpecialization.ProlongationTuple.AnnulusDatumLevel.exists_isTwistOf_of_componentGroupProj_depthDual_eq_zero_of_inertiaStable_of_laws1,284 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 - Sheet-one divisor law with regularity at supersingular places
ModularCurve.PlaceSpecialization.ProlongationTuple.mapDomain_reduceFst_filter_sheetOne_eq_ord_residueFst_of_regularityLaw1,120 below · depth 15 - Second-sheet divisor law on X₀(Nq), ordinary fixed places
ModularCurve.PlaceSpecialization.ProlongationTuple.mapDomain_reduceSnd_filter_sheetTwo_eq_ord_residueSnd_of_regularityLaw1,122 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 - 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 - Eichler–Deuring supersingular count in characteristics 2 and 3
ModularCurve.card_eq_ssCountFormula_of_ssPlaces_of_lt_five357 below · depth 15 - Degeneracy pair: finite separable of degree s+1, supersingularity preserved and reflected
ModularCurve.degeneracyPair_finiteSeparableDeg_ssPlaces_preserved_reflected402 below · depth 15 - Degeneracy pair at level Ms: degree s+1 and place transport
ModularCurve.degeneracyPair_finrankAlong_and_place_transports257 below · depth 15 - Joint injectivity of polar coefficients on section pairs in general position
ModularCurve.eq_zero_of_forall_sum_mul_taylorCoeff_mul_pow_eq_zero_of_generalPosition12 below · depth 15 - Supersingular places of the level-one j-line are the supersingular points
ModularCurve.mem_ssPlaces_one_iff_exists_charLGeomPlaceOfPoint_eq6 below · depth 15 - Counting m-torsion of J₀(N₀p) via supersingular places
ModularCurve.natCard_jZeroTorsion_mul_eq_pow_of_ssPlaces1,629 below · depth 15 - Node pairs from places agree with node pairs from j-values
ModularCurve.nodePairsOfPlaces_map_charLGeomPlaceOfPoint_eq_nodePairsOf0 below · depth 15 - Width one at off-diagonal affine places of level Ms
ModularCurve.placeWidthChar_eq_one_of_restrictAlong_ne535 below · depth 15 - Width transport along the degeneracy pair at supersingular places
ModularCurve.ramificationIndexAlong_mul_placeWidthChar_eq_placeWidthChar_restrictAlong_degeneracyPair502 below · depth 15 - Width transport along both degeneracy maps at every place
ModularCurve.ramificationIndexAlong_mul_placeWidth_eq_placeWidth_restrictAlong440 below · depth 15 - Hecke correspondence at ℓ preserves supersingular places
ModularCurve.restrictAlong_heckeAlphaC_mem_ssPlaces_of_restrictAlong_heckeBetaC_mem_ssPlaces266 below · depth 15 - Cartier anchors for toric monodromy, with witnesses identified
CerednikDrinfeld.exists_cartierAnchors_degeneracyDuality_jZero_ssPlaces_correspondence_arithFrobC_restrictAlong_placeWidthChar3,361 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 - Vanishing divisor class trivialises a point twist on the special fibre
ModularCurve.DRModelPackageLevel.nonempty_pointTwist_comp0_iso_unit_of_pic0Mk_eq_zero629 below · depth 16 - Point twists of trivial divisor class are rigidly trivial
ModularCurve.DRModelPackageLevel.nonempty_rigidify_pointTwist_comp1_iso_unit_of_pic0Mk_eq_zero629 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 - Unit first residue at ordinary affine φ²-fixed places
ModularCurve.PlaceSpecialization.ProlongationTuple.ord_residueFst_eq_zero_of_forall_reduceFst_eq_ord_eq_zero270 below · depth 16 - First residue regular at an ordinary fixed place, Atkin–Lehner case
ModularCurve.PlaceSpecialization.ProlongationTuple.ord_residueFst_nonneg_of_not_hasValue_modularUnit597 below · depth 16 - Regularity of the second residue at φ v via a modular unit
ModularCurve.PlaceSpecialization.ProlongationTuple.ord_residueSnd_nonneg_of_hasValue_modularUnit124 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 - Inertia-fixed admissible representatives of inertia-invariant classes in J₀(q)
ModularCurve.PlaceSpecialization.exists_degZero_mk_eq_and_forall_inertia_smul_eq_and_isStrictType_or_redFst_mem_residueField1,743 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 - 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
… and 849 more statements (search for the module name to find them).