Definitions/Def_ModularCurve_PlaceWidthChar.lean
Widths of -invariants and places in small characteristic
Fix a field K with decidable equality. For a natural number q (to be read as the characteristic in which one works) and j \in K, jWidthChar q j is defined by a case table: if q = 2 it is 12 when j = 0 and 1 otherwise; if q = 3 it is 6 when j = 0 and 1 otherwise; for every other value of q, including q = 0, it is the tame width jWidth j, which is 3 at j = 0, 2 at j = 1728 (when j \neq 0) and 1 elsewhere. The argument q is a bare natural number, not tied by any hypothesis to the characteristic of K.
The second definition transports this to places of the level-N modular function field. For N \neq 0 and a place w of modularFunctionFieldC K N over K, placeWidthChar q N w is the truncating natural-number quotient of jWidthChar q evaluated at the residue w-value of the generator jGeomGen K N by placeRamificationJ N w, the latter being the non-negative part of the order at w of jGeomGen K N minus the constant function with that residue value — the ramification index of the j-map at w. The shape is exactly that of the tame placeWidth, with jWidth replaced by jWidthChar q.
The accompanying lemmas record: agreement of jWidthChar q with jWidth whenever q \neq 2 and q \neq 3, in particular for 5 \le q and for q = 0; the values 12, 6 and 1 in the wild cases; that every value is one of jWidth j, 1, 6, 12, hence positive and a divisor of 12; invariance under any ring homomorphism f : K \to L of fields, \mathrm{jWidthChar}\,q\,(f j) = \mathrm{jWidthChar}\,q\,j; the quotient formula for placeWidthChar; its agreement with placeWidth for q \neq 2, 3 and for 5 \le q; and that it vanishes wherever the ramification index is 0.
Relation to Mathlib
Mathlib has no notion of these widths; both jWidthChar and placeWidthChar are the project's own numerical bookkeeping functions, built on the project's Place structure for function fields.
Where it is used
The widths attached to places of the modular function field serve in the description of the special fibre of the modular curve, where the places with supersingular j-invariant give the nodes and their widths depend on the order of the automorphism group of the corresponding elliptic curve; the characteristic-sensitive variant is what is needed when the residue characteristic is 2 or 3, where j = 0 and j = 1728 coincide and the automorphism groups are larger.
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, Appendix A
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 116 lines
- 17 declarations
- used in the statements of 450 theorems and imported by 496 proofs
- imports 1 definition modules
Source file: Definitions/Def_ModularCurve_PlaceWidthChar.lean
Imports
Declarations
- def
ModularCurve.jWidthChar - def
ModularCurve.placeWidthChar - theorem
ModularCurve.jWidthChar_of_ne - theorem
ModularCurve.jWidthChar_of_five_le - theorem
ModularCurve.jWidthChar_zero_char - theorem
ModularCurve.jWidthChar_two_of_eq_zero - theorem
ModularCurve.jWidthChar_three_of_eq_zero - theorem
ModularCurve.jWidthChar_two_of_ne_zero - theorem
ModularCurve.jWidthChar_three_of_ne_zero - theorem
ModularCurve.jWidthChar_eq_or - theorem
ModularCurve.jWidthChar_pos - theorem
ModularCurve.jWidthChar_dvd_twelve - theorem
ModularCurve.jWidthChar_map - theorem
ModularCurve.placeWidthChar_of_ne - theorem
ModularCurve.placeWidthChar_of_five_le - theorem
ModularCurve.placeWidthChar_eq_div - theorem
ModularCurve.placeWidthChar_of_placeRamificationJ_eq_zero
Source
import Definitions.Def_ModularCurve_PlaceWidth set_option autoImplicit false noncomputable section open AlgebraicCurve namespace ModularCurve def jWidthChar {K : Type*} [Field K] [DecidableEq K] (q : ℕ) (j : K) : ℕ := if q = 2 then (if j = 0 then 12 else 1) else if q = 3 then (if j = 0 then 6 else 1) else jWidth j def placeWidthChar {K : Type*} [Field K] [DecidableEq K] (q N : ℕ) [NeZero N] (w : Place K (modularFunctionFieldC K N)) : ℕ := jWidthChar q (w.evalAt (jGeomGen K N)) / placeRamificationJ N w theorem jWidthChar_of_ne {K : Type*} [Field K] [DecidableEq K] {q : ℕ} (h2 : q ≠ 2) (h3 : q ≠ 3) (j : K) : jWidthChar q j = jWidth j := by unfold jWidthChar rw [if_neg h2, if_neg h3] theorem jWidthChar_of_five_le {K : Type*} [Field K] [DecidableEq K] {q : ℕ} (hq : 5 ≤ q) (j : K) : jWidthChar q j = jWidth j := jWidthChar_of_ne (by omega) (by omega) j theorem jWidthChar_zero_char {K : Type*} [Field K] [DecidableEq K] (j : K) : jWidthChar 0 j = jWidth j := jWidthChar_of_ne (by decide) (by decide) j theorem jWidthChar_two_of_eq_zero {K : Type*} [Field K] [DecidableEq K] {j : K} (h : j = 0) : jWidthChar 2 j = 12 := by unfold jWidthChar rw [if_pos rfl, if_pos h] theorem jWidthChar_three_of_eq_zero {K : Type*} [Field K] [DecidableEq K] {j : K} (h : j = 0) : jWidthChar 3 j = 6 := by unfold jWidthChar rw [if_neg (by decide), if_pos rfl, if_pos h] theorem jWidthChar_two_of_ne_zero {K : Type*} [Field K] [DecidableEq K] {j : K} (h : j ≠ 0) : jWidthChar 2 j = 1 := by unfold jWidthChar rw [if_pos rfl, if_neg h] theorem jWidthChar_three_of_ne_zero {K : Type*} [Field K] [DecidableEq K] {j : K} (h : j ≠ 0) : jWidthChar 3 j = 1 := by unfold jWidthChar rw [if_neg (by decide), if_pos rfl, if_neg h] theorem jWidthChar_eq_or {K : Type*} [Field K] [DecidableEq K] (q : ℕ) (j : K) : jWidthChar q j = jWidth j ∨ jWidthChar q j = 1 ∨ jWidthChar q j = 6 ∨ jWidthChar q j = 12 := by unfold jWidthChar split_ifs <;> simp theorem jWidthChar_pos {K : Type*} [Field K] [DecidableEq K] (q : ℕ) (j : K) : 0 < jWidthChar q j := by rcases jWidthChar_eq_or q j with h | h | h | h <;> rw [h] · exact jWidth_pos j · exact (by decide : (0 : ℕ) < 1) · exact (by decide : (0 : ℕ) < 6) · exact (by decide : (0 : ℕ) < 12) theorem jWidthChar_dvd_twelve {K : Type*} [Field K] [DecidableEq K] (q : ℕ) (j : K) : jWidthChar q j ∣ 12 := by rcases jWidthChar_eq_or q j with h | h | h | h · rw [h] exact (jWidth_dvd_six j).trans (by decide) · rw [h] exact (by decide : (1 : ℕ) ∣ 12) · rw [h] exact (by decide : (6 : ℕ) ∣ 12) · rw [h] theorem jWidthChar_map {K L : Type*} [Field K] [DecidableEq K] [Field L] [DecidableEq L] (f : K →+* L) (q : ℕ) (j : K) : jWidthChar q (f j) = jWidthChar q j := by unfold jWidthChar rw [jWidth_map f j] by_cases hj0 : j = 0 · subst hj0 simp · have hne : f j ≠ 0 := (map_ne_zero_iff f f.injective).mpr hj0 simp only [if_neg hj0, if_neg hne] theorem placeWidthChar_of_ne {K : Type*} [Field K] [DecidableEq K] {q : ℕ} (h2 : q ≠ 2) (h3 : q ≠ 3) (N : ℕ) [NeZero N] (w : Place K (modularFunctionFieldC K N)) : placeWidthChar q N w = placeWidth N w := by unfold placeWidthChar placeWidth rw [jWidthChar_of_ne h2 h3] theorem placeWidthChar_of_five_le {K : Type*} [Field K] [DecidableEq K] {q : ℕ} (hq : 5 ≤ q) (N : ℕ) [NeZero N] (w : Place K (modularFunctionFieldC K N)) : placeWidthChar q N w = placeWidth N w := placeWidthChar_of_ne (by omega) (by omega) N w theorem placeWidthChar_eq_div {K : Type*} [Field K] [DecidableEq K] (q N : ℕ) [NeZero N] (w : Place K (modularFunctionFieldC K N)) : placeWidthChar q N w = jWidthChar q (w.evalAt (jGeomGen K N)) / placeRamificationJ N w := rfl theorem placeWidthChar_of_placeRamificationJ_eq_zero {K : Type*} [Field K] [DecidableEq K] (q N : ℕ) [NeZero N] {w : Place K (modularFunctionFieldC K N)} (h : placeRamificationJ N w = 0) : placeWidthChar q N w = 0 := by unfold placeWidthChar rw [h, Nat.div_zero] example : jWidthChar 2 (0 : ZMod 2) = 12 := jWidthChar_two_of_eq_zero rfl example : jWidthChar 3 (0 : ZMod 3) = 6 := jWidthChar_three_of_eq_zero rfl example : jWidthChar 3 (1 : ZMod 3) = 1 := jWidthChar_three_of_ne_zero one_ne_zero example (j : ℚ) : jWidthChar 0 j = jWidth j := jWidthChar_zero_char j end ModularCurve end
Statements phrased using this module (450)
- Widths, component map and glued specialisation over a place above q
ModularCurve.PlaceSpecialization.exists_widths_componentMap_gluedSpecialization_placeWidthChar_of_isModel1,892 below · depth 11 - 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 - Hecke equivariance of the depth functional in the component group
ModularCurve.PlaceSpecialization.componentGroupProj_depthDual_add_eq_heckeComponentAction_of_heckeGen_smul2,247 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 - 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 - 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 - Ramification over the j-line divides the width at supersingular places
ModularCurve.placeRamificationJ_dvd_jWidthChar_three_of_mem_ssPlaces385 below · depth 13 - Ramification over the j-line divides the char-2 width
ModularCurve.placeRamificationJ_dvd_jWidthChar_two_of_mem_ssPlaces385 below · depth 13 - Width divides off-diagonal Hecke correspondence coefficients in characteristic q'
ModularCurve.placeWidthChar_dvd_correspondence_heckeAlphaC_heckeBetaC_single_of_ne_of_prime702 below · depth 13 - Weighted symmetry of the degree-s Hecke correspondence matrix
ModularCurve.placeWidthChar_mul_correspondence_heckeAlphaC_heckeBetaC_single_comm_of_prime604 below · depth 13 - Crossing exponent at supersingular nodes, all characteristics q∤ N
ModularCurve.PlaceSpecialization.ProlongationTuple.crossingExponent_eq_placeWidthChar_mul_of_orderLawFixed846 below · depth 14 - Inertia-fixed node presentation at supersingular places of X₀(Nq)
ModularCurve.PlaceSpecialization.ProlongationTuple.exists_inertiaFixed_range_redRestrict_forall_nodeCoordinates_presentation_of_orderLawFixed1,270 below · depth 14 - Hecke transport of the depth functional: annulus case, q≥ 5
ModularCurve.PlaceSpecialization.componentGroupProj_depthDual_add_eq_heckeComponentAction_of_heckeGen_smul_of_five_le_of_not_isGoodDiv2,172 below · depth 14 - Hecke transport of depth functionals in component groups, q<5
ModularCurve.PlaceSpecialization.componentGroupProj_depthDual_add_eq_heckeComponentAction_of_heckeGen_smul_of_lt_five2,237 below · depth 14 - Inertia-fixed representative with strict or supersingular support
ModularCurve.PlaceSpecialization.exists_inertiaFixedSupport_degZero_pic0Mk_eq_of_isModel1,581 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 - Positivity of the characteristic-q width at supersingular places
ModularCurve.one_le_placeWidthChar_of_mem_ssPlaces395 below · depth 14 - Cross identity w(β W)e_α(W)=w(α W)e_β(W) on the degeneracy roof
ModularCurve.placeWidthChar_restrictAlong_mul_ramificationIndexAlong_heckeAlphaC_heckeBetaC_cross_of_prime593 below · depth 14 - Off-diagonal roof places: e_α· r equals characteristic j-width
ModularCurve.ramificationIndexAlong_heckeAlphaC_mul_placeRamificationJ_eq_jWidthChar_of_restrictAlong_ne_of_prime701 below · depth 14 - 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 - Kernel reach at level N for twistable inertia-stable divisors
ModularCurve.PlaceSpecialization.ProlongationTuple.AnnulusDatumLevel.exists_fixedStrict_add_kernelGood_of_isTwistOf_of_inertiaStable1,500 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 - Existence of a level-N annulus datum satisfying all its laws
ModularCurve.PlaceSpecialization.ProlongationTuple.exists_annulusDatumLevel_laws1,347 below · depth 15 - Uniform node presentation over one inertia-fixed number field
ModularCurve.PlaceSpecialization.ProlongationTuple.exists_inertiaFixed_forall_nodeCoordinates_presentation_of_orderLawFixed1,271 below · depth 15 - Inertia-fixed node presentation xy=q^eu at supersingular places
ModularCurve.PlaceSpecialization.ProlongationTuple.exists_inertiaFixed_nodeCoordinates_presentation_of_orderLawFixed1,270 below · depth 15 - Hecke equivariance of the depth class, good case
ModularCurve.PlaceSpecialization.componentGroupProj_depthDual_add_eq_heckeComponentAction_of_heckeGen_smul_of_isGoodDiv2,025 below · depth 15 - Hecke transport of the depth functional: annulus case, q<5
ModularCurve.PlaceSpecialization.componentGroupProj_depthDual_add_eq_heckeComponentAction_of_heckeGen_smul_of_lt_five_of_not_isGoodDiv2,235 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 - Inertia-stable divisor classes with strict or supersingular support
ModularCurve.PlaceSpecialization.exists_inertiaStable_pic0Mk_eq_of_inertiaStable_of_isModel935 below · depth 15 - Width one at off-diagonal affine places of level Ms
ModularCurve.placeWidthChar_eq_one_of_restrictAlong_ne535 below · depth 15 - Width-weighted symmetry of the two Hecke correspondence orientations
ModularCurve.placeWidthChar_mul_correspondence_heckeBetaC_heckeAlphaC_single_apply_eq_of_prime596 below · depth 15 - Width transport along the degeneracy pair at supersingular places
ModularCurve.ramificationIndexAlong_mul_placeWidthChar_eq_placeWidthChar_restrictAlong_degeneracyPair502 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 - 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 - Good representative of an inertia-stable twistable class
ModularCurve.PlaceSpecialization.ProlongationTuple.AnnulusDatumLevel.exists_isGoodDiv_pic0Mk_eq_of_isTwistOf_of_mk_spData_eq_zero_of_inertiaStable1,486 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 - 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 - Ramification and characteristic-q widths at a supersingular place
ModularCurve.placeRamificationJ_mul_jWidthChar_evalAt_jNGeomGen_eq_of_mem_ssPlaces439 below · depth 16 - Two-level joint semistable specialisation with pinned Hecke transport
CerednikDrinfeld.exists_twoLevelSemistableSpecialization_jointConstruction_ssPlaces_heckeTransport_canonical_levelPrimeIntertwine_correspondence_arithFrobC_restrictAlong_placeWidthChar3,351 below · depth 17 - Joint two-level semistable specialisation with degeneracy and Hecke transport
CerednikDrinfeld.exists_twoLevelSemistableSpecialization_jointConstruction_ssPlaces_heckeTransport_correspondence_restrictAlong_degeneracyComp_placeWidthChar3,338 below · depth 17 - 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 - Pinned strict reductions of a Jacobi-inversion divisor at level N
ModularCurve.PlaceSpecialization.ProlongationTuple.AnnulusDatumLevel.mapDomain_fstDiv_eq_and_mapDomain_sndDiv_eq_of_mk_spData_eq_zero_of_pin1,485 below · depth 17 - Frobenius invariance of the characteristic-q place width
ModularCurve.placeWidthChar_arithFrobC_smul0 below · depth 17 - Width-weighted adjointness of the two degeneracy Hecke correspondences
ModularCurve.placeWidthChar_mul_correspondence_heckeBetaC_heckeAlphaC_single_apply_eq_of_prime_of_five_le493 below · depth 17 - Joint two-level semistable specialisation with widths and arithmetic Frobenius
CerednikDrinfeld.exists_twoLevelSemistableSpecialization_jointConstruction_ssPlaces_heckeTransport_correspondence_restrictAlong_degeneracyComp_placeWidthChar_frobArithFrobC3,338 below · depth 18 - 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 - Chord bounds and coupled rigidity along supersingular annuli of X₀(Nq)
ModularCurve.PlaceSpecialization.ProlongationTuple.AnnulusDatumLevel.exists_endOrder_ineq_and_coupledScalings_hasValue_of_isTwistOf_of_mk_spData_eq_zero_of_inertiaStable1,426 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 - 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 - Chord bound and rigidity for twisted annulus profiles
ModularCurve.PlaceSpecialization.ProlongationTuple.AnnulusDatumLevel.exists_chord_le_endOrders_and_rigid_of_isTwistOf_of_inertiaStable1,339 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 - Genus identity for the semistable covering of X_H(q²M')
ModularCurve.FullLevel.genusFF_fieldBar_add_eq_of_igusa_supersingular_charts4,108 below · depth 22 - No smooth-point package at a reciprocal annulus pair
ModularCurve.FullLevel.not_smoothPointPackage_of_annulusPair_attached_igusaEnd_of_testFunction_fullLevel1 below · depth 22 - Supersingular prolongation with smooth charts, node presentations, Hasse J
ModularCurve.FullLevel.exists_supersingularRegularProlongation_smoothPointCharts_nodePresentations_crossUnits_igusaOverS_inertia_nodeCharts_hasseJ3,844 below · depth 23 - Supersingular prolongation: charts, node annuli, cross units, inertia
ModularCurve.FullLevel.exists_supersingularRegularProlongation_smoothPointCharts_nodePresentations_crossUnits_inertia3,845 below · depth 23 - Genus identity for the semistable covering at q=3
ModularCurve.FullLevel.genusFF_fieldBar_add_eq_of_igusa_supersingular_charts_of_eq_three_of_dvd3,952 below · depth 23 - Genus identity for the semistable covering at q=2
ModularCurve.FullLevel.genusFF_fieldBar_add_eq_of_igusa_supersingular_charts_of_eq_two_of_dvd3,932 below · depth 23 - Genus of the level Γ_H(q²M') function field in characteristic q
ModularCurve.FullLevel.genusFF_xHFunctionFieldC_levelH_eq1,313 below · depth 23 - No smooth-point package at an Igusa end, q=3
ModularCurve.FullLevel.not_smoothPointPackage_of_annulusPair_attached_igusaEnd_of_testFunction_fullLevel_of_eq_three_of_dvd1 below · depth 23 - No smooth-point package at an Igusa-end node, q=2
ModularCurve.FullLevel.not_smoothPointPackage_of_annulusPair_attached_igusaEnd_of_testFunction_fullLevel_of_eq_two_of_dvd1 below · depth 23 - Genus equation for a supersingular component chart
ModularCurve.FullLevel.two_mul_placeWidthChar_mul_genusFF_add_of_chart_over3,873 below · depth 23 - Ramification index of X₁(M) over the j-line in characteristic p
ModularCurve.ord_sub_algebraMap_eq_jWidthChar_of_place_x1FunctionFieldC628 below · depth 23 - Drinfeld clause from a regular prolongation on a supersingular chart
ModularCurve.FullLevel.SemistableCovering.drinfeldClause_of_regularProlongation_of_exists_algEquiv_quotField0 below · depth 24 - Supersingular charts as μ_{q+1}-quotients of the Drinfeld curve
ModularCurve.FullLevel.exists_algEquiv_quotField_of_chart_over3,867 below · depth 24 - Supersingular valuation ring over k₀ with smooth-point packages
ModularCurve.FullLevel.exists_klevel_supersingularDVR_smoothPointPackages3,681 below · depth 24 - Supersingular regular prolongation: charts, node models, affine chart
ModularCurve.FullLevel.exists_supersingularRegularProlongation_smoothPointCharts_nodePresentations_cover_nodeCharts_hasseJ_drinfeldInertia_affineChart3,767 below · depth 24 - Supersingular prolongation at q=3: charts, annuli, node models, Drinfeld identification
ModularCurve.FullLevel.exists_supersingularRegularProlongation_smoothPointCharts_nodePresentations_crossUnits_igusaOverS_inertia_nodeCharts_hasseJ_of_eq_three_of_dvd3,838 below · depth 24 - Supersingular prolongation, node package and Drinfeld inertia at q=2
ModularCurve.FullLevel.exists_supersingularRegularProlongation_smoothPointCharts_nodePresentations_crossUnits_igusaOverS_inertia_nodeCharts_hasseJ_of_eq_two_of_dvd3,836 below · depth 24 - Supersingular prolongation at q=3: charts, node annuli, Drinfeld action
ModularCurve.FullLevel.exists_supersingularRegularProlongation_smoothPointCharts_nodePresentations_crossUnits_inertia_of_eq_three_of_dvd3,839 below · depth 24 - Supersingular Gauss prolongation at q=2: charts, node annuli, Drinfeld
ModularCurve.FullLevel.exists_supersingularRegularProlongation_smoothPointCharts_nodePresentations_crossUnits_inertia_of_eq_two_of_dvd3,837 below · depth 24 - Genus of the Γ_H(q²M') function field at q=3
ModularCurve.FullLevel.genusFF_xHFunctionFieldC_levelH_eq_of_eq_three_of_dvd928 below · depth 24 - Genus of the Igusa-level field at a place of ℚ̄ over q
ModularCurve.FullLevel.genusFF_xHFunctionFieldC_levelH_eq_of_liesOverPrime1,298 below · depth 24 - Supersingular chart genus identity at q=2
ModularCurve.FullLevel.placeWidthChar_mul_genusFF_add_of_chart_over_of_eq_two_of_dvd3,865 below · depth 24 - Level orbits and generators for a supersingular prolongation
ModularCurve.FullLevel.supersingularProlongation_drinfeldQuotient_levelOrbits_generators_inertia_of_drinfeldIdentification_of_affineChart144 below · depth 24 - Node annuli and crossing data over a supersingular place
ModularCurve.FullLevel.supersingularProlongation_exists_nodeAnnuli_nodePresentations_cover_crossUnits_zeroFree_of_nodePresentations_nodeCharts_hasseJ215 below · depth 24 - No cusp-free smooth-point chart at an end of the supersingular component
ModularCurve.FullLevel.supersingularProlongation_not_smoothPointPackage_of_mem_ends_nodeCharts_hasseJ_cuspFree197 below · depth 24 - Semilinear transport of smooth-point packages off the ends
ModularCurve.FullLevel.supersingularProlongation_smoothPointPackage_semilinearTransport_of_cuspFree0 below · depth 24 - Uniqueness of the smooth-point package on the supersingular component
ModularCurve.FullLevel.supersingularProlongation_smoothPointPackage_unique64 below · depth 24 - Genus of a supersingular component chart at q=3
ModularCurve.FullLevel.two_mul_placeWidthChar_mul_genusFF_add_of_chart_over_of_eq_three_of_dvd3,867 below · depth 24 - Supersingular places in characteristic 3 have width 1
ModularCurve.placeWidthChar_eq_one_of_mem_ssPlaces_of_eq_three_of_dvd401 below · depth 24 - Width one at supersingular places in characteristic two
ModularCurve.placeWidthChar_eq_one_of_mem_ssPlaces_of_eq_two_of_dvd402 below · depth 24 - Size of the automorphism orbit of a ± point of order M
WeierstrassCurve.natCard_torsionOrbit_bot_variableChange_eq_jWidthChar16 below · depth 24 - Drinfeld clause from a regular prolongation, hedged exponent
ModularCurve.FullLevel.SemistableCovering.exists_drinfeldClause_of_regularProlongation_of_exists_algEquiv_quotField_hedged0 below · depth 25 - Supersingular chart is a Drinfeld quotient field, q=3
ModularCurve.FullLevel.exists_algEquiv_quotField_of_chart_over_of_eq_three_of_dvd3,861 below · depth 25 - Supersingular component charts as Drinfeld-curve quotients, q=2
ModularCurve.FullLevel.exists_algEquiv_quotField_of_chart_over_of_eq_two_of_dvd3,859 below · depth 25 - k₀-level supersingular package: smooth charts, nodes, Drinfeld action
ModularCurve.FullLevel.exists_klevel_supersingularDVR_smoothPointPackages_nodePresentations_nodeCharts_hasseJ_drinfeldInertia_affineChart3,749 below · depth 25 - Supersingular DVR with smooth-point packages at q=3
ModularCurve.FullLevel.exists_klevel_supersingularDVR_smoothPointPackages_of_eq_three_of_dvd3,673 below · depth 25 - Supersingular valuation ring over small constants with smooth-point packages (q=2)
ModularCurve.FullLevel.exists_klevel_supersingularDVR_smoothPointPackages_of_eq_two_of_dvd3,671 below · depth 25 - Supersingular valuation ring with smooth-point stalks at every layer
ModularCurve.FullLevel.exists_klevel_supersingularDVR_smoothPointStalks3,673 below · depth 25 - Supersingular prolongation: charts, node annuli, level orbits, Drinfeld quotient
ModularCurve.FullLevel.exists_supersingularRegularProlongation_smoothPointCharts_nodeFrames_levelOrbits_generators3,846 below · depth 25 - Supersingular prolongation at q=3: charts, nodes, Drinfeld inertia
ModularCurve.FullLevel.exists_supersingularRegularProlongation_smoothPointCharts_nodePresentations_cover_nodeCharts_hasseJ_drinfeldInertia_of_eq_three_of_dvd_affineChart3,761 below · depth 25 - Supersingular prolongation with charts, nodes and Drinfeld inertia, q=2
ModularCurve.FullLevel.exists_supersingularRegularProlongation_smoothPointCharts_nodePresentations_cover_nodeCharts_hasseJ_drinfeldInertia_of_eq_two_of_dvd_affineChart3,759 below · depth 25 - Level orbits and affine generators for the supersingular prolongation at q=3
ModularCurve.FullLevel.supersingularProlongation_drinfeldQuotient_levelOrbits_generators_inertia_of_drinfeldIdentification_of_affineChart_of_eq_three_of_dvd144 below · depth 25 - Level orbits and generators for the q=2 supersingular prolongation
ModularCurve.FullLevel.supersingularProlongation_drinfeldQuotient_levelOrbits_generators_inertia_of_drinfeldIdentification_of_affineChart_of_eq_two_of_dvd144 below · depth 25 - Annulus pairs at the nodes of a supersingular prolongation
ModularCurve.FullLevel.supersingularProlongation_exists_annulusPair_of_nodePresentation153 below · depth 25 - Cross-units separating two nodes on the supersingular fibre
ModularCurve.FullLevel.supersingularProlongation_exists_crossUnit_nodePlaces_of_sep154 below · depth 25 - R-integral generators regular off the ends, from an affine chart
ModularCurve.FullLevel.supersingularProlongation_exists_generators_regular_off_ends_of_affineChart107 below · depth 25 - Node annuli at supersingular reduction for q=3
ModularCurve.FullLevel.supersingularProlongation_exists_nodeAnnuli_nodePresentations_cover_crossUnits_zeroFree_of_nodePresentations_nodeCharts_hasseJ_of_eq_three_of_dvd215 below · depth 25 - Node annuli at the q+1 ends, q=2
ModularCurve.FullLevel.supersingularProlongation_exists_nodeAnnuli_nodePresentations_cover_crossUnits_zeroFree_of_nodePresentations_nodeCharts_hasseJ_of_eq_two_of_dvd215 below · depth 25 - Level automorphisms: transitive on ends, no fixed smooth place
ModularCurve.FullLevel.supersingularProlongation_levelAut_transitive_ends_moves_smoothPlaces124 below · depth 25 - Node place-sets avoid the smooth residue discs
ModularCurve.FullLevel.supersingularProlongation_nodePlaces_disjoint_smoothDiscs_of_sep0 below · depth 25 - No cusp-free smooth chart at an end of the supersingular fibre, q=3
ModularCurve.FullLevel.supersingularProlongation_not_smoothPointPackage_of_mem_ends_nodeCharts_hasseJ_cuspFree_of_eq_three_of_dvd197 below · depth 25 - No cusp-free smooth-point package at an end (q=2)
ModularCurve.FullLevel.supersingularProlongation_not_smoothPointPackage_of_mem_ends_nodeCharts_hasseJ_cuspFree_of_eq_two_of_dvd197 below · depth 25 - Containment of smooth-point package discs at a supersingular place
ModularCurve.FullLevel.supersingularProlongation_smoothPointPackage_disc_subset63 below · depth 25 - Semilinear transport of smooth-point packages, q=3
ModularCurve.FullLevel.supersingularProlongation_smoothPointPackage_semilinearTransport_of_cuspFree_of_eq_three_of_dvd0 below · depth 25 - Semilinear transport of supersingular smooth-point packages (q=2)
ModularCurve.FullLevel.supersingularProlongation_smoothPointPackage_semilinearTransport_of_cuspFree_of_eq_two_of_dvd0 below · depth 25 - Uniqueness of the smooth-point package away from N, q=3
ModularCurve.FullLevel.supersingularProlongation_smoothPointPackage_unique_of_eq_three_of_dvd64 below · depth 25 - Uniqueness of smooth-point packages on the supersingular component, q=2
ModularCurve.FullLevel.supersingularProlongation_smoothPointPackage_unique_of_eq_two_of_dvd64 below · depth 25 - Order of Aut(E) equals 2 wₚ(j)
WeierstrassCurve.natCard_stabilizer_variableChange_eq_two_mul_jWidthChar9 below · depth 25 - Supersingular DVR over small constants with base-layer stalks
ModularCurve.FullLevel.exists_klevel_supersingularDVR_baseSmoothPointStalks3,655 below · depth 26 - Supersingular k₀-level model at q=3: smooth and nodal data
ModularCurve.FullLevel.exists_klevel_supersingularDVR_smoothPointPackages_nodePresentations_nodeCharts_hasseJ_drinfeldInertia_of_eq_three_of_dvd_affineChart3,743 below · depth 26 - k-level supersingular charts, nodes and Drinfeld inertia at q=2
ModularCurve.FullLevel.exists_klevel_supersingularDVR_smoothPointPackages_nodePresentations_nodeCharts_hasseJ_drinfeldInertia_of_eq_two_of_dvd_affineChart3,741 below · depth 26 - Supersingular k₀-level valuation ring and smooth-point stalks, q=3
ModularCurve.FullLevel.exists_klevel_supersingularDVR_smoothPointStalks_of_eq_three_of_dvd3,665 below · depth 26 - Smooth-point stalks at supersingular places of the k₀-level model, q=2
ModularCurve.FullLevel.exists_klevel_supersingularDVR_smoothPointStalks_of_eq_two_of_dvd3,663 below · depth 26 - A k₀-rational level field inside the full-level function field
ModularCurve.FullLevel.exists_levelField_coeff_mem_sup_eq_top_levelAutBar_stable_linearDisjoint33 below · depth 26 - Supersingular chart over the level-q field: nodes, Hasse, inertia
ModularCurve.FullLevel.exists_supersingularDVR_affineChart_poles_moduliHasse_commonChart_nodes_igusaSep_inertia_of_levelField3,606 below · depth 26 - Supersingular chart of the level-q model with its q+1 nodes
ModularCurve.FullLevel.exists_supersingularDVR_affineChart_poles_nodes_of_levelField3,609 below · depth 26 - Supersingular model at q=3: charts, node annuli, level orbits, generators
ModularCurve.FullLevel.exists_supersingularRegularProlongation_smoothPointCharts_nodeFrames_levelOrbits_generators_of_eq_three_of_dvd3,840 below · depth 26 - Supersingular chart data and Drinfeld identification at q=2
ModularCurve.FullLevel.exists_supersingularRegularProlongation_smoothPointCharts_nodeFrames_levelOrbits_generators_of_eq_two_of_dvd3,838 below · depth 26 - Tame inertia in the Drinfeld identification at level field
ModularCurve.FullLevel.klevel_drinfeldInertia_of_affineChart_poles_hasse_commonChart_nodes_igusaSep_inertia11 below · depth 26 - Node places, crossing models and residue-disc cover at full level
ModularCurve.FullLevel.klevel_nodePresentations_nodeCharts_hasseJ_of_affineChart_poles_hasse_commonChart_nodes_igusaSep1,031 below · depth 26 - Smooth-point stalks yield smooth-point packages at every layer
ModularCurve.FullLevel.klevel_smoothPointPackages_of_smoothPointStalks_chart59 below · depth 26 - Smooth-point stalks at every layer from the base layer
ModularCurve.FullLevel.klevel_smoothPointStalks_of_baseSmoothPointStalks_chart72 below · depth 26 - Affine chart of the descended model, read on given data
ModularCurve.FullLevel.klevel_supersingularDVR_affineChart_of_levelField_affineChart48 below · depth 26 - Base smooth-point stalks and Drinfeld identification from an affine chart
ModularCurve.FullLevel.klevel_supersingularDVR_baseSmoothPointStalks_of_affineChart_chart178 below · depth 26 - Affine Drinfeld chart with q+1 nodes forces W₀=𝒪'∩ F₀
ModularCurve.FullLevel.mem_iff_coe_mem_drinfeldRing_of_affineChart_nodes_cover126 below · depth 26
… and 300 more statements (search for the module name to find them).