Definitions/Def_ModularCurve_LevelOneProlongationPair.lean
Level-one prolongation pairs for modulo
Throughout, q is a prime, A a valuation subring of \overline{\mathbb Q} with residue field k_0, k a field of characteristic q with a ring map \mathrm{red}\colon A\to k, and P a PlaceSpecialization at level one attached to modular polynomial data satisfying the Kronecker congruence and to integrality data h\alpha,h\beta for the two degeneracy maps. The ambient function field is modularFunctionFieldBar (1 * q), the base change to \overline{\mathbb Q} of the full modular function field of level 1\cdot q, realised inside \overline{\mathbb Q}((\mathfrak q)).
The structure LevelOneProlongationPair P packages: a factorisation \overline{\mathrm{red}}\colon k_0\to k of \mathrm{red} through the residue map of A; a ring map \iota from the level-one field over k_0 to the level-one field over k acting coefficientwise through \overline{\mathrm{red}}; and two regular prolongations R_1,R_2 of A to the level-q field with residue field the level-one field over k_0 (each a valuation subring meeting \overline{\mathbb Q} exactly in A, with surjective residue map whose kernel is the maximal ideal, compatible with A\to k_0, and such that every nonzero element has a constant multiple with nonzero residue). Three further fields pin the pair down: R_1 contains every element whose \mathfrak q-expansion has all coefficients in A and reduces it coefficientwise; R_2 is the Fricke transport of R_1, i.e. f\in R_2 iff w_qf\in R_1, with \rho_2=\rho_1\circ w_q; and \iota\circ\rho_1 agrees with the char-q reduction homomorphism modularRedLocHom on the localised modular ring.
Auxiliary definitions name j and j\circ(\mathfrak q\mapsto\mathfrak q^{q}) as elements jFun, jqFun of the level-q field, the two uniformisers t_\infty=j_q/j^{q}, t_0=j/j_q^{q}, and predicates on places W: IsCuspidal (\mathrm{ord}_W(j-a)\le 0 for all a\in A, so j has a pole), IsCuspidal' (same for j_q), IsInftySide (cuspidal, and t_\infty has at W a value in A reducing to 1), IsZeroSide (the analogue with t_0).
On a pair R, with \rho_i composed with \iota written residue₁, residue₂, four propositions are named, all for f lying in both R_1 and R_2 with nonzero residues and D the divisor of f: DivisorLawFst and DivisorLawSnd assert that, at a place v of the level-one field over k not fixed by the square of the geometric Frobenius, the pushforward along P.\mathrm{redFst} (resp. P.\mathrm{redSnd}) of the part of D supported on strictly type-one (resp. type-two) places equals \mathrm{ord}_v of the corresponding residue of f; CuspLawInfty and CuspLawZero are the same equalities at the reductions of the cusps \infty and 0, with D restricted to IsInftySide, resp. IsZeroSide, places. OrderLawFixed treats a place v fixed by the square of Frobenius and distinct from the reduction of \infty: the full pushforward of D along P.\mathrm{redFst} at v equals \mathrm{ord}_v of the first residue plus \mathrm{ord}_{\varphi v} of the second. IsModel is the conjunction of the first four laws.
Separately, NodeValueLaw is a predicate on (q,\mathrm{red}) alone: for f in the level-q field whose expansion lies in the localised modular ring, whose reduction lies in the level-one field over k and is nonzero, with the same two conditions for w_qf, and for a\in k supersingular in the sense of ssJSet q k (every elliptic curve over k with j-invariant a has no nonzero point killed by q), provided no place in the support of the divisor of f simultaneously has j specialising to a lift of a and j_q to a lift of a^{q}, there is a single c\ne 0 in k such that the place \, attached to a gives value c to the reduction of f and the place attached to a^{q} gives the same value c to the reduction of w_qf; these two places are the pair frobNodePair q a.
Relation to Mathlib
Mathlib supplies valuation subrings, Laurent series and Finsupp operations, but not the notions used here: the regular prolongation of a valuation of the constant field to a function field with prescribed residue field, the modular function fields realised inside Laurent series, and the places/divisors formalism are the project's own.
Where it is used
The pair (R_1,R_2) is the pair of Gauss prolongations attached to the two components of the special fibre of X_0(q) in characteristic q, the second obtained from the first by the Fricke involution; the divisor, cusp and order laws are what is needed to compute the specialisation of degree-zero divisor classes on X_0(q)_{\overline{\mathbb Q}} into the glued Picard group of two copies of the j-line, and NodeValueLaw is the gluing condition at the supersingular nodes. These data underlie the Eichler–Shimura relation and component-group 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
- K. A. Ribet, On modular representations of \mathrm{Gal}(\overline{\mathbb{Q}}/\mathbb{Q}) arising from modular forms, Inventiones Mathematicae 100 (1990), 431–476
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 196 lines
- 31 declarations
- used in the statements of 69 theorems and imported by 92 proofs
- imports 7 definition modules
Source file: Definitions/Def_ModularCurve_LevelOneProlongationPair.lean
Imports
Declarations
- def
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.NodeValueLaw - structure
ModularCurve.PlaceSpecialization.LevelOneProlongationPair - field
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.redBar - field
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.redBar_residue - field
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.R₁ - field
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.R₂ - field
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.residue₁_coeffMap - field
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.hy - field
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.LaurentSeries - field
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.mem_integers₂_iff - field
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.residue₂_eq - field
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.residue₁_eq_modularRedLocHom - field
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.hf - def
ModularCurve.PlaceSpecialization.jFun - def
ModularCurve.PlaceSpecialization.jqFun - def
ModularCurve.PlaceSpecialization.tInfty - def
ModularCurve.PlaceSpecialization.tZero - def
ModularCurve.PlaceSpecialization.IsCuspidal - def
ModularCurve.PlaceSpecialization.IsInftySide - def
ModularCurve.PlaceSpecialization.IsCuspidal' - def
ModularCurve.PlaceSpecialization.IsZeroSide - def
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.residue₁ - def
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.residue₂ - theorem
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.residue₁_apply - theorem
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.residue₂_apply - def
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.DivisorLawFst - def
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.DivisorLawSnd - def
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.CuspLawInfty - def
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.CuspLawZero - def
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.OrderLawFixed - def
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.IsModel
Source
import Mathlib import Definitions.Def_ModularCurve_LevelOneGlueData import Definitions.Def_ModularCurve_SupersingularNodes import Definitions.Def_ModularCurve_SupersingularModuli import Definitions.Def_AlgebraicCurve_RegularProlongation import Definitions.Def_ModularCurve_CharPReduction import Definitions.Def_ModularCurve_CuspidalClass import Definitions.Def_ModularCurve_X0ModL set_option autoImplicit false set_option synthInstance.maxHeartbeats 400000 set_option maxHeartbeats 800000 noncomputable section open AlgebraicCurve IsLocalRing namespace ModularCurve namespace PlaceSpecialization def LevelOneProlongationPair.NodeValueLaw (q : ℕ) [Fact q.Prime] {A : ValuationSubring (AlgebraicClosure ℚ)} {k : Type*} [Field k] (red : A →+* k) : Prop := letI := Classical.decEq k ∀ (f : ↥(modularFunctionFieldBar (1 * q))) (h₁ : (f : LaurentSeries (AlgebraicClosure ℚ)) ∈ CharPReduction.modularLocalized (1 * q) A.toSubring red) (h₁F : CharPReduction.modularRedLocHom (1 * q) A.toSubring red ⟨_, h₁⟩ ∈ modularFunctionFieldC k 1) (h₁0 : CharPReduction.modularRedLocHom (1 * q) A.toSubring red ⟨_, h₁⟩ ≠ 0) (h₂ : ((frickeInvolutionBar (1 * q) f : modularFunctionFieldBar (1 * q)) : LaurentSeries (AlgebraicClosure ℚ)) ∈ CharPReduction.modularLocalized (1 * q) A.toSubring red) (h₂F : CharPReduction.modularRedLocHom (1 * q) A.toSubring red ⟨_, h₂⟩ ∈ modularFunctionFieldC k 1) (h₂0 : CharPReduction.modularRedLocHom (1 * q) A.toSubring red ⟨_, h₂⟩ ≠ 0) (a : k) (ha : a ∈ ssJSet q k) (hsupp : ∀ W : Place (AlgebraicClosure ℚ) ↥(modularFunctionFieldBar (1 * q)), W.ord f ≠ 0 → ¬ ((∃ x : A, red x = a ∧ 0 < W.ord ((⟨coeffEmb (AlgebraicClosure ℚ) jq, coeffEmb_mem_laurentBaseChange (AlgebraicClosure ℚ) (modularFunctionField_le_full (1 * q) (jq_mem (1 * q)))⟩ : modularFunctionFieldBar (1 * q)) - algebraMap (AlgebraicClosure ℚ) (modularFunctionFieldBar (1 * q)) (x : AlgebraicClosure ℚ))) ∧ (∃ y : A, red y = a ^ q ∧ 0 < W.ord ((⟨coeffEmb (AlgebraicClosure ℚ) (qExpand ℚ (1 * q) jq), coeffEmb_mem_laurentBaseChange (AlgebraicClosure ℚ) (jqd_mem_full (1 * q) (dvd_refl (1 * q)))⟩ : modularFunctionFieldBar (1 * q)) - algebraMap (AlgebraicClosure ℚ) (modularFunctionFieldBar (1 * q)) (y : AlgebraicClosure ℚ))))), ∃ c : k, c ≠ 0 ∧ (frobNodePair q a).1.HasValue (⟨_, h₁F⟩ : modularFunctionFieldC k 1) c ∧ (frobNodePair q a).2.HasValue (⟨_, h₂F⟩ : modularFunctionFieldC k 1) c variable {q : ℕ} [Fact q.Prime] {A : ValuationSubring (AlgebraicClosure ℚ)} {k : Type*} [Field k] [CharP k q] {red : A →+* k} {data : ModularPolynomialData q} {hKr : KroneckerCongruence q data} {hα : HeckeAlphaBarIntegral (AlgebraicClosure ℚ) 1 q} {hβ : HeckeBetaBarIntegral (AlgebraicClosure ℚ) 1 q} set_option linter.unusedVariables false in set_option synthInstance.maxHeartbeats 400000 in structure LevelOneProlongationPair (P : PlaceSpecialization A q 1 data hKr k red hα hβ) where redBar : ResidueField A →+* k redBar_residue : ∀ a : A, redBar (IsLocalRing.residue A a) = red a ι : modularFunctionFieldFullC (ResidueField A) 1 →+* modularFunctionFieldC k 1 ι_coe : ∀ x : modularFunctionFieldFullC (ResidueField A) 1, ((ι x : modularFunctionFieldC k 1) : LaurentSeries k) = coeffMap redBar (x : LaurentSeries (ResidueField A)) R₁ : RegularProlongation A (modularFunctionFieldBar (1 * q)) (modularFunctionFieldFullC (ResidueField A) 1) R₂ : RegularProlongation A (modularFunctionFieldBar (1 * q)) (modularFunctionFieldFullC (ResidueField A) 1) residue₁_coeffMap : ∀ (y : LaurentSeries A) (hy : coeffMap A.subtype y ∈ modularFunctionFieldBar (1 * q)), ∃ h : (⟨coeffMap A.subtype y, hy⟩ : modularFunctionFieldBar (1 * q)) ∈ R₁.integers, ((R₁.residue ⟨_, h⟩ : modularFunctionFieldFullC (ResidueField A) 1) : LaurentSeries (ResidueField A)) = coeffMap (IsLocalRing.residue A) y mem_integers₂_iff : ∀ f : modularFunctionFieldBar (1 * q), f ∈ R₂.integers ↔ frickeInvolutionBar (1 * q) f ∈ R₁.integers residue₂_eq : ∀ (f : modularFunctionFieldBar (1 * q)) (h : f ∈ R₂.integers), R₂.residue ⟨f, h⟩ = R₁.residue ⟨frickeInvolutionBar (1 * q) f, (mem_integers₂_iff f).mp h⟩ residue₁_eq_modularRedLocHom : ∀ (f : modularFunctionFieldBar (1 * q)) (hf : (f : LaurentSeries (AlgebraicClosure ℚ)) ∈ CharPReduction.modularLocalized (1 * q) A.toSubring red), ∃ h : f ∈ R₁.integers, ((ι (R₁.residue ⟨f, h⟩) : modularFunctionFieldC k 1) : LaurentSeries k) = CharPReduction.modularRedLocHom (1 * q) A.toSubring red ⟨f, hf⟩ def jFun : modularFunctionFieldBar (1 * q) := ⟨coeffEmb (AlgebraicClosure ℚ) jq, coeffEmb_mem_laurentBaseChange (AlgebraicClosure ℚ) (modularFunctionField_le_full (1 * q) (jq_mem (1 * q)))⟩ def jqFun : modularFunctionFieldBar (1 * q) := ⟨coeffEmb (AlgebraicClosure ℚ) (qExpand ℚ (1 * q) jq), coeffEmb_mem_laurentBaseChange (AlgebraicClosure ℚ) (jqd_mem_full (1 * q) (dvd_refl (1 * q)))⟩ def tInfty : modularFunctionFieldBar (1 * q) := jqFun (q := q) / jFun (q := q) ^ (1 * q) def tZero : modularFunctionFieldBar (1 * q) := jFun (q := q) / jqFun (q := q) ^ (1 * q) def IsCuspidal (P : PlaceSpecialization A q 1 data hKr k red hα hβ) (W : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar (1 * q))) : Prop := ∀ a : A, W.ord (jFun (q := q) - algebraMap (AlgebraicClosure ℚ) (modularFunctionFieldBar (1 * q)) (a : AlgebraicClosure ℚ)) ≤ 0 set_option linter.unusedVariables false in def IsInftySide (P : PlaceSpecialization A q 1 data hKr k red hα hβ) (W : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar (1 * q))) : Prop := P.IsCuspidal W ∧ ∃ τ : A, red τ = 1 ∧ W.HasValue (tInfty (q := q)) (τ : AlgebraicClosure ℚ) set_option linter.unusedVariables false in set_option linter.unusedVariables false in def IsCuspidal' (P : PlaceSpecialization A q 1 data hKr k red hα hβ) (W : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar (1 * q))) : Prop := ∀ a : A, W.ord (jqFun (q := q) - algebraMap (AlgebraicClosure ℚ) (modularFunctionFieldBar (1 * q)) (a : AlgebraicClosure ℚ)) ≤ 0 set_option linter.unusedVariables false in def IsZeroSide (P : PlaceSpecialization A q 1 data hKr k red hα hβ) (W : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar (1 * q))) : Prop := IsCuspidal' P W ∧ ∃ τ : A, red τ = 1 ∧ W.HasValue (tZero (q := q)) (τ : AlgebraicClosure ℚ) namespace LevelOneProlongationPair variable {P : PlaceSpecialization A q 1 data hKr k red hα hβ} (R : LevelOneProlongationPair P) def residue₁ : R.R₁.integers →+* modularFunctionFieldC k 1 := R.ι.comp R.R₁.residue def residue₂ : R.R₂.integers →+* modularFunctionFieldC k 1 := R.ι.comp R.R₂.residue @[simp] theorem residue₁_apply (f : R.R₁.integers) : R.residue₁ f = R.ι (R.R₁.residue f) := rfl @[simp] theorem residue₂_apply (f : R.R₂.integers) : R.residue₂ f = R.ι (R.R₂.residue f) := rfl open Classical in def DivisorLawFst : Prop := ∀ (f : modularFunctionFieldBar (1 * q)) (h₁ : f ∈ R.R₁.integers) (h₂ : f ∈ R.R₂.integers), R.R₁.residue ⟨f, h₁⟩ ≠ 0 → R.R₂.residue ⟨f, h₂⟩ ≠ 0 → ∀ D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar (1 * q)), (∀ W, D W = W.ord f) → ∀ v : Place k (modularFunctionFieldC k 1), frobOnPlacesGeomLevel k 1 data hKr (frobOnPlacesGeomLevel k 1 data hKr v) ≠ v → Finsupp.mapDomain P.redFst (D.filter P.IsStrictTypeOne) v = v.ord (R.residue₁ ⟨f, h₁⟩) open Classical in def DivisorLawSnd : Prop := ∀ (f : modularFunctionFieldBar (1 * q)) (h₁ : f ∈ R.R₁.integers) (h₂ : f ∈ R.R₂.integers), R.R₁.residue ⟨f, h₁⟩ ≠ 0 → R.R₂.residue ⟨f, h₂⟩ ≠ 0 → ∀ D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar (1 * q)), (∀ W, D W = W.ord f) → ∀ v : Place k (modularFunctionFieldC k 1), frobOnPlacesGeomLevel k 1 data hKr (frobOnPlacesGeomLevel k 1 data hKr v) ≠ v → Finsupp.mapDomain P.redSnd (D.filter P.IsStrictTypeTwo) v = v.ord (R.residue₂ ⟨f, h₂⟩) open Classical in def CuspLawInfty : Prop := ∀ (f : modularFunctionFieldBar (1 * q)) (h₁ : f ∈ R.R₁.integers) (h₂ : f ∈ R.R₂.integers), R.R₁.residue ⟨f, h₁⟩ ≠ 0 → R.R₂.residue ⟨f, h₂⟩ ≠ 0 → ∀ D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar (1 * q)), (∀ W, D W = W.ord f) → Finsupp.mapDomain P.redFst (D.filter P.IsInftySide) (P.redFst (cuspInftyBar (1 * q))) = (P.redFst (cuspInftyBar (1 * q))).ord (R.residue₁ ⟨f, h₁⟩) open Classical in def CuspLawZero : Prop := ∀ (f : modularFunctionFieldBar (1 * q)) (h₁ : f ∈ R.R₁.integers) (h₂ : f ∈ R.R₂.integers), R.R₁.residue ⟨f, h₁⟩ ≠ 0 → R.R₂.residue ⟨f, h₂⟩ ≠ 0 → ∀ D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar (1 * q)), (∀ W, D W = W.ord f) → Finsupp.mapDomain P.redSnd (D.filter P.IsZeroSide) (P.redSnd (cuspZeroBar (1 * q))) = (P.redSnd (cuspZeroBar (1 * q))).ord (R.residue₂ ⟨f, h₂⟩) def OrderLawFixed : Prop := ∀ (f : modularFunctionFieldBar (1 * q)) (h₁ : f ∈ R.R₁.integers) (h₂ : f ∈ R.R₂.integers), R.R₁.residue ⟨f, h₁⟩ ≠ 0 → R.R₂.residue ⟨f, h₂⟩ ≠ 0 → ∀ D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar (1 * q)), (∀ W, D W = W.ord f) → ∀ v : Place k (modularFunctionFieldC k 1), frobOnPlacesGeomLevel k 1 data hKr (frobOnPlacesGeomLevel k 1 data hKr v) = v → v ≠ P.redFst (cuspInftyBar (1 * q)) → Finsupp.mapDomain P.redFst D v = v.ord (R.residue₁ ⟨f, h₁⟩) + (frobOnPlacesGeomLevel k 1 data hKr v).ord (R.residue₂ ⟨f, h₂⟩) def IsModel : Prop := R.DivisorLawFst ∧ R.DivisorLawSnd ∧ R.CuspLawInfty ∧ R.CuspLawZero end LevelOneProlongationPair end PlaceSpecialization end ModularCurve end
Statements phrased using this module (69)
- Existence of a model level-one prolongation pair at q
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.exists_isModel341 below · depth 14 - First prolongation integers are the localised modular ring
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.mem_integersFst_iff_coe_mem_modularLocalized124 below · depth 14 - Second prolongation integers as Fricke pull-back of localised reduction
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.mem_integersSnd_iff_coe_frickeInvolutionBar_mem_modularLocalized124 below · depth 14 - Order law at Frobenius-fixed places for prolongation pairs
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.orderLawFixed269 below · depth 14 - Cusp law at ∞ for level-one prolongation pairs
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.cuspLawInfty214 below · depth 15 - Cusp law at 0 from the cusp law at ∞
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.cuspLawZero_of_cuspLawInfty89 below · depth 15 - Divisor law on the first branch for level-one prolongation pairs
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.divisorLawFst313 below · depth 15 - Fricke transport of the level-one divisor law
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.divisorLawSnd_of_divisorLawFst88 below · depth 15 - Valuation rings over the Gauss ring of the j-line
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.integers_eq_or_eq_of_forall_mem_iff127 below · depth 15 - Existence of a level-one prolongation pair
ModularCurve.PlaceSpecialization.exists_levelOneProlongationPair124 below · depth 15 - Cuspidal places of X₀(q): the ∞/0 dichotomy
ModularCurve.isInftySide_or_isZeroSide_of_isCuspidal164 below · depth 15 - Only two prolongations with transcendental j-residue
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.integers_eq_or_eq_of_transcendental126 below · depth 16 - Order of the first residue at non-geometric places
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.ord_residue_fst_eq_zero_of_forall_ne11 below · depth 16 - Residues of j and j_q on a level-one prolongation pair
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.residue_jFun_jqFun85 below · depth 16 - Summed divisor law for the pencil j+μ j_q
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.sum_ord_pencil_eq304 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 prolongation tuples give prolongation pairs
ModularCurve.PlaceSpecialization.exists_levelOneProlongationPair_of_prolongationTuple0 below · depth 16 - Counting ∞-side zeros via the q-order drop under reduction
ModularCurve.PlaceSpecialization.exists_sum_ord_isInftySide_eq_order_sub_order202 below · depth 16 - Infinity-side places have the same first reduction as ∞̄
ModularCurve.PlaceSpecialization.redFst_eq_redFst_cuspInftyBar_of_isInftySide11 below · depth 16 - The cusp ∞̄ of X₀(q) lies on the ∞-side
ModularCurve.isInftySide_cuspInftyBar0 below · depth 16 - The cusp ̄ 0 = w_q∞̄ lies on the zero side
ModularCurve.isZeroSide_cuspZeroBar78 below · depth 16 - Integrality of j where j+μ j_q is integral at a place
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.exists_ord_jFun_sub_pos_of_ord_jFun_add_mul_jqFun_sub_pos170 below · depth 17 - The two level-one prolongations have distinct valuation rings
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.integers_ne_integers124 below · depth 17 - Value-indexed summed pencil law over the j-line
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.sum_filter_value_eq_ord_add_sum_roots268 below · depth 17 - Value-filtered pencil divisor law for j+μ j_q, μ̄≠ 0
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.sum_filter_value_eq_sum_roots_add_pencil277 below · depth 17 - Uniqueness of the ∞-side point over a given j-value
ModularCurve.PlaceSpecialization.eq_of_isInftySide_of_hasValue_jFun79 below · depth 17 - Inertia-fixed classes represented by admissible divisors, residue-field case
ModularCurve.PlaceSpecialization.exists_degZero_mk_eq_mk_and_forall_inertia_smul_eq_and_isStrictType_or_redFst_mem_of_forall_inertia_smul_coe_eq_residueField1,742 below · depth 17 - A place with an A-value of j has one of j_q
ModularCurve.PlaceSpecialization.exists_ord_jqFun_sub_pos_of_ord_jFun_sub_pos51 below · depth 17 - Non-vanishing of the pencil j + c j_q - a on X₀(q)
ModularCurve.PlaceSpecialization.jFun_add_C_mul_jqFun_sub_algebraMap_ne_zero117 below · depth 17 - Poles of j on X₀(q)_ℚ̄ lie at the two cusps
ModularCurve.eq_cuspInftyBar_or_eq_cuspZeroBar_of_ord_jFun_neg76 below · depth 17 - The cusp ̄ 0 of X₀(q) is not on the ∞-side
ModularCurve.not_isInftySide_cuspZeroBar78 below · depth 17 - Residues of j-c along a level-one prolongation pair
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.exists_mem_integers_residue_jFun_sub_algebraMap82 below · depth 18 - Tube equation for the inertial displacement σ V-V
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.exists_tubeEquation_smul_sub_self452 below · depth 18 - Tube equation for the inertial displacement on an annulus
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.exists_tubeEquation_smul_sub_self_of_annulus4 below · depth 18 - Two prolongations exhaust the pencil line over X₀(q)
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.integers_eq_or_eq_of_forall_mem_iff_pencil242 below · depth 18 - Node value law at level one over an algebraically closed field
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.nodeValueLaw536 below · depth 18 - Inertia-stable divisors modulo fixed strict and glue-trivial divisors
ModularCurve.PlaceSpecialization.exists_fixedStrict_kernelGood_principal1,690 below · depth 18 - Degree 2q of the pencil j + c j_q on X₀(q)
ModularCurve.PlaceSpecialization.finiteDimensional_and_finrank_adjoin_jFun_add_C_mul_jqFun199 below · depth 18 - Value-fibre criterion for the first reduction red₁
ModularCurve.PlaceSpecialization.redFst_eq_charLGeomPlaceOfPoint_iff13 below · depth 18 - Cuspidal places of X₀(q) have no strict type
ModularCurve.not_isStrictType_of_isCuspidal8 below · depth 18 - Genus of X₀(q) is less than the number of supersingular j-invariants
ModularCurve.LevelOneFibre.genusFF_lt_card_of_ssJSet499 below · depth 19 - Elements of the node-localized ring take A-values at W
ModularCurve.NodeLocalized.exists_sub_algebraMap_mem_nonunits_of_mem_modularLocalizedAtPoint0 below · depth 19 - R₁-integrality of the modular unit with coefficientwise residue
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.coeffEmb_modularUnitSeries_mem_integersFst32 below · depth 19 - Vanishing of the modular unit's second residue at level one
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.coeffEmb_modularUnitSeries_mem_integersSnd_residue_eq_zero110 below · depth 19 - One-sided cusp law at ∞ for the first prolongation
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.cuspLawInfty_oneSided214 below · depth 19 - One-sided cusp law at the zero cusp
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.cuspLawZero_oneSided225 below · depth 19 - One-sided first-branch divisor law off the φ²-fixed places
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.divisorLawFst_oneSided460 below · depth 19 - One-sided divisor law for the second level-one prolongation
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.divisorLawSnd_oneSided461 below · depth 19 - Branch orders and glued twisted values at a supersingular node
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.le_ord_residue_and_exists_hasValue_of_mul553 below · depth 19 - Nonvanishing residue of the modular unit at the first prolongation
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.residue_coeffEmb_modularUnitSeries_ne_zero33 below · depth 19 - Places of the level-one ̄ j-line over an algebraically closed field
ModularCurve.eq_charLGeomPlaceOfPoint_or_eq_charLGeomPlaceEquiv_placeInfty5 below · depth 19 - The 0-side and ∞-side of a cuspidal place are disjoint
ModularCurve.not_isInftySide_of_isZeroSide157 below · depth 19 - Infinitely many strict type one places with distinct first reductions
ModularCurve.PlaceSpecialization.IsStrictTypeOne.exists_family_redFst_injective222 below · depth 20 - Lifting residues integral over the ̄ u⁻¹-chart
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.exists_isIntegral_and_residue_eq_of_isIntegral_adjoin_residue_modularUnitSeries_inv353 below · depth 20 - Unit values of the modular unit at strict-type-one places
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.exists_red_ne_zero_and_coeffEmb_modularUnitSeries_inv_sub_algebraMap_mem_nonunits_of_isStrictTypeOne458 below · depth 20 - Residue of the modular unit has inverse of degree q-1
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.finrank_adjoin_residue_coeffEmb_modularUnitSeries_inv223 below · depth 20 - Gauss-normalisable basis of L(D) for a good divisor
ModularCurve.PlaceSpecialization.exists_basis_riemannRochSpace_coeffMap_eq_smul_of_isGoodDivisor134 below · depth 20 - Strict first-kind places reduce onto the Frobenius graph
ModularCurve.PlaceSpecialization.exists_ord_jFun_sub_pos_and_red_eq_pow_of_isStrictFst59 below · depth 20 - At cuspidal places, finite A-values of u⁻¹ reduce to zero
ModularCurve.PlaceSpecialization.red_eq_zero_of_isCuspidal_of_coeffEmb_modularUnitSeries_inv_sub_algebraMap_mem_nonunits458 below · depth 20 - Degree q-1 over the subfield generated by the modular unit
ModularCurve.finrank_adjoin_coeffEmb_modularUnitSeries_inv216 below · depth 20 - Order 1-q of the reduced modular unit at level one
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.order_residue_coeffEmb_modularUnitSeries33 below · depth 21 - Cuspidality on the j_q-side excludes strict type
ModularCurve.not_isStrictType_of_isCuspidalSnd10 below · depth 21 - R₁-integrality as a quotient of A-integral Laurent series
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.mem_integersFst_iff_exists_quotient125 below · depth 24 - q-integrality of coefficients of the Fricke transform
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.padicValRat_coeff_frickeInvolutionFull_nonneg695 below · depth 24 - Nonvanishing residue at the first prolongation as a quotient of primitive expansions
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.residueFst_ne_zero_iff_exists_quotient126 below · depth 24 - A-integrality of q-expansion coefficients of R₁-integral functions
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.coeff_mem_of_mem_integersFst_of_forall_ord_neg119 below · depth 25 - Integral values of functions on the ∞-side
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.exists_hasValue_of_isInftySide226 below · depth 25 - Integrality at the second prolongation for functions with poles only at ∞̄
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.mem_integersSnd_of_mem_integersFst_of_forall_ord_nonneg683 below · depth 25 - Regular first residue when poles are confined to ̄ 0
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.ord_residueFst_nonneg_of_forall_ne_cuspZeroBar682 below · depth 26