Definitions/Def_ModularCurve_FibreModelCuspChart.lean
Cusp chart condition on a characteristic- fibre model
Fix N \ge 1, a valuation subring A of \overline{\mathbb{Q}}, a prime \ell, a field k of characteristic \ell and a ring homomorphism \mathrm{red} : A \to k. For a fibre model fm : FibreModel N A ℓ k red the proposition FibreModel.CuspChart fm is a predicate on that model — a structure valued in Prop, carrying two assertions and no data — about the single element
\bar t \;=\; \overline{j_N}\cdot(\bar j^{\,-1})^N,
formed inside the ambient characteristic-zero field laurentBaseChange (AlgebraicClosure ℚ) (modularFunctionFieldFull N), the \overline{\mathbb{Q}}-subfield of \overline{\mathbb{Q}}-Laurent series generated by the coefficientwise images of the q-expansions j(q^d) for d \mid N. Here jBar N is the image of j(q)=q^{-1}+\dots and jNBar N the image of j(q^N), so \bar t is j(q^N)\,j(q)^{-N}.
The first field tBar_mem asserts that \bar t lies in the subring fm.BInf, the model ring of fm at the pole chart (the one containing the constants from A and \bar j^{-1} and integral over the closure of A[\bar j^{-1}]). The second field piInf_t asserts that the specialisation homomorphism fm.piInf : fm.BInf → modularFunctionFieldC k N carries \bar t, viewed as an element of fm.BInf via the first field, to
\widetilde{j_N}\cdot(\widetilde{j}^{\,-1})^N = \mathtt{jqNModC }k\,N \cdot (\mathtt{jqModC }k)^{-N},
where jqModC k is the q-expansion of j with coefficients reduced into k and jqNModC k N its q \mapsto q^N substitution, both inside the k-subfield of k-Laurent series they generate. Thus the predicate pins down both the integrality of j(q^N)/j(q)^N on the pole chart and the value of its reduction.
Relation to Mathlib
Mathlib has no notion of a fibre model of a modular curve or of these q-expansion function fields; the predicate is the project's own, stated in terms of Mathlib's ValuationSubring, LaurentSeries and IntermediateField.
Where it is used
The bare fibre-model interface only makes the pole chart's ring contain A[\bar j^{-1}], whose elements are congruent to constants at every cusp; adjoining the condition on j(q^N)/j(q)^N gives an element of the model ring whose reduction is recorded exactly, and so lets statements about the reduction of X_0(N) modulo \ell follow the cusps through specialisation.
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
- S. Lang, Elliptic Functions, 2nd edition, Graduate Texts in Mathematics 112, Springer, 1987
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 31 lines
- 3 declarations
- used in the statements of 81 theorems and imported by 89 proofs
- imports 5 definition modules
Source file: Definitions/Def_ModularCurve_FibreModelCuspChart.lean
Imports
Imported by
- no other definition module
Declarations
- structure
ModularCurve.CharPModel.FibreModel.CuspChart - field
ModularCurve.CharPModel.FibreModel.CuspChart.tBar_mem - field
ModularCurve.CharPModel.FibreModel.CuspChart.piInf_t
Source
import Definitions.Def_ModularCurve_JqCoeff import Definitions.Def_ModularCurve_LaurentCoeff import Definitions.Def_ModularCurve_PhiGen import Definitions.Def_AlgebraicCurve_DivisorClassGroup import Definitions.Def_ModularCurve_FibreModel import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure ↗ set_option autoImplicit false noncomputable section namespace ModularCurve namespace CharPModel open AlgebraicCurve variable (N : ℕ) [NeZero N] (A : ValuationSubring (AlgebraicClosure ℚ)) variable (ℓ : ℕ) [Fact ℓ.Prime] (k : Type*) [Field k] [CharP k ℓ] (red : A →+* k) structure FibreModel.CuspChart (fm : FibreModel N A ℓ k red) : Prop where tBar_mem : jNBar N * ((jBar N)⁻¹) ^ N ∈ fm.BInf piInf_t : fm.piInf ⟨jNBar N * ((jBar N)⁻¹) ^ N, tBar_mem⟩ = (⟨jqNModC k N, jqNModC_mem k N⟩ : modularFunctionFieldC k N) * ((⟨jqModC k, jqModC_mem k N⟩ : modularFunctionFieldC k N))⁻¹ ^ N end CharPModel end ModularCurve
Statements phrased using this module (81)
- Good-reduction specialisation datum for J₀(N), N prime
ModularCurve.CharPModel.FibreModel.exists_jZeroGoodReductionSpecialization_sp_eq_spPic0_of_prime1,099 below · depth 9 - Finite flat model of Eisenstein quotient torsion along `spPic0`
ModularCurve.CharPModel.FibreModel.exists_le_finiteFlat_model_eisensteinQuotient_torsion_spPic0_of_ne_two2,013 below · depth 9 - Packaging the fibre-model specialisation as a place-specialisation packet
ModularCurve.CharPModel.FibreModel.exists_placeSpecialization_spPic0_eq_of_prime998 below · depth 9 - Divisor specialisation preserves degree zero and principality
ModularCurve.CharPModel.FibreModel.spDiv_preservesPrincipal_of_reductionInputs313 below · depth 9 - Normal fibre model with cusp chart for X₀(p)
ModularCurve.CharPModel.exists_fibreModel_cuspChart_integrallyClosed_of_prime743 below · depth 9 - Specialisation on J₀(N) is injective on prime-to-ℓ torsion
ModularCurve.CharPModel.FibreModel.eq_zero_of_spPic0_eq_zero_of_prime_pow_smul_eq_zero_residueField1,002 below · depth 10 - Hecke descent along the fibre specialisation, Eichler–Shimura at ℓ
ModularCurve.CharPModel.FibreModel.exists_heckeDescentFamily_spPic0_and_match_of_prime1,032 below · depth 10 - Specialisation pushforward computes the divisor of the reduced q-expansion
ModularCurve.CharPModel.FibreModel.mapDomain_spPlace_eq_ord_coeffMap292 below · depth 10 - Reduction mod ℓ on J₀(N) equals the constructed specialisation
ModularCurve.CharPModel.FibreModel.reductionModL_eq_pic0Congr_spPic0812 below · depth 10 - Eichler–Shimura relation at specialised places of X₀(N)
ModularCurve.CharPModel.FibreModel.spPlace_d1_of_cuspChart257 below · depth 10 - Specialisation carries arithmetic Frobenius to geometric Frobenius
ModularCurve.CharPModel.FibreModel.spPlace_d6_frobenius_of_cuspChart263 below · depth 10 - Cusp dictionary at the j-pole for `spPlace`
ModularCurve.CharPModel.FibreModel.spPlace_d7_dictInfty0 below · depth 10 - Cusp dictionary for j/j_N^N at spPlace, prime level
ModularCurve.CharPModel.FibreModel.spPlace_d7_dictZero_of_prime150 below · depth 10 - Normal fibre model of X₀(N) with cusp chart
ModularCurve.CharPModel.exists_fibreModel_cuspChart_integrallyClosed79 below · depth 10 - q-expansion principle for the pole chart of a fibre model
ModularCurve.CharPModel.FibreModel.coe_piInf_eq_coeffRed_of_cuspChart96 below · depth 11 - Specialisation of J₀(N) intertwines T_q with the special-fibre operator
ModularCurve.CharPModel.FibreModel.heckePic0Fibre_spPic0_eq_spPic0_heckeGen_smul963 below · depth 11 - Reduction of places equals the fibre-model specialisation map
ModularCurve.CharPModel.FibreModel.placeReductionModL_eq_spPlace810 below · depth 11 - Cusp-zero dictionary, t-small branch, prime level
ModularCurve.CharPModel.FibreModel.spPlace_d7_dictZero_of_t_small_of_prime145 below · depth 11 - Transported specialisation is a reduction of places mod ℓ
ModularCurve.CharPModel.FibreModel.isPlaceReductionModL_congr_spPlace299 below · depth 12 - Fibre-model specialisation carries divisors to divisors of reductions
ModularCurve.CharPModel.FibreModel.mapDomain_spPlace_eq_ord_coeffMap_of_surjective293 below · depth 13 - Eichler–Shimura relation on principal divisors, with cusp chart
ModularCurve.CharPModel.FibreModel.mapDomain_spPlace_heckeDivBar_of_mem_principal_of_cuspChart312 below · depth 13 - Divisor specialisation on X₀(N) preserves degree zero and principality
ModularCurve.CharPModel.FibreModel.spDiv_preservesPrincipal_of_not_dvd296 below · depth 13 - Eichler–Shimura relation for the specialisation map on places
ModularCurve.CharPModel.FibreModel.spPlace_d1_of_cuspChart_of_level257 below · depth 13 - Unique unramified crossing place above a Frobenius-moved pole
ModularCurve.CharPModel.FibreModel.spPlace_d2_of_pole_of_cuspChart_of_level833 below · depth 13 - Specialisation transports arithmetic Frobenius to geometric Frobenius
ModularCurve.CharPModel.FibreModel.spPlace_d6_frobenius_of_cuspChart_of_level263 below · depth 13 - Cusp dictionary in the chart j_N/j^N at j-poles
ModularCurve.CharPModel.FibreModel.spPlace_d7_dictInfty_of_level0 below · depth 13 - Cusp dictionary at the j_N-pole in the chart j/j_N^N
ModularCurve.CharPModel.FibreModel.spPlace_d7_dictZero_of_level301 below · depth 13 - Strict points reduce to reduceFst and reduceSnd
ModularCurve.DRModelPackageLevel.compat_reduceFst_reduceSnd_of_sp_eq_spPlace1,848 below · depth 13 - Extension to an A-point of relative Pic⁰ versus good classes
ModularCurve.DRModelPackageLevel.extendsToPlace_pts_iff_isGoodClass3,053 below · depth 13 - Igusa chart algebras inside a fibre model with cusp chart
ModularCurve.IgusaScheme.exists_fibreModel_cuspChart_of_chartAlg743 below · depth 13 - Cusp law on the infinity branch for prolongation tuples
ModularCurve.PlaceSpecialization.ProlongationTuple.cuspLawInfty_of_sp_eq_spPlace_of_cuspChart636 below · depth 13 - Charts at every place not fixed by φ²
ModularCurve.PlaceSpecialization.hasCharts_of_sp_eq_spPlace_of_not_dvd644 below · depth 13 - Coordinates for specialisations arising from fibre models
ModularCurve.PlaceSpecialization.hasCoordinates_of_sp_eq_spPlace196 below · depth 13 - Model and order laws pin the place specialisation of X₀(N)
ModularCurve.PlaceSpecialization.sp_eq_spPlace_of_isModel_of_orderLawFixed342 below · depth 13 - Eichler–Shimura relation for sp_* at level N prime to ℓ
ModularCurve.CharPModel.FibreModel.mapDomain_spPlace_heckeDivBar_of_cuspChart_of_level831 below · depth 14 - Pole-chart place is pinned by the reduction relation
ModularCurve.CharPModel.FibreModel.spPlace_eq_of_forall_residue_sub_mem_nonunits_jInv182 below · depth 14 - Fibre model with cusp chart for X₀(N) at ℓ∤ N
ModularCurve.CharPModel.exists_fibreModel_cuspChart_of_not_dvd743 below · depth 14 - Extension over A implies good class for P
ModularCurve.DRModelPackageLevel.isGoodClass_of_extendsToPlace_pts3,008 below · depth 14 - Strict places reduce to reduceFst, reduceSnd on the Deligne–Rapoport model
ModularCurve.DRModelPackageLevel.placeOfPoint_eq_reduce_of_isModel_of_orderLawFixed1,896 below · depth 14 - 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 - Centre pins on special fibres of the Igusa scheme
ModularCurve.IgusaScheme.exists_spBase_and_cuspChart_centrePin_of_genericFibre_iso_ofGenerator815 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 - Existence of charts at non-affine places off the φ²-fixed locus
ModularCurve.PlaceSpecialization.exists_isChartAt_of_not_isAffineGeomPlace642 below · depth 14 - Eichler–Shimura relation on principal divisors, level prime to ℓ
ModularCurve.CharPModel.FibreModel.mapDomain_spPlace_heckeDivBar_of_mem_principal_of_cuspChart_of_level312 below · depth 15 - 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 - A fibre model with cusp chart for X₀(N)
ModularCurve.CharPModel.exists_fibreModel_cuspChart79 below · depth 15 - Existence of a place specialization at squarefree level
ModularCurve.CharPModel.exists_placeSpecialization_of_fibreModel_of_squarefree1,021 below · depth 15 - Integral D-points have vanishing component invariant
ModularCurve.DRModelPackageLevel.comp_eq_zero_of_exists_schemeHomOver_of_depthCompLaw_of_abelJacobiPin_of_surjective_red_of_sp_eq_spPlace2,485 below · depth 15 - Igusa chart rings inside a cusp-chart fibre model
ModularCurve.IgusaScheme.exists_fibreModel_cuspChart_of_chartAlg_of_lift743 below · depth 15 - A fibre model with cusp chart yields a place-specialization packet
ModularCurve.CharPModel.FibreModel.exists_placeSpecialization_spPic0_eq998 below · depth 16 - Integrally closed fibre model with cusp chart and lifts
ModularCurve.CharPModel.exists_fibreModel_cuspChart_integrallyClosed_of_lift79 below · depth 16 - A charted fibre model realising a place specialization at level N>1
ModularCurve.CharPModel.exists_fibreModel_cuspChart_placeSpecialization_sp_eq_spPlace_of_one_lt1,020 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 - Cusp dictionary in the chart j/j_N^N at poles of j_N
ModularCurve.CharPModel.FibreModel.spPlace_d7_dictZero303 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 - 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 - Cusp zero-chart specialisation dictionary under a small opposite coordinate
ModularCurve.CharPModel.FibreModel.spPlace_d7_dictZero_of_t_small302 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 - Cusp zero-chart dictionary under a small opposite coordinate
ModularCurve.CharPModel.FibreModel.spPlace_d7_dictZero_of_t_small_of_level301 below · depth 19 - 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 - 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 - Fibre-model independence of the specialisation of places
ModularCurve.CharPModel.FibreModel.spPlace_eq_of_surjective749 below · depth 21 - Fibre-model independence of the specialisation of places
ModularCurve.CharPModel.FibreModel.spPlace_eq745 below · depth 22