Definitions/Def_ModularCurve_ComponentGroup.lean
Combinatorial component group of a weighted vertexless graph
Fix a finite index type \iota. The module sets up, in purely linear-algebraic terms, the degree-zero divisor lattice on \iota, a diagonal integral pairing weighted by natural numbers, and the cokernel of the associated Gram map.
ModularCurve.degreeOn ι is the \mathbb{Z}-linear map (\iota \to \mathbb{Z}) \to \mathbb{Z} obtained as the sum of the coordinate projections, so D \mapsto \sum_{x} D_x (degreeOn_apply). ModularCurve.characterLattice ι is its kernel, taken as a \mathbb{Z}-submodule of \iota \to \mathbb{Z}; mem_characterLattice records that D lies in it exactly when \sum_x D_x = 0. For a weight function e : \iota \to \mathbb{N}, ModularCurve.widthPairing e is the \mathbb{Z}-bilinear form on \iota \to \mathbb{Z} given by \langle D, D'\rangle = \sum_x (e_x) \, D_x D'_x, with the integer casts of the weights; widthPairing_apply gives this formula and widthPairing_comm its symmetry. No positivity or boundedness is imposed on e beyond its taking values in \mathbb{N}. ModularCurve.gramMap e is this pairing restricted to characterLattice ι in both arguments, viewed as a map X \to \operatorname{Hom}_{\mathbb{Z}}(X,\mathbb{Z}) = Module.Dual ℤ (characterLattice ι) with X = characterLattice ι, and gramMap_apply evaluates it by the same weighted sum on the underlying functions. Finally ModularCurve.componentGroup e is defined, as a reducible abbreviation, to be the quotient module \operatorname{Hom}_{\mathbb{Z}}(X,\mathbb{Z}) / \operatorname{range}(\mathtt{gramMap}\ e), and ModularCurve.componentGroupProj e is the canonical quotient map from the dual onto it. Thus the component group here is literally a quotient of the dual lattice by the image of the weighted diagonal pairing, not an abstractly characterised group; in particular it is defined for every e, with no finiteness or nondegeneracy hypothesis.
Relation to Mathlib
Built entirely from Mathlib's linear algebra (LinearMap.proj, LinearMap.ker, LinearMap.mk₂, domRestrict₁₂, Module.Dual, submodule quotients and Submodule.mkQ); the notions themselves — the degree map, character lattice, width pairing, Gram map and component group — are the project's own, Mathlib having no counterpart.
Where it is used
These are the combinatorial avatars of the character group X of the toric part of the special fibre of the Néron model of J_0(Mq) at a prime q of multiplicative reduction, of Grothendieck's monodromy pairing X \to \operatorname{Hom}(X,\mathbb{Z}), and of the group of connected components \Phi appearing as its cokernel; the index set is instantiated by the supersingular locus and the weights by the crossing widths. They feed the analysis of inertia at q used in Mazur's principle and level lowering.
References
- A. Grothendieck, Modèles de Néron et monodromie, Exposé IX, in: Groupes de monodromie en géométrie algébrique (SGA 7 I), Lecture Notes in Mathematics 288, Springer, 1972
- K. A. Ribet, On modular representations of \mathrm{Gal}(\overline{\mathbb{Q}}/\mathbb{Q}) arising from modular forms, Inventiones Mathematicae 100 (1990), 431–476, §2
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 79 lines
- 11 declarations
- used in the statements of 103 theorems and imported by 110 proofs
- imports 0 definition modules
Source file: Definitions/Def_ModularCurve_ComponentGroup.lean
Imports
- only Mathlib
Declarations
- def
ModularCurve.degreeOn - theorem
ModularCurve.degreeOn_apply - def
ModularCurve.characterLattice - theorem
ModularCurve.mem_characterLattice - def
ModularCurve.widthPairing - theorem
ModularCurve.widthPairing_apply - theorem
ModularCurve.widthPairing_comm - def
ModularCurve.gramMap - theorem
ModularCurve.gramMap_apply - abbrev
ModularCurve.componentGroup - abbrev
ModularCurve.componentGroupProj
Source
import Mathlib.LinearAlgebra.Dual.Defs ↗ import Mathlib.Data.ZMod.QuotientRing ↗ import Mathlib.Algebra.Exact ↗ import Mathlib.Algebra.BigOperators.Group.Finset.Basic ↗ set_option autoImplicit false noncomputable section namespace ModularCurve open Finset section CharacterLattice variable {ι : Type*} [Fintype ι] def degreeOn (ι : Type*) [Fintype ι] : (ι → ℤ) →ₗ[ℤ] ℤ := ∑ x : ι, LinearMap.proj x @[simp] theorem degreeOn_apply (D : ι → ℤ) : degreeOn ι D = ∑ x : ι, D x := by simp [degreeOn] def characterLattice (ι : Type*) [Fintype ι] : Submodule ℤ (ι → ℤ) := LinearMap.ker (degreeOn ι) theorem mem_characterLattice {D : ι → ℤ} : D ∈ characterLattice ι ↔ ∑ x : ι, D x = 0 := by simp [characterLattice, LinearMap.mem_ker] end CharacterLattice section Pairing variable {ι : Type*} [Fintype ι] def widthPairing (e : ι → ℕ) : (ι → ℤ) →ₗ[ℤ] (ι → ℤ) →ₗ[ℤ] ℤ := LinearMap.mk₂ ℤ (fun D D' => ∑ x : ι, (e x : ℤ) * (D x * D' x)) (fun D₁ D₂ D' => by rw [← Finset.sum_add_distrib] exact Finset.sum_congr rfl fun x _ => by simp only [Pi.add_apply]; ring) (fun c D D' => by rw [smul_eq_mul, Finset.mul_sum] exact Finset.sum_congr rfl fun x _ => by simp only [Pi.smul_apply, smul_eq_mul]; ring) (fun D D'₁ D'₂ => by rw [← Finset.sum_add_distrib] exact Finset.sum_congr rfl fun x _ => by simp only [Pi.add_apply]; ring) (fun c D D' => by rw [smul_eq_mul, Finset.mul_sum] exact Finset.sum_congr rfl fun x _ => by simp only [Pi.smul_apply, smul_eq_mul]; ring) @[simp] theorem widthPairing_apply (e : ι → ℕ) (D D' : ι → ℤ) : widthPairing e D D' = ∑ x : ι, (e x : ℤ) * (D x * D' x) := rfl theorem widthPairing_comm (e : ι → ℕ) (D D' : ι → ℤ) : widthPairing e D D' = widthPairing e D' D := by simp only [widthPairing_apply] exact Finset.sum_congr rfl fun x _ => by ring def gramMap (e : ι → ℕ) : characterLattice ι →ₗ[ℤ] Module.Dual ℤ (characterLattice ι) := (widthPairing e).domRestrict₁₂ (characterLattice ι) (characterLattice ι) @[simp] theorem gramMap_apply (e : ι → ℕ) (D D' : characterLattice ι) : gramMap e D D' = ∑ x : ι, (e x : ℤ) * (D.1 x * D'.1 x) := rfl abbrev componentGroup (e : ι → ℕ) := Module.Dual ℤ (characterLattice ι) ⧸ LinearMap.range (gramMap e) abbrev componentGroupProj (e : ι → ℕ) : Module.Dual ℤ (characterLattice ι) →ₗ[ℤ] componentGroup e := (LinearMap.range (gramMap e)).mkQ end Pairing end ModularCurve
Statements phrased using this module (103)
- Finiteness of the component group for positive weights
ModularCurve.finite_componentGroup_of_pos6 below · depth 11 - Degeneracy morphisms D → D₀ and Ribet's special-fibre formula
ModularCurve.XHDRModelAtP.exists_degeneracyHom_mul_pts_special1,698 below · depth 12 - Glued special-fibre dictionary for relative Pic⁰ at p ‖ M
ModularCurve.XHDRModelAtP.exists_ptsSp_gluedPic0_dictionary_specialFibre1,294 below · depth 12 - Special-fibre Pic⁰ dictionary for the level-Γ_N model
ModularCurve.XHDRModelAtP.exists_ptsSp_levelN_pic0_equiv_of_representsRelSubPic1,183 below · depth 12 - Matching the generic and special Pic⁰ dictionaries by an A-section
ModularCurve.XHDRModelAtP.exists_schemeHomOver_pts_eq_and_ptsSp_symm_eq_mk_of_sameComponent30 below · depth 12 - Push-down and reduction agree on level-(M/p) dictionaries
ModularCurve.XHDRModelAtP.exists_schemeHomOver_pts_levelN_degPts_eq_and_ptsSp_levelN_symm_eq_mk166 below · depth 12 - Degeneracy pull-backs match the point dictionaries
ModularCurve.XHDRModelAtP.pts_alphaPull_eq_pts_levelN_comp_degPull364 below · depth 12 - Special fibre of the degeneracy pull-backs on Pic⁰ coordinates
ModularCurve.XHDRModelAtP.toPic0Pair_ptsSp_symm_schemeHomOverComp_degPull_eq1,100 below · depth 12 - Vanishing component group for at most one edge
ModularCurve.componentGroup_subsingleton0 below · depth 12 - Split torus in Pic⁰ of a two-component curve
AlgebraicGeometry.RelPicard.exists_torus_characterLattice_equiv_of_twoGluedSmoothCurves32 below · depth 13 - Poincaré bundle at ℚ̄-points of the integral model
ModularCurve.XHDRModelAtP.nonempty_poincare_pullbackAlong_iso_ofPoint_tensor_ofPoint_idealModule_of_eq_comp_ajbar15 below · depth 13 - Special-fibre formula for the degeneracy push-forwards at p ∥ M
ModularCurve.XHDRModelAtP.ptsSp_levelN_symm_schemeHomOverComp_degeneracyHom_eq_of_pts_levelN_degPts_eq_comp1,637 below · depth 13 - Degeneracy push-forwards as norm homomorphisms on ℚ̄-points
ModularCurve.XHDRModelAtP.pts_levelN_degPts_eq_comp_degeneracyHom_of_classifies_normModule230 below · depth 13 - Characters of the degree-zero lattice are evaluations at node data
ModularCurve.characterLattice_evalHom_surjective_and_trivial_iff_const0 below · depth 13 - The degree-zero lattice ℤ[S]⁰ is free of rank |S|-1
ModularCurve.characterLattice_free_and_finrank_eq0 below · depth 13 - Injectivity of the width-weighted Gram map
ModularCurve.gramMap_injective0 below · depth 13 - Surjectivity from hitting all crossing-coordinate classes
ModularCurve.comp_surjective_of_forall_exists_eq_crossingCoord0 below · depth 14 - Matched Hecke data: isometric equivariant ribbon kernels
CerednikDrinfeld.ribbon_kernelEquiv0 below · depth 16 - Explicit isomorphism of the Mazur–Rapoport and cycle component groups
ModularCurve.exists_addEquiv_appendixComponentGroup_x0MqResolvedTable_apply_eq_componentGroupProj0 below · depth 16 - Component group at p has order num((p-1)/12)
ModularCurve.natCard_componentGroup_widthOfPlaces_eq_eisensteinNumerator422 below · depth 16 - Order of the width-weighted component group at supersingular nodes
ModularCurve.natCard_componentGroup_placeWidth_nodePairsOfPlaces_eq_eisensteinNumerator421 below · depth 17 - Supersingular widths give a cyclic combinatorial component group
ModularCurve.zmultiples_componentGroupProj_smul_coord_eq_top_of_width_eq_jWidth1 below · depth 17 - Coprime widths make e(s₀) γ(s₀) generate the component group
ModularCurve.zmultiples_componentGroupProj_smul_coord_eq_top_of_pairwise_coprime0 below · depth 18 - Place-specialization kit for X_H(M) at p ∥ M
ModularCurve.XHDRModelAtP.exists_jHPlaceSpecialization_prolongationDatum_gluedSpecialization_componentGroup_offDiag_of_wgen2,517 below · depth 24 - Component map and glued specialization for X_H(M) at p ∥ M
ModularCurve.JHPlaceSpecialization.exists_componentMap_gluedSpecialization_of_isModel_of_coe_of_unit_of_cusp_of_attachedAnnulus_of_slope_of_fixReg1,958 below · depth 25 - Orientation of cuspidal reductions: ∞-side and 0-side places
ModularCurve.XHDRModelAtP.cuspOrientationInf_and_cuspOrientationZero_of_jHPlaceSpecialization_of_offDiag493 below · depth 25 - Disc laws at affine readings on the Deligne–Rapoport model
ModularCurve.XHDRModelAtP.discLawFst_and_discLawSnd_of_jHPlaceSpecialization_of_offDiag1,052 below · depth 25 - Node annuli at supersingular crossings, attached at both ends
ModularCurve.XHDRModelAtP.exists_width_annulus_attachedBothEnds_of_jHPlaceSpecialization_of_offDiag1,448 below · depth 25 - Vertical-slope functions on the node annuli at p ∥ M
ModularCurve.XHDRModelAtP.forall_annulus_exists_smul_mem_integers_isGoodDiv_ord_eq_zero_verticalSlope_of_dvd_of_offDiag1,368 below · depth 25 - Order zero of one-sided Gauss residues at fixed non-node places
ModularCurve.XHDRModelAtP.ord_residue_eq_zero_of_fixed_of_forall_ord_eq_zero_fst_and_snd_of_offDiag1,410 below · depth 25 - One-sided regularity of residues at fixed affine non-node places
ModularCurve.XHDRModelAtP.ord_residue_nonneg_of_fixed_of_isAffinePlace_of_forall_ord_nonneg_fst_and_snd_of_offDiag1,410 below · depth 25 - Regularity law from order law and type dichotomy
ModularCurve.XHDRModelAtP.regularityLaw_of_orderLawFixed_of_typeDichotomy_of_prolongationDatum1,055 below · depth 25 - End-slope law at both ends of a node annulus
ModularCurve.JHPlaceSpecialization.ProlongationDatum.annulus_ord_residue_eq_one_and_endSlope_both_ends_of_forall_isUnit_evalAt_mem_integers0 below · depth 26 - Surjective component map, good representatives, principal good divisor
ModularCurve.JHPlaceSpecialization.exists_comp_sndDegLaw_surjective_repOfKer_principalGood_of_isModel_of_coe_of_unit_of_cusp_of_attachedAnnulus_of_slope_of_fixReg1,618 below · depth 26 - Vanishing component map forces good classes at level Γ_H
ModularCurve.JHPlaceSpecialization.isGoodClass_of_comp_eq_zero_of_exists_isGoodDiv55 below · depth 26 - Integral Taylor expansions on residue discs of strict places
ModularCurve.XHDRModelAtP.exists_discParameter_ringHom_powerSeries_taylor_and_ord_residue_eq_of_isStrict1,050 below · depth 26 - Common node value at supersingular gluing pairs
ModularCurve.XHDRModelAtP.exists_hasValue_residue_pair_of_mem_ssNodePairs_of_orderLawFixed_of_prolongationDatum468 below · depth 26 - Invertible module framing nodes, fixed places and a base point
ModularCurve.XHDRModelAtP.exists_isInvertible_presentation_frames_slopeLaw_fixed_base_strict_of_dvd_width296 below · depth 26 - Local section cutting k times a branch at a crossing
ModularCurve.XHDRModelAtP.exists_section_slopeLaw_isUnit_ord_eq_zero_at_crossing_of_dvd_width1,340 below · depth 26 - Sections through a crossing: first reduction and non-strictness
ModularCurve.XHDRModelAtP.exists_section_through_crossing_iff_reduceFst_eq_and_not_isStrict_of_offDiag_of_surjective1,247 below · depth 26 - Vertical-slope function from a framed invertible module
ModularCurve.XHDRModelAtP.exists_smul_mem_integers_isGoodDiv_ord_eq_zero_verticalSlope_of_isInvertible_frames943 below · depth 26 - Regularity of residues at affine places on both components
ModularCurve.XHDRModelAtP.ord_residue_nonneg_of_mem_integers_of_isAffinePlace_of_forall_reduce_eq_ord_nonneg_of_prolongationDatum1,052 below · depth 26 - Component group of J_H(M) at p ∥ M from annulus depths
ModularCurve.JHPlaceSpecialization.exists_depth_comp_depthCompLaw_annulusDepthLaw_sndDegLaw_surjective_repOfKer_principalGood_of_coe_of_unit_of_cusp_of_attachedAnnulus_of_slope_of_fixReg1,617 below · depth 27 - Glued principality of good principal gluing data
ModularCurve.JHPlaceSpecialization.isGluedPrincipal_glueData_of_forall_apply_eq_ord_of_isModel_of_coe_of_unit_of_cusp_of_orient1,257 below · depth 27 - Residue-disc expansion of stalk germs at a strict place of the first kind
ModularCurve.XHDRModelAtP.exists_discParameter_ringHom_powerSeries_range_stalk_read_of_isStrictFst939 below · depth 27 - Residue-disc expansion of germs at strict places of the second kind
ModularCurve.XHDRModelAtP.exists_discParameter_ringHom_powerSeries_range_stalk_read_of_isStrictSnd942 below · depth 27 - Common value at supersingular nodes of the reduced fibre
ModularCurve.XHDRModelAtP.exists_hasValue_residue_pair_of_mem_ssNodePairs_of_forall_reduceFst_eq_reduceSnd_eq_ord_nonneg_of_prolongationDatum467 below · depth 27 - Strict second-kind places as A-sections closing on the second component
ModularCurve.XHDRModelAtP.exists_section_comp_one_placeOfPoint_eq_reduceSnd_of_isStrictSnd261 below · depth 27 - Places give A-valued sections of the base-changed model
ModularCurve.XHDRModelAtP.exists_section_comp_snd_eq_barPt_comp_eq_pointEquivPlace_symm0 below · depth 27 - Sections realising strict places of the first kind
ModularCurve.XHDRModelAtP.exists_section_comp_zero_placeOfPoint_eq_reduceFst_of_isStrictFst0 below · depth 27 - Hartogs criterion for germs at a smooth special-fibre point
ModularCurve.XHDRModelAtP.mem_range_stalk_read_of_mem_integers_of_forall_isStrictFst_mem1,015 below · depth 27 - Hartogs regularity at a strict place of the second kind
ModularCurve.XHDRModelAtP.mem_range_stalk_read_of_mem_integers_of_forall_isStrictSnd_mem1,022 below · depth 27 - Section through a crossing: red₁ and non-strictness
ModularCurve.XHDRModelAtP.reduceFst_eq_and_not_isStrict_of_section_closedPoint_eq_crossing_of_offDiag1,242 below · depth 27 - A non-strict section reduces to the prescribed crossing
ModularCurve.XHDRModelAtP.section_closedPoint_eq_crossing_of_reduceFst_eq_of_not_isStrict_of_offDiag3 below · depth 27 - Surjectivity of the depth component map for J_H(M) at p ∥ M
ModularCurve.JHPlaceSpecialization.comp_surjective_of_depthCompLaw_of_annulusInf58 below · depth 28 - Vanishing depth component class of a principal divisor
ModularCurve.JHPlaceSpecialization.componentGroupProj_depthDual_add_degree_sndDiv_smul_eq_zero_of_div_of_annulusInf_of_fixReadAffine269 below · depth 28 - A depth component map for J_H(M) at p ∥ M
ModularCurve.JHPlaceSpecialization.exists_comp_depthCompLaw_of_principalLaw_of_annulusInf0 below · depth 28 - Kernel classes of the component reading admit good representatives
ModularCurve.JHPlaceSpecialization.exists_isGoodDiv_pic0Mk_eq_of_comp_eq_zero_of_depthCompLaw_of_annulusInf_of_verticalSlope_of_fixReg1,483 below · depth 28 - Principal good divisor of bidegree (m(e),-m(e)) from vertical slopes
ModularCurve.JHPlaceSpecialization.exists_isPrincipal_isGoodDiv_degree_fstDiv_eq_sum_lcm_div_of_annulus_of_verticalSlope194 below · depth 28 - Inertia-fixed representatives of inertia-invariant classes in J_H(M)
ModularCurve.JHPlaceSpecialization.exists_rep_inertiaFixed_support_strict_or_node_of_mem_inertiaInvariants_of_annulus_of_fixReg1,596 below · depth 28 - Glued principality of the gluing datum of a common unit
ModularCurve.JHPlaceSpecialization.isGluedPrincipal_glueData_of_forall_apply_eq_ord_of_mem_integers_of_residue_ne_zero_of_isModel_of_unit_of_cusp_of_orient1,245 below · depth 28 - Depth at an inertia-fixed place is chart-independent
ModularCurve.JHPlaceSpecialization.valuation_evalAt_param_eq_of_annulus_of_annulus0 below · depth 28 - Étale coordinate at a smooth point of the special fibre
ModularCurve.XHDRModelAtP.exists_etale_chart_affineLine_of_isStrictFst5 below · depth 28 - Étale coordinate to A¹_A at a strict second-kind point
ModularCurve.XHDRModelAtP.exists_etale_chart_affineLine_of_isStrictSnd5 below · depth 28 - Étale coordinate is a uniformiser at a rational place
ModularCurve.XHDRModelAtP.ord_read_chart_sub_algebraMap_eq_one_of_section_of_etale_chart_of_isStrictFst8 below · depth 28 - Étale chart coordinate minus its value is a uniformiser
ModularCurve.XHDRModelAtP.ord_read_chart_sub_algebraMap_eq_one_of_section_of_etale_chart_of_isStrictSnd8 below · depth 28 - First unit coefficient computes the residue order at a strict place
ModularCurve.XHDRModelAtP.residue_ne_zero_and_ord_residue_eq_of_forall_coeff_mem_of_isStrictFst918 below · depth 28 - First unit coefficient computes the order of the reduced germ
ModularCurve.XHDRModelAtP.residue_ne_zero_and_ord_residue_eq_of_forall_coeff_mem_of_isStrictSnd918 below · depth 28 - Uniqueness of A-sections with a common étale coordinate
ModularCurve.XHDRModelAtP.section_eq_of_specMap_residue_comp_eq_of_comp_etale_chart_eq_of_isStrictFst0 below · depth 28 - Uniqueness of A-sections in an étale chart
ModularCurve.XHDRModelAtP.section_eq_of_specMap_residue_comp_eq_of_comp_etale_chart_eq_of_isStrictSnd0 below · depth 28 - Inertia-invariant rational positions on the supersingular annuli
ModularCurve.JHPlaceSpecialization.exists_annulusPositionLaw_inertiaInvariant_exists_fixed_of_annulus9 below · depth 29 - Twist-type divisors: inertia-fixed strict part plus glued-trivial good part
ModularCurve.JHPlaceSpecialization.exists_inertiaFixed_isStrict_add_isGoodDiv_gluedMk_eq_zero_add_principal_of_isTwistType_of_inertiaStable_of_annulus_of_fixRead1,476 below · depth 29 - Twist type after subtracting an inertia-fixed divisor
ModularCurve.JHPlaceSpecialization.exists_inertiaFixed_isTwistType_sub_of_inertiaStable_of_annulus417 below · depth 29 - Inertia-stable representatives with strict or nodal support
ModularCurve.JHPlaceSpecialization.exists_inertiaStable_pic0Mk_eq_support_strict_or_node_of_inertiaStable1,545 below · depth 29 - Good function with node residue orders -lcm(e)/e(s)
ModularCurve.JHPlaceSpecialization.exists_isGoodDiv_ord_residue_eq_neg_lcm_div_of_annulus_of_verticalSlope0 below · depth 29 - Good representative of an inertia-fixed class with vanishing component reading
ModularCurve.JHPlaceSpecialization.exists_isGoodDiv_pic0Mk_eq_of_forall_componentGroupProj_depthDual_add_eq_zero_of_annulusInf_of_verticalSlope_of_fixRead1,482 below · depth 29 - Inertia-fixed admissible representative of an inertia-stable divisor
ModularCurve.JHPlaceSpecialization.exists_principal_degZero_forall_support_sub_inertia_smul_eq_of_splitting1,483 below · depth 29 - Tent-weighted circle degrees of inertia-stable divisors are integers
ModularCurve.JHPlaceSpecialization.den_twistCircleDeg_eq_one_of_inertiaStable_of_annulus54 below · depth 30 - Glued Picard classes from inertia-fixed strict divisors on X_H(M)
ModularCurve.JHPlaceSpecialization.exists_inertiaFixed_isStrict_gluedMk_glueData_eq_of_annulus427 below · depth 30 - Good representative with vanishing glued class for a twisted divisor
ModularCurve.JHPlaceSpecialization.exists_isGoodDiv_gluedMk_eq_zero_pic0Mk_eq_of_isTwistOf_of_gluedMk_twistSpData_eq_zero_of_inertiaStable_of_annulus1,463 below · depth 30 - Existence of a twisted fibre datum from annulus data
ModularCurve.JHPlaceSpecialization.exists_twistedFibreDatum_laws_of_annulus77 below · depth 30 - Subtracting a strict degree-zero divisor preserves twist type
ModularCurve.JHPlaceSpecialization.isTwistOf_sub_and_twistSpData_sub_eq_of_forall_isStrict0 below · depth 30 - Vanishing depth reading implies twist type
ModularCurve.JHPlaceSpecialization.isTwistType_of_componentGroupProj_depthDual_eq_zero_of_inertiaStable_of_annulus237 below · depth 30 - Admissibility of the twisted gluing datum at p ‖ M
ModularCurve.JHPlaceSpecialization.twistSpData_mem_admissible_of_isTwistOf191 below · depth 30 - Second residue of the cusp coordinate j(qᵖ)j⁻ᵖ
ModularCurve.XHDRModelAtP.exists_mem_integers_residue_eq_jqModC_mul_inv_qExpand_pow_of_residue_eq_qExpFrobeniusModL666 below · depth 30 - Integrality of annulus position moments of inertia-stable divisors
ModularCurve.JHPlaceSpecialization.den_twistPosMoment_eq_one_of_inertiaStable_of_annulus54 below · depth 31 - Pinned chart: strict parts of E push to the base points
ModularCurve.JHPlaceSpecialization.mapDomain_fstDiv_eq_and_mapDomain_sndDiv_eq_of_twistSp_eq_zero_of_pin341 below · depth 31 - Distinctness and exhaustiveness of the two prolongations at p ∥ M
ModularCurve.XHDRModelAtP.integers_ne_and_forall_valuationSubring_eq_or_eq_of_residue_eq_qExpFrobeniusModL617 below · depth 31 - Chord bounds and rigidity of coupled sheet scalings at supersingular nodes
ModularCurve.JHPlaceSpecialization.exists_endOrder_ineq_and_coupledScalings_hasValue_of_isTwistOf_of_twistSp_eq_zero_of_annulus70 below · depth 32 - Genericity of the second prolongation and p-th powers along α
ModularCurve.XHDRModelAtP.integers_snd_isGeneric_and_forall_exists_valuation_alpha_sub_pow_lt_one_of_residue_eq_qExpFrobeniusModL3 below · depth 32 - Chord inequality and rigidity along supersingular annuli
ModularCurve.JHPlaceSpecialization.exists_chord_le_endOrders_and_rigid_of_isTwistOf_of_twistSp_eq_zero_of_annulus60 below · depth 33 - Node telescoping identity for coupled sheet scalings
ModularCurve.JHPlaceSpecialization.exists_hasValue_residue_div_pow_and_div_eq_twistAngFactor_of_coupled_of_inertiaStable1 below · depth 33 - Divisible supersingular root orders give a good class
ModularCurve.XHDRModelAtP.isGoodClass_of_forall_dvd_ord_residue_of_annulus_offDiag_of_wgen1,754 below · depth 34 - Balanced configurations on a supersingular node annulus are principal
ModularCurve.XHDRModelAtP.exists_ord_eq_and_smul_mem_integers_of_isUnit_mul_modulus_zpow_eq_prod_neg_evalAt_zpow_of_annulus_offDiag_of_wgen1,561 below · depth 35 - Moving a class of J_H(M) off δ-fixed places
ModularCurve.XHDRModelAtP.exists_pic0Mk_eq_forall_isStrict_or_reduceFst_mem_of_prolongationDatum_offDiag_of_wgen1,734 below · depth 35 - Existence of a residue carrier for a prescribed jump varpi
ModularCurve.XHDRModelAtP.exists_residueCarrier_of_ne_zero_of_prolongationDatum_offDiag_of_wgen1,334 below · depth 35 - Placement of an effective configuration on a node annulus
ModularCurve.XHDRModelAtP.exists_ord_residue_eq_and_ord_eq_of_nonneg_of_isUnit_mul_modulus_zpow_eq_prod_neg_evalAt_zpow_of_annulus_offDiag_of_wgen1,560 below · depth 36 - Band of residue carriers from a vertical unit
ModularCurve.XHDRModelAtP.exists_residueCarrier_pow_of_verticalUnit_of_prolongationDatum_offDiag_of_wgen1,320 below · depth 36 - Existence of Ogg's vertical unit with Atkin–Lehner relation
ModularCurve.XHDRModelAtP.exists_verticalUnit_atkinLehner_eq_mul_inv_residue_eq_prod_ssJSet_of_prolongationDatum_offDiag_of_wgen493 below · depth 36 - Atkin–Lehner swap of j, j(qᵖ) and cuspidal sides
ModularCurve.XHDRModelAtP.atkinLehner_swap_and_exists_coe_eq_modularUnitSeries_and_isInftySide_smul_iff_isZeroSide_of_wgen191 below · depth 37 - Lifting node-compatible fibre pairs to L(D₀-E) across a supersingular annulus
ModularCurve.XHDRModelAtP.exists_forall_exists_mem_riemannRochSpace_sub_and_residue_eq_of_hasValue_leading_of_nonneg_of_annulus_offDiag_of_wgen1,540 below · depth 37 - Non-strict zeros of a pole-free factor lie over supersingular nodes
ModularCurve.XHDRModelAtP.exists_mem_reduceFst_eq_of_ord_ne_zero_of_mul_commonUnit_of_ord_nonneg_of_ord_residue_eq_zero_of_prolongationDatum_offDiag_of_wgen1,310 below · depth 37 - Residues at a node of bi-integral sections of L(D₀-E)
ModularCurve.XHDRModelAtP.residue_mem_riemannRochSpace_sub_and_hasValue_of_mem_riemannRochSpace_sub_of_annulus_offDiag_of_wgen1,332 below · depth 38