Definitions/Def_ModularCurve_X0ModL.lean
j-expansions and modular function fields over an arbitrary field
Working inside the field of formal Laurent series K((q)) over a field K (and, for the coefficient lemmas, inside R((q)) for a commutative ring R), this module assembles the base-changed version of the project's characteristic-zero q-expansion picture. The series jqModC R of the imported definition module is q^{-1} times the image in R[[q]] of the integral power series jNum = E_4^3\cdot\prod_{n\ge 1}(1-q^n)^{-24}, and jqNModC R N is its image under q\mapsto q^N. The lemmas record that coefficientwise application of a ring homomorphism f\colon R\to S sends ofPowerSeries to ofPowerSeries of the mapped power series, sends jqModC R to jqModC S and jqNModC R N to jqNModC S N; that every coefficient of jqModC R is the image of the corresponding integer coefficient of jqModC ℤ; that jqModC R ^ n equals q^{-n} times the n-th power of the mapped jNum; that the coefficients in degrees < -1 vanish; and that jqModC R is non-zero when R is non-trivial. Over \mathbb{Q} these objects are the rational ones already defined: jqNModC ℚ N = jqN N.
Three definitions are made. First, qExpandAlgHomC K N upgrades the substitution ring homomorphism q\mapsto q^N on K((q)) to a K-algebra homomorphism, the constants \mathrm{single}\;0\;c being fixed. Second, divisorExpansionsC K N is the set of Laurent series \bar j_K(q^d) for the non-zero divisors d of N, and modularFunctionFieldFullC K N is the intermediate field of K((q))/K generated by this set; at K=\mathbb{Q} it is the field modularFunctionFieldFull N. The accompanying inclusions state that the two-generator field modularFunctionFieldC K N lies in it, that N \mid M gives modularFunctionFieldFullC K N ≤ modularFunctionFieldFullC K M, and that the image of modularFunctionFieldFullC K N under qExpandAlgHomC K ℓ lies in modularFunctionFieldFullC K (N * ℓ). Third, JZeroC K N is the group \mathrm{Pic}^0 of that field over K: degree-zero divisors supported on the places of modularFunctionFieldFullC K N (valuation subrings containing K, proper, with principal ideals; degree of a place the residue-field degree over K) modulo principal divisors. No identification with X_0(N) or its Jacobian is asserted here; only the carriers are built, for a field K of any characteristic.
Relation to Mathlib
Mathlib supplies the ambient K((q)) as Hahn series over \mathbb{Z} and the substitution homomorphism through HahnSeries.embDomain; the modular function field presented as a subfield of a Laurent series field, and the divisor class group attached to it, are the project's own notions.
Where it is used
These carriers over a field of characteristic \ell \nmid N are the targets of the reduction map on J_0(N) and of the Eichler–Shimura relation on the special fibre, which enter the level-lowering step of the route to Fermat's Last Theorem.
References
- J. Igusa, Kroneckerian model of fields of elliptic modular functions, American Journal of Mathematics 81 (1959), 561–577
- 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
- N. M. Katz and B. Mazur, Arithmetic Moduli of Elliptic Curves, Annals of Mathematics Studies 108, Princeton University Press, 1985
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 157 lines
- 20 declarations
- used in the statements of 132 theorems and imported by 352 proofs
- imports 3 definition modules, and the statements of 4 theorems
Source file: Definitions/Def_ModularCurve_X0ModL.lean
Imports
Theorems imported by this definition module
Declarations
- theorem
ModularCurve.coeffMap_ofPowerSeries - theorem
ModularCurve.jqNModC_rat - theorem
ModularCurve.coeffMap_jqModC - theorem
ModularCurve.coeffMap_jqNModC - theorem
ModularCurve.coeff_jqModC_eq_intCast - theorem
ModularCurve.jqModC_pow - theorem
ModularCurve.coeff_jqModC_of_lt - theorem
ModularCurve.jqModC_ne_zero_of_nontrivial - def
ModularCurve.qExpandAlgHomC - theorem
ModularCurve.qExpandAlgHomC_apply - def
ModularCurve.divisorExpansionsC - theorem
ModularCurve.mem_divisorExpansionsC - def
ModularCurve.modularFunctionFieldFullC - theorem
ModularCurve.modularFunctionFieldFullC_rat - theorem
ModularCurve.jqModCd_mem_full - theorem
ModularCurve.jqModC_mem_full - theorem
ModularCurve.modularFunctionFieldC_le_full - theorem
ModularCurve.full_degeneracyC_le - theorem
ModularCurve.full_degeneracyC_map_le - abbrev
ModularCurve.JZeroC
Source
import Mathlib import Definitions.Def_ModularCurve_JqCoeff import Definitions.Def_ModularCurve_LaurentCoeff import Definitions.Def_AlgebraicCurve_DivisorClassGroup import Theorems.Thm_ModularCurve_coeffMap_qExpand import Theorems.Thm_ModularCurve_coeff_jqModC_pow_self import Theorems.Thm_ModularCurve_coeff_jqModC_pow_of_lt import Theorems.Thm_ModularCurve_coeff_jqModC_neg_one set_option autoImplicit false noncomputable section open HahnSeries IntermediateField AlgebraicCurve namespace ModularCurve section CoeffMapSupply variable {R S : Type*} [CommRing R] [CommRing S] theorem coeffMap_ofPowerSeries (f : R →+* S) (p : PowerSeries R) : coeffMap f (HahnSeries.ofPowerSeries ℤ R p) = HahnSeries.ofPowerSeries ℤ S (p.map f) := by ext k rw [coeffMap_coeff] rcases le_or_gt 0 k with hk | hk · lift k to ℕ using hk rw [HahnSeries.ofPowerSeries_apply_coeff, HahnSeries.ofPowerSeries_apply_coeff, PowerSeries.coeff_map] · rw [ofPowerSeries_coeff_of_neg _ hk, ofPowerSeries_coeff_of_neg _ hk, map_zero] end CoeffMapSupply section JExpansion variable (R : Type*) [CommRing R] theorem jqNModC_rat (N : ℕ) [NeZero N] : jqNModC ℚ N = jqN N := rfl variable {R} in theorem coeffMap_jqModC {S : Type*} [CommRing S] (f : R →+* S) : coeffMap f (jqModC R) = jqModC S := by rw [jqModC, map_mul, coeffMap_single, map_one, coeffMap_ofPowerSeries, ← RingHom.comp_apply (PowerSeries.map f) (PowerSeries.map (Int.castRingHom R)), ← PowerSeries.map_comp, RingHom.ext_int (f.comp (Int.castRingHom R)) (Int.castRingHom S)] rfl variable {R} in theorem coeffMap_jqNModC {S : Type*} [CommRing S] (f : R →+* S) (N : ℕ) [NeZero N] : coeffMap f (jqNModC R N) = jqNModC S N := by rw [jqNModC, coeffMap_qExpand, coeffMap_jqModC, jqNModC] variable {R} in theorem coeff_jqModC_eq_intCast (k : ℤ) : (jqModC R).coeff k = (((jqModC ℤ).coeff k : ℤ) : R) := by conv_lhs => rw [← coeffMap_jqModC (Int.castRingHom R)] rfl theorem jqModC_pow (n : ℕ) : jqModC R ^ n = HahnSeries.single (-(n : ℤ)) 1 * HahnSeries.ofPowerSeries ℤ R ((jNum.map (Int.castRingHom R)) ^ n) := by have h : n • (-1 : ℤ) = -(n : ℤ) := by simp rw [jqModC, mul_pow, HahnSeries.single_pow, one_pow, h, ← map_pow] theorem coeff_jqModC_of_lt {k : ℤ} (hk : k < -1) : (jqModC R).coeff k = 0 := by simpa using coeff_jqModC_pow_of_lt R (b := 1) (m := k) (by simpa using hk) theorem jqModC_ne_zero_of_nontrivial [Nontrivial R] : jqModC R ≠ 0 := fun h => by simpa [h] using coeff_jqModC_neg_one R end JExpansion section QExpandAlg variable (K : Type*) [Field K] (N : ℕ) [NeZero N] def qExpandAlgHomC : LaurentSeries K →ₐ[K] LaurentSeries K where __ := qExpand K N commutes' c := by show qExpand K N (algebraMap K (LaurentSeries K) c) = algebraMap K (LaurentSeries K) c rw [algebraMap_laurentSeries_eq_single, qExpand_single, mul_zero] @[simp] theorem qExpandAlgHomC_apply (f : LaurentSeries K) : qExpandAlgHomC K N f = qExpand K N f := rfl end QExpandAlg section FunctionField variable (K : Type*) [Field K] (N : ℕ) [NeZero N] def divisorExpansionsC : Set (LaurentSeries K) := {x | ∃ (d : ℕ) (_ : NeZero d), d ∣ N ∧ x = qExpand K d (jqModC K)} omit [NeZero N] in theorem mem_divisorExpansionsC {d : ℕ} [NeZero d] (hd : d ∣ N) : qExpand K d (jqModC K) ∈ divisorExpansionsC K N := ⟨d, ‹_›, hd, rfl⟩ def modularFunctionFieldFullC : IntermediateField K (LaurentSeries K) := IntermediateField.adjoin K (divisorExpansionsC K N) omit [NeZero N] in theorem modularFunctionFieldFullC_rat : modularFunctionFieldFullC ℚ N = modularFunctionFieldFull N := rfl omit [NeZero N] in theorem jqModCd_mem_full {d : ℕ} [NeZero d] (hd : d ∣ N) : qExpand K d (jqModC K) ∈ modularFunctionFieldFullC K N := subset_adjoin K _ (mem_divisorExpansionsC K N hd) omit [NeZero N] in theorem jqModC_mem_full : jqModC K ∈ modularFunctionFieldFullC K N := by simpa [qExpand_one_apply] using jqModCd_mem_full K N (one_dvd N) theorem modularFunctionFieldC_le_full : modularFunctionFieldC K N ≤ modularFunctionFieldFullC K N := by rw [modularFunctionFieldC, adjoin_le_iff] rintro x (rfl | rfl) · exact jqModC_mem_full K N · exact jqModCd_mem_full K N dvd_rfl theorem full_degeneracyC_le {N M : ℕ} [NeZero N] [NeZero M] (h : N ∣ M) : modularFunctionFieldFullC K N ≤ modularFunctionFieldFullC K M := by rw [modularFunctionFieldFullC, adjoin_le_iff] rintro x ⟨d, hne, hdvd, rfl⟩ haveI := hne exact jqModCd_mem_full K M (hdvd.trans h) omit [NeZero N] in theorem full_degeneracyC_map_le (ℓ : ℕ) [NeZero ℓ] : (modularFunctionFieldFullC K N).map (qExpandAlgHomC K ℓ) ≤ modularFunctionFieldFullC K (N * ℓ) := by rw [modularFunctionFieldFullC, adjoin_map, adjoin_le_iff] rintro x ⟨y, ⟨d, hne, hdvd, rfl⟩, rfl⟩ haveI := hne haveI : NeZero (ℓ * d) := ⟨Nat.mul_ne_zero (NeZero.ne ℓ) (NeZero.ne d)⟩ show qExpandAlgHomC K ℓ (qExpand K d (jqModC K)) ∈ _ rw [qExpandAlgHomC_apply, qExpand_qExpand] exact jqModCd_mem_full K (N * ℓ) ((mul_dvd_mul_left ℓ hdvd).trans (dvd_of_eq (mul_comm ℓ N))) end FunctionField section Jacobian variable (K : Type*) [Field K] (N : ℕ) [NeZero N] abbrev JZeroC : Type _ := Pic0 K (modularFunctionFieldFullC K N) example : AddCommGroup (JZeroC K N) := inferInstance end Jacobian end ModularCurve end
Statements phrased using this module (132)
- Two generators suffice for the level-N modular function field
ModularCurve.modularFunctionFieldC_eq_modularFunctionFieldFullC112 below · depth 9 - Degree ψ(N) of the level-N modular function field over K(j)
ModularCurve.finrank_adjoin_jqModC_modularFunctionFieldFullC_eq_dedekindPsi108 below · depth 10 - Igusa: K(j(q),j(q^N)) contains every j(qᵈ), ℓ∤ N
ModularCurve.modularFunctionFieldC_eq_modularFunctionFieldFullC_of_charP_pos109 below · depth 10 - K(j(q),j(q^N)) equals K(j(qᵈ):d∣ N) in characteristic zero
ModularCurve.modularFunctionFieldC_eq_modularFunctionFieldFullC_of_charZero70 below · depth 10 - Gauss reduction of X₀(N) at a place above ℓ ∤ N
ModularCurve.exists_regularProlongation_modularFunctionFieldBar109 below · depth 11 - Genus of the mod-ℓ modular function field equals that over ℚ̄
ModularCurve.genusFF_modularFunctionFieldFullC_eq_genusFF_modularFunctionFieldBar729 below · depth 11 - The full modular function field is a curve over K
ModularCurve.isCurveOver_modularFunctionFieldFullC111 below · depth 11 - The j-invariant as a transcendental-residue witness
ModularCurve.exists_mem_integers_transcendental_residue_finrank_eq_of_regularProlongation_modularFunctionFieldBar116 below · depth 12 - Genus of the level-N modular function field in characteristic ℓ≥ 5
ModularCurve.genusFF_modularFunctionFieldFullC_eq_genusFF_modularFunctionFieldBar_of_five_le710 below · depth 12 - Genus lower bound for X₀(N) in characteristic 2 or 3
ModularCurve.genusFormula_le_genusFF_modularFunctionFieldFullC_of_lt_five441 below · depth 12 - Finite flatness of [ℓ^k] on a model of J₀(p)
ModularCurve.isFinite_and_flat_schemeNsmul_pow_of_jZeroC_points263 below · depth 12 - Points of J₀(p) over a residue field above ℓ are torsion
ModularCurve.isOfFinAddOrder_jZeroC_residueField195 below · depth 12 - Base change of Igusa chart rings to a place over ℓ ∤ N
ModularCurve.IgusaScheme.exists_algHom_tensor_chartAlg_injective_isIntegrallyClosed180 below · depth 13 - Igusa chart algebras inside a fibre model with cusp chart
ModularCurve.IgusaScheme.exists_fibreModel_cuspChart_of_chartAlg743 below · depth 13 - Reduction mod ℓ acts coordinatewise on j and j_N
ModularCurve.IsPlaceReductionModL.coordinate_clauses268 below · depth 13 - Fibre counts for j on the modular curve of level N
ModularCurve.card_fibres_jqModC_modularFunctionFieldFullC_eq362 below · depth 13 - Poles of j count the cusps of level N
ModularCurve.card_poles_jqModC_modularFunctionFieldFullC_eq_cuspCount123 below · depth 13 - Degeneracy roof at (N,q) equals full level-Nq function field
ModularCurve.charLDegeneracyRoof_eq_modularFunctionFieldFullC_mul113 below · depth 13 - Full-level modular function field is essentially of finite type
ModularCurve.essFiniteType_modularFunctionFieldFullC73 below · depth 13 - Outside a finite set, places of k(jmath̄,jmath̄_N) are determined by their centre
ModularCurve.exists_finset_place_eq_of_ord_jqModC_sub_pos142 below · depth 13 - Gauss prolongation of X₀(Nq) at a place above q∤ N
ModularCurve.exists_regularProlongation_modularFunctionFieldBar_mul_of_not_dvd117 below · depth 13 - Torsion of J₀(N) over fields algebraic over 𝔽_ℓ
ModularCurve.isOfFinAddOrder_jZeroC_of_isAlgebraic194 below · depth 13 - Base change of the full modular function field to K
ModularCurve.laurentBaseChange_modularFunctionFieldFull_eq_modularFunctionFieldFullC0 below · depth 13 - Wild different over j=0 in characteristics 2 and 3
ModularCurve.le_six_mul_sum_ordDiff_D_jqModC_of_lt_five389 below · depth 13 - Divisor expansions j(qᵈ) lie in the Γ₀(M) q-expansion field
ModularCurve.modularFunctionFieldFullC_le_qExpFunctionFieldC_gamma05 below · depth 13 - Both degeneracy inclusions multiply ψ by the same index
ModularCurve.relfinrank_modularFunctionFieldFullC_mul_dedekindPsi120 below · depth 13 - Package fibre dictionary and centre-pinned model read equal places
ModularCurve.DRModelPackageLevel.pointEquivPlace_efib_inv_eq_congrRingEquiv_pointEquivPlace_of_finChart_centrePin126 below · depth 14 - Centre pins for the chart-pinned generic fibre of the Igusa scheme
ModularCurve.IgusaScheme.coeffEmb_sub_mem_nonunits_pointEquivPlace_ofGenerator_of_chartPin0 below · depth 14 - Base change to ℚ̄ of the two Igusa chart algebras
ModularCurve.IgusaScheme.exists_algEquiv_tensor_chartAlg_chartRing1 below · depth 14 - Galois-compatible generic fibre isomorphism for the Igusa scheme
ModularCurve.IgusaScheme.exists_genericFibreIso_chartPin_and_galoisCompat0 below · depth 14 - Generic fibre of the Igusa scheme is the curve model
ModularCurve.IgusaScheme.exists_genericFibreIso_chartPin_and_galoisCompat_of_algEquiv_chartAlg_chartRing0 below · depth 14 - Centre pins on special fibres of the Igusa scheme
ModularCurve.IgusaScheme.exists_spBase_and_cuspChart_centrePin_of_genericFibre_iso_ofGenerator815 below · depth 14 - Geometric integrality of the Igusa scheme over ℤ_{(ℓ)}
ModularCurve.IgusaScheme.geometricallyIntegral_igusaTo848 below · depth 14 - Igusa: the two-chart model of X₀(N) over ℤ_{(ℓ)}
ModularCurve.IgusaScheme.isProper_and_smooth_and_geometricallyIntegral858 below · depth 14 - Reduction of Igusa-scheme points matches the fibre model's specialisation of places
ModularCurve.IgusaScheme.pointReduction_eq_congr_spPlace_of_cuspChart_centrePin191 below · depth 14 - Smoothness of the Igusa model's fibre at ℓ ∤ N
ModularCurve.IgusaScheme.smoothOfRelativeDimension_one_pullback_residue825 below · depth 14 - Places over j=j₀ count pairs (E,C_N)
ModularCurve.card_places_modularFunctionFieldFullC_over_eq_natCard_moduliPoint_j_eq334 below · depth 14 - Degree at least ψ(M) over K(j) for X₀(M)
ModularCurve.dedekindPsi_le_finrank_adjoin_qExpFunctionFieldC_gamma0113 below · depth 14 - Atkin–Lehner toggle automorphism of the full function field over K
ModularCurve.exists_algEquiv_atkinLehner_fullC_of_prime_of_not_dvd113 below · depth 14 - Poles of j lie in the orbit of the q-adic place
ModularCurve.exists_algEquiv_smul_qInftyPlaceBar_eq_of_ord_jqModC_neg137 below · depth 14 - Places over j=j₀ as cyclic N-subgroups of E₀
ModularCurve.exists_orbitMap_cyclicAddSubgroup_places_modularFunctionFieldFullC332 below · depth 14 - Finiteness of F_N^{full} over ℚ(j)
ModularCurve.finiteDimensional_adjoin_jFull_modularFunctionFieldFull117 below · depth 14 - Degree ψ(N) of the modular function field over K(j_N)
ModularCurve.finrank_adjoin_jqNModC_modularFunctionFieldFullC_eq_dedekindPsi119 below · depth 14 - Characteristic 2: ord_P(dj)≥ 14 when ord_P(j)=12
ModularCurve.fourteen_le_ordDiff_D_jqModC_of_ord_eq_twelve352 below · depth 14 - Finite flatness of [n] on base changes of J
ModularCurve.isFinite_and_flat_schemeNsmul_baseChange_of_jZeroC_points271 below · depth 14 - Characteristic-ℓ divisor expansions generate k(̃ j,̃ j_N)
ModularCurve.modularFunctionFieldFullC_eq_modularFunctionFieldC_residueField751 below · depth 14 - Ramification of j over j=0 on X₀(N) in characteristic 3
ModularCurve.ord_jqModC_census_of_char_three344 below · depth 14 - Zeros of j on X₀(N) in characteristic 2: ramification census
ModularCurve.ord_jqModC_census_of_char_two340 below · depth 14 - Different exponent ≥ 7 at a characteristic-3 place with ord_P(j)=6
ModularCurve.seven_le_ordDiff_D_jqModC_of_ord_eq_six353 below · depth 14 - Triviality of Pic⁰ in characteristic ℓ for genus-zero X₀(p)
ModularCurve.subsingleton_jZeroC_residueField_of_subsingleton_jZero949 below · depth 14 - Centre-pinned specialisation of places on the finite j-chart
ModularCurve.CharPModel.FibreModel.placeFullC_eq_congr_spPlace_of_finChart_centrePin186 below · depth 15 - Centre-pinned specialisation of places on the pole chart at a cusp
ModularCurve.CharPModel.FibreModel.placeFullC_eq_congr_spPlace_of_infChart_centrePin_of_mem_maximalIdeal184 below · depth 15 - Geometric chart rings spanned by the integral chart algebras
ModularCurve.IgusaScheme.chartRing_le_span_coeffEmb_chartAlg0 below · depth 15 - Special fibres of the two Igusa chart algebras
ModularCurve.IgusaScheme.exists_algEquiv_residueField_tensor_chartAlg_chartRing799 below · depth 15 - Special fibres of the Igusa charts as characteristic-ℓ chart rings
ModularCurve.IgusaScheme.exists_algEquiv_residueField_tensor_chartAlg_chartRing_apply_tmul799 below · depth 15 - Special-fibre chart identifications of the Igusa scheme, compatible on overlaps
ModularCurve.IgusaScheme.exists_algEquiv_residueField_tensor_chartAlg_chartRing_compat802 below · depth 15 - Geometric generic fibre of the Igusa scheme as a curve model
ModularCurve.IgusaScheme.exists_curveModel_genericFibre_iso_and_galoisCompat152 below · depth 15 - Igusa chart rings inside a cusp-chart fibre model
ModularCurve.IgusaScheme.exists_fibreModel_cuspChart_of_chartAlg_of_lift743 below · depth 15 - The K-fibre of the Igusa scheme as a glued two-chart curve
ModularCurve.IgusaScheme.exists_iso_glued_pullback_igusaTo_of_algEquiv_chartAlg_chartRing0 below · depth 15 - Integrality of the characteristic-ℓ fibres of the Igusa scheme
ModularCurve.IgusaScheme.isIntegral_pullback_igusaTo_of_charP838 below · depth 15 - Characteristic-zero fibres of the Igusa scheme are integral
ModularCurve.IgusaScheme.isIntegral_pullback_igusaTo_of_charZero144 below · depth 15 - A ℤ_{(ℓ)}-point of the Igusa scheme
ModularCurve.IgusaScheme.nonempty_schemeHomOver_id_igusaTo3 below · depth 15 - Smoothness of the j-finite Igusa chart over k
ModularCurve.IgusaScheme.smoothOfRelativeDimension_one_pullback_chartFin_residue820 below · depth 15 - Smoothness of the Igusa pole chart over k
ModularCurve.IgusaScheme.smoothOfRelativeDimension_one_pullback_chartInf_residue820 below · depth 15 - Smoothness of the Igusa scheme over characteristic-ℓ fields
ModularCurve.IgusaScheme.smoothOfRelativeDimension_one_pullback_of_charP827 below · depth 15 - Characteristic-zero fibres of the Igusa scheme are smooth curves
ModularCurve.IgusaScheme.smoothOfRelativeDimension_one_pullback_of_charZero120 below · depth 15 - Smoothness of the Igusa fibre from its two charts
ModularCurve.IgusaScheme.smoothOfRelativeDimension_one_pullback_of_chartFin_of_chartInf0 below · depth 15 - Cyclic N-subgroups as K-embeddings of the level-N function field
ModularCurve.exists_equiv_algHom_modularFunctionFieldFullC_of_transcendental_j305 below · depth 15 - Galois model over K(j) with ramification dividing 6, characteristic 3
ModularCurve.exists_isGalois_ord_jqModC_dvd_six_of_char_three333 below · depth 15 - Galois model over K(j) with ramification at j=0 dividing 12
ModularCurve.exists_isGalois_ord_jqModC_dvd_twelve_of_char_two332 below · depth 15 - Interpolation on the full level-N modular curve with simple poles
ModularCurve.exists_mem_riemannRochSpace_ord_sub_eq_one_hasValue_modularFunctionFieldFullC164 below · depth 15 - Diamond action on the mod-ℓ q-expansion function field of X_H(M)
ModularCurve.exists_monoidHom_gamma0_algEquiv_qExpFunctionFieldC_zmod106 below · depth 15 - Regular prolongation and place map for X₀(M) at ℓ ∤ M
ModularCurve.exists_regularProlongation_placeMap_modularFunctionFieldFullC_of_not_dvd737 below · depth 15 - Finite flat multiplication by n transported along a group isomorphism
ModularCurve.isFinite_and_flat_schemeNsmul_of_schemeHomOver_iso_of_jZeroC_points269 below · depth 15 - Galois-compatible generic fibre of the Igusa scheme at ̄ j
ModularCurve.IgusaScheme.exists_genericFibre_iso_ofGenerator_jBar_and_galoisCompat3 below · depth 16 - Fibres of the Igusa scheme are geometrically connected
ModularCurve.IgusaScheme.geometricallyConnected_pullback_snd_igusaTo131 below · depth 16 - A ℤ_{(ℓ)}-point of the Igusa pole chart
ModularCurve.IgusaScheme.nonempty_algHom_chartAlgInf2 below · depth 16 - Reductions of the Igusa chart algebra span the characteristic-ℓ chart ring
ModularCurve.IgusaScheme.piFin_image_spans_chartAlg182 below · depth 16 - Pole chart ring spanned by reductions of the integral chart algebra
ModularCurve.IgusaScheme.piInf_image_spans_chartAlg182 below · depth 16 - The ℓ-roof equals the level-Nℓ modular function field
ModularCurve.charLDegeneracyRoof_eq_modularFunctionFieldC_mul113 below · depth 16 - Sharp Riemann–Roch on the full modular function field
ModularCurve.ell_eq_degree_add_one_sub_genusFF_modularFunctionFieldFullC163 below · depth 16 - Embeddings of the full level-N modular function field over transcendental j₀
ModularCurve.exists_equiv_algHom_modularFunctionFieldFullC_isRoot_of_transcendental113 below · depth 16 - Frobenius-semilinear level-N model of the generic elliptic curve
ModularCurve.exists_frobeniusSemilinear_torsionModel_ofJ_univ312 below · depth 16 - The two prolongations of X₀(Np) above p∤ N
ModularCurve.exists_regularProlongation_pair_valuationSubring_eq_or_eq_of_not_dvd122 below · depth 16 - Integral weight-2m holomorphy gives membership in L(D)
ModularCurve.mem_riemannRochSpace_of_isModPFormFn1 below · depth 16 - Ogg's unit reduces to the supersingular polynomial
ModularCurve.residue_coeffEmb_modularUnitSeries_eq_prod_ssJSet_of_regularProlongation102 below · depth 16 - Galois-compatible generic fibre from the chart-ring identifications
ModularCurve.IgusaScheme.exists_genericFibreIso_galoisCompat_of_algEquiv_chartAlg_chartRing0 below · depth 17 - Riemann–Roch bound for mod-3 cusp forms of weight 2m
ModularCurve.card_le_dimFormulaCusp_of_isModPCuspFormFn_of_linearIndependent_of_char_three742 below · depth 17 - Pole orders of jmath̄(qᵈ) at cusps are prime to p
ModularCurve.cast_natAbs_ord_qExpand_jqModC_ne_zero_of_ord_neg125 below · depth 17 - Orbit map on X₀(N): j_N-values and dual ramification
ModularCurve.exists_orbitMap_cyclicAddSubgroup_places_evalAt_jqNModC_eq_and_ord_sub_eq_natCard397 below · depth 17 - Riemann–Roch space of the weight-2m floor divisor
ModularCurve.isModPFormFn_of_mem_riemannRochSpace3 below · depth 17 - At level one the all-divisors modular function field is K(j(q))
ModularCurve.modularFunctionFieldFullC_one0 below · depth 17 - Equinumerous variable-change stabilisers along a Vélu cyclic isogeny
WeierstrassCurve.natCard_variableChange_stabilizer_eq_of_fullKernelQuotient124 below · depth 17 - Characteristic-q Laurent realisation of the finite j-chart of level p
ModularCurve.HpoolLevelRing.exists_ringHom_laurentSeries_ker_eq_span_natCast807 below · depth 18 - Dimension bound for mod p weight-2m modular functions
ModularCurve.card_le_dimFormula_of_isModPFormFn_of_linearIndependent735 below · depth 18 - Degree of the weight-2m floor divisor on X₀(N)
ModularCurve.degree_eq_of_forall_eq_weightFloor398 below · depth 18 - Degree of the weight-2m floor divisor in characteristic 3
ModularCurve.degree_eq_of_forall_eq_weightFloor_of_char_three383 below · depth 18 - Kronecker dictionary: Φ(H) carries j(q^N) to j(E/H)
ModularCurve.exists_equiv_algHom_modularFunctionFieldFullC_apply_jqNModC_eq_fullKernelQuotient_j286 below · depth 18 - Degeneracy values j(qᵈ) read off j(E/H[d])
ModularCurve.exists_equiv_algHom_modularFunctionFieldFullC_forall_dvd_apply_jqNModC_eq_cyclicQuotientJ367 below · depth 18 - Equivariant torsion reduction: j of the Vélu quotient and ramification
ModularCurve.exists_equivariant_torsion_reduction_ofJ_evalAt_fullKernelQuotient_j_ord_mul_natCard389 below · depth 18 - Order of ι(jmath̄(qᵈ)) equals -(N/d)a'² for some a' ∣ d
ModularCurve.exists_order_algHom_qExpand_jqModC_eq_of_apply_jqModC_eq123 below · depth 18 - Poles of jmath̄ on the full level-N field are slot places
ModularCurve.exists_slot_of_ord_jqModC_neg123 below · depth 18 - Degree of k₀(̃ j) over k₀(r(̃ j)) equals deg r
ModularCurve.finrank_adjoin_aeval_jqModC3 below · depth 18 - Genus of the modular function field in characteristic p≥ 5
ModularCurve.genusFF_modularFunctionFieldFullC_eq_genusFormula711 below · depth 18 - Ramification over j=0 and j=1728 divides 3 and 2
ModularCurve.ord_jqModC_dvd_three_and_ord_sub_dvd_two_of_charP354 below · depth 18 - Geometric fibre at ℓ≠ p of the j-chart of X₀(p)
ModularCurve.HpoolLevelRing.exists_algEquiv_residueField_tensor_quotient_span_natCast_chartRing803 below · depth 19 - Level one: ̃ j generates the modular function field
ModularCurve.adjoin_jqModC_eq_top0 below · depth 19 - A Fricke involution exchanging j(q) and j(q^N)
ModularCurve.exists_algEquiv_swap_jqModC_jqNModC_modularFunctionFieldFullC121 below · depth 19 - Cyclic N-subgroups versus embeddings of the modular function field
ModularCurve.exists_equiv_algHom_modularFunctionFieldFullC_apply_jqN_eq_cyclicQuotientJ304 below · depth 19 - Residue-pair independent integral families in finite-dimensional subspaces
ModularCurve.exists_linearIndependent_residuePair_of_finiteDimensional0 below · depth 19 - Characteristic-ℓ chart ring of X₀(p) over the j-line
ModularCurve.isDedekindDomain_and_finite_and_isSeparable_chartRing_jqModC113 below · depth 19 - Ramification of X₀(N) over the j-line, intrinsic form
ModularCurve.ord_mul_natCard_stabilizer_zmultiples_reduceHom_eq_ramificationIndexAlong_mul_natCard_stabilizer320 below · depth 19 - Ramification over the j(q^N)-line for a good model
ModularCurve.ord_sub_mul_natCard_stabilizer_zmultiples_reduceHom_eq_ramificationIndexAlong_mul_natCard_stabilizer_fullKernelQuotient386 below · depth 19 - Diamond-invariant functions mod ℓ lie in level Γ₀(M)
ModularCurve.coe_mem_modularFunctionFieldFullC_of_forall_diamondPullbackModL_apply_eq201 below · depth 20 - Cusp places inject into double cosets, with trivial diamond stabilisers
ModularCurve.exists_injective_doubleCoset_forall_diamondPullbackModL_smul_place_eq_of_ord_neg316 below · depth 20 - Elliptic places of X₀(M) mod ℓ and double cosets
ModularCurve.exists_injective_doubleCoset_forall_diamondPullbackModL_smul_place_eq_of_ord_pos606 below · depth 20 - Polynomials in jmath̄ as separating elements of degree deg r·ψ(N)
ModularCurve.isSeparable_and_finrank_adjoin_aeval_jqModC_modularFunctionFieldFullC112 below · depth 20 - Igusa ramification formula via equivariant torsion reduction
ModularCurve.ord_mul_natCard_stabilizer_eq_ramificationIndexAlong_mul_of_equivariant_torsion_reduction302 below · depth 20 - Riemann–Roch bound for mod-3 weight-2m functions on X₀(N)
ModularCurve.card_le_dimFormula_of_isModPFormFn_of_linearIndependent_of_charP_three772 below · depth 21 - Mod ℓ cusp expansion of the function field of X_H(M)
ModularCurve.exists_algHom_qExpFunctionFieldC_gammaH_eq_slot_and_diamondPullbackModL_eq_qTwist116 below · depth 21 - Many independent weight-2m modular functions over ℚ̄
ModularCurve.exists_linearIndependent_isModPFormFn_algebraicClosure_dimFormula_le_card751 below · depth 21 - Equivariant family with independent residue pairs on X₀(q)
ModularCurve.exists_linearIndependent_residuePair_forall_arithmeticGalois_smul_eq_of_finiteDimensional2 below · depth 21 - Poles of j on the level-N modular function field are slot expansions
ModularCurve.exists_slot_algHom_modularFunctionFieldFullC_of_ord_neg123 below · depth 21 - Degree of the weight-2m floor divisor in characteristic 3
ModularCurve.degree_eq_of_forall_eq_weightFloor_of_charP_three430 below · depth 22 - Riemann–Roch count for the weight-2m floor divisor
ModularCurve.ell_eq_dimFormula_of_forall_eq_weightFloor441 below · depth 22 - Existence of the weight-2m floor divisor
ModularCurve.exists_divisor_forall_eq_weightFloor113 below · depth 22 - Gauss reduction of X₀(N) above the prime level N
ModularCurve.exists_regularProlongation_modularFunctionFieldBar_self123 below · depth 22 - Genus of the level-N modular function field over ℚ̄
ModularCurve.genusFF_modularFunctionFieldFullC_eq_genusFormula_algebraicClosure730 below · depth 22 - Holomorphic weight-2m mod 3 forms lie in L(D)
ModularCurve.mem_riemannRochSpace_of_isModPFormFn_of_charP_three387 below · depth 22 - Ramification over j=0 and j=1728 divides 3 and 2
ModularCurve.ord_jqModC_dvd_three_and_ord_sub_dvd_two_algebraicClosure315 below · depth 22 - Degrees over κ((q)) are preserved by q ↦ qⁿ
ModularCurve.finrank_adjoin_qExpand_eq_finrank_adjoin_of_coe_eq_image0 below · depth 27 - Automorphisms sending j to j(q^N) preserve ∞-integrality mod q
ModularCurve.exists_mul_coeffMap_eq_iff_of_algEquiv_apply_jq_eq_jqN_of_not_dvd353 below · depth 35