Definitions/Def_ModularCurve_MultCoveringFamily.lean
Good family data and contexts for the multiplicative covering
Throughout, p is a prime and the ambient field is \overline{\mathbb Q}-coefficient Laurent series, with \mathrm{modularFunctionFieldBar}(1\cdot p) the geometric modular function field of level 1\cdot p. A FamData p r records r elements t_0,\dots,t_{r-1} of that field, together with elements t^{\mathbb Q}_l of the full modular function field over \mathbb Q and the requirement that each t_l is exactly the coefficientwise image of t^{\mathbb Q}_l; thus the family is rational. For such data, zeroSeries is the rational Laurent series underlying the Fricke transform w_p t^{\mathbb Q}_l, and coe_frickeInvolutionBar_t states that the geometric Fricke involution of t_l has precisely that series as its coefficient image. hasseContent is the integer n realised as the minimum of v_p on the nonzero coefficients of zeroSeries (chosen from the statement that such a minimum exists and is attained, and set to 0 otherwise), hasseExp its nonnegative part n^+, and goodFamilyZero the rescaled member p^{-n^+}t_l. For a valuation subring A of \overline{\mathbb Q} with residue field of characteristic p and a chart context \Gamma, ssPolyBar and ssPolyBarZero are the products \prod_e(\tilde\jmath-a_e) and \prod_e(\tilde\jmath-a_e^{\,p}) over e in Fin (mAnnuli p), where a_e=\mathrm{ssValue}\,\Gamma\,e enumerates the supersingular j-values.
FamCtx p r extends FamData p r by four properties, carried as structure fields: t satisfies IsEmbBasis (1*p); t_l=1 for index l=0; for every A lying over p and every chart context \Gamma over A, all t_l are integral on the \infty-chart, t_0 reduces to 1, and there are polynomials P_l over the residue field with \deg P_l+1\le \mathrm{mAnnuli}\,p and reduction of t_l equal to \mathrm{ssPolyBar}\,\Gamma\cdot P_l(\tilde\jmath) for l\ge 1, the P_l (l\ge1) being linearly independent with span the polynomials of degree <\mathrm{mAnnuli}\,p; and, under the hypothesis that every a_e differs from 0 and 1728, all p^{-n^+}t_l are integral on the zero chart, with polynomials P_l of degree \le \mathrm{mAnnuli}\,p, linearly independent and spanning every polynomial of degree \le\mathrm{mAnnuli}\,p, satisfying \overline{p^{-n^+}t_l}\cdot\mathrm{ssPolyBarZero}\,\Gamma=P_l(\tilde\jmath) and P_l=\prod_e(X-a_e^{\,p}) for l=0. The abbreviation goodFamily returns the underlying family t of such a context.
Relation to Mathlib
Mathlib supplies the ambient ingredients used here (p-adic valuation on rationals, Laurent series, valuation subrings and residue fields, Polynomial.degreeLT and Submodule.span); the modular function fields, the Fricke involution, the component charts and annuli, the supersingular j-set and the family notions FamData/FamCtx are the project's own.
Where it is used
The family context packages the integral structure, at both cusps and at every valuation ring above p, of a rational basis of a space of modular functions on X_0(p); it is the input from which the multiplicative covering of X_0(p) by charts and annuli over such valuation rings is assembled, and hence feeds the proximity and height estimates used on the modular-curve side of the argument.
References
- M. Deuring, Reduktion algebraischer Funktionenkörper nach Primdivisoren des Konstantenkörpers, Mathematische Zeitschrift 47 (1942), 643–654
- N. M. Katz and B. Mazur, Arithmetic Moduli of Elliptic Curves, Annals of Mathematics Studies 108, Princeton University Press, 1985
- B. Mazur, Modular curves and the Eisenstein ideal, Publications Mathématiques de l'IHÉS 47 (1977), 33–186
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 99 lines
- 21 declarations
- used in the statements of 78 theorems and imported by 79 proofs
- imports 1 definition modules
Source file: Definitions/Def_ModularCurve_MultCoveringFamily.lean
Imported by
Declarations
- structure
ModularCurve.MultCovering.FamData - field
ModularCurve.MultCovering.FamData.t - field
ModularCurve.MultCovering.FamData.tRat - field
ModularCurve.MultCovering.FamData.t_eq - field
ModularCurve.MultCovering.FamData.coeffEmb_mem_laurentBaseChange - def
ModularCurve.MultCovering.zeroSeries - theorem
ModularCurve.MultCovering.coe_frickeInvolutionBar_t - def
ModularCurve.MultCovering.hasseContent - def
ModularCurve.MultCovering.hasseExp - def
ModularCurve.MultCovering.goodFamilyZero - def
ModularCurve.MultCovering.ssPolyBar - def
ModularCurve.MultCovering.ssPolyBarZero - structure
ModularCurve.MultCovering.FamCtx - field
ModularCurve.MultCovering.FamCtx.t_basis - field
ModularCurve.MultCovering.FamCtx.t_zero - field
ModularCurve.MultCovering.FamCtx.t_inf - field
ModularCurve.MultCovering.FamCtx.LinearIndependent - field
ModularCurve.MultCovering.FamCtx.t_zeroChart - field
ModularCurve.MultCovering.FamCtx.P - field
ModularCurve.MultCovering.FamCtx.LinearIndependent - abbrev
ModularCurve.MultCovering.goodFamily
Source
import Definitions.Def_ModularCurve_MultCoveringCharts set_option maxHeartbeats 200000 set_option synthInstance.maxHeartbeats 20000 set_option autoImplicit false set_option synthInstance.maxHeartbeats 400000 noncomputable section open AlgebraicCurve IsLocalRing ModularCurve.MultCovering namespace ModularCurve.MultCovering structure FamData (p : ℕ) [Fact p.Prime] (r : ℕ) where t : Fin r → ↥(modularFunctionFieldBar (1 * p)) tRat : Fin r → ↥(modularFunctionFieldFull (1 * p)) t_eq : ∀ l, t l = ⟨coeffEmb (AlgebraicClosure ℚ) ↑(tRat l), coeffEmb_mem_laurentBaseChange (AlgebraicClosure ℚ) (tRat l).2⟩ noncomputable def zeroSeries {p : ℕ} [Fact p.Prime] {r : ℕ} (Φ : FamData p r) (l : Fin r) : LaurentSeries ℚ := ((frickeInvolutionFull (1 * p) (Φ.tRat l) : ↥(modularFunctionFieldFull (1 * p))) : LaurentSeries ℚ) theorem coe_frickeInvolutionBar_t {p : ℕ} [Fact p.Prime] {r : ℕ} (Φ : FamData p r) (l : Fin r) : ((frickeInvolutionBar (1 * p) (Φ.t l) : modularFunctionFieldBar (1 * p)) : LaurentSeries (AlgebraicClosure ℚ)) = coeffEmb (AlgebraicClosure ℚ) (zeroSeries Φ l) := by rw [Φ.t_eq l, frickeInvolutionBar_def, coe_geomAut_coeffEmb] rfl open Classical in noncomputable def hasseContent {p : ℕ} [Fact p.Prime] {r : ℕ} (Φ : FamData p r) (l : Fin r) : ℤ := if h : ∃ n : ℤ, (∀ k : ℤ, (zeroSeries Φ l).coeff k ≠ 0 → n ≤ padicValRat p ((zeroSeries Φ l).coeff k)) ∧ (∃ k : ℤ, (zeroSeries Φ l).coeff k ≠ 0 ∧ padicValRat p ((zeroSeries Φ l).coeff k) = n) then h.choose else 0 noncomputable def hasseExp {p : ℕ} [Fact p.Prime] {r : ℕ} (Φ : FamData p r) (l : Fin r) : ℕ := (hasseContent Φ l).toNat noncomputable def goodFamilyZero {p : ℕ} [Fact p.Prime] {r : ℕ} (Φ : FamData p r) (l : Fin r) : modularFunctionFieldBar (1 * p) := (algebraMap (AlgebraicClosure ℚ) (modularFunctionFieldBar (1 * p)) ((p : AlgebraicClosure ℚ) ^ hasseExp Φ l))⁻¹ * Φ.t l section PerA variable {p : ℕ} [Fact p.Prime] {A : ValuationSubring (AlgebraicClosure ℚ)} [DecidableEq (IsLocalRing.ResidueField ↥A)] [CharP (IsLocalRing.ResidueField ↥A) p] (Γ : ChartCtx p A) def ssPolyBar : ↥(modularFunctionFieldC (IsLocalRing.ResidueField ↥A) 1) := ∏ e : Fin (mAnnuli p), (jBar (IsLocalRing.ResidueField ↥A) - algebraMap (IsLocalRing.ResidueField ↥A) _ (ssValue Γ e)) def ssPolyBarZero : ↥(modularFunctionFieldC (IsLocalRing.ResidueField ↥A) 1) := ∏ e : Fin (mAnnuli p), (jBar (IsLocalRing.ResidueField ↥A) - algebraMap (IsLocalRing.ResidueField ↥A) _ (ssValue Γ e ^ p)) end PerA structure FamCtx (p : ℕ) [Fact p.Prime] (r : ℕ) extends FamData p r where t_basis : IsEmbBasis (1 * p) t t_zero : ∀ l : Fin r, (l : ℕ) = 0 → t l = 1 t_inf : ∀ (A : ValuationSubring (AlgebraicClosure ℚ)) (_ : A.LiesOverPrime p) [DecidableEq (IsLocalRing.ResidueField ↥A)] [CharP (IsLocalRing.ResidueField ↥A) p] (Γ : ChartCtx p A), ∃ hint : ∀ l, t l ∈ (infChart Γ).integers, (∀ l : Fin r, (l : ℕ) = 0 → (infChart Γ).residue ⟨t l, hint l⟩ = 1) ∧ ∃ P : Fin r → Polynomial (IsLocalRing.ResidueField ↥A), (∀ l : Fin r, 1 ≤ (l : ℕ) → (P l).natDegree + 1 ≤ mAnnuli p ∧ (infChart Γ).residue ⟨t l, hint l⟩ = ssPolyBar Γ * Polynomial.aeval (jBar (IsLocalRing.ResidueField ↥A)) (P l)) ∧ LinearIndependent (IsLocalRing.ResidueField ↥A) (fun l : {l : Fin r // 1 ≤ (l : ℕ)} => P l) ∧ Submodule.span (IsLocalRing.ResidueField ↥A) (Set.range fun l : {l : Fin r // 1 ≤ (l : ℕ)} => P l) = Polynomial.degreeLT (IsLocalRing.ResidueField ↥A) (mAnnuli p) t_zeroChart : ∀ (A : ValuationSubring (AlgebraicClosure ℚ)) (_ : A.LiesOverPrime p) [DecidableEq (IsLocalRing.ResidueField ↥A)] [CharP (IsLocalRing.ResidueField ↥A) p] (Γ : ChartCtx p A), (∀ e, ssValue Γ e ≠ 0 ∧ ssValue Γ e ≠ 1728) → ∃ (hint : ∀ l, goodFamilyZero toFamData l ∈ (zeroChart Γ).integers) (P : Fin r → Polynomial (IsLocalRing.ResidueField ↥A)), (∀ l, (P l).natDegree ≤ mAnnuli p) ∧ LinearIndependent (IsLocalRing.ResidueField ↥A) P ∧ (∀ Q : Polynomial (IsLocalRing.ResidueField ↥A), Q.natDegree ≤ mAnnuli p → Q ∈ Submodule.span (IsLocalRing.ResidueField ↥A) (Set.range P)) ∧ (∀ l : Fin r, (l : ℕ) = 0 → P l = ∏ e : Fin (mAnnuli p), (Polynomial.X - Polynomial.C (ssValue Γ e ^ p))) ∧ ∀ l, (zeroChart Γ).residue ⟨goodFamilyZero toFamData l, hint l⟩ * ssPolyBarZero Γ = Polynomial.aeval (jBar (IsLocalRing.ResidueField ↥A)) (P l) abbrev goodFamily {p : ℕ} [Fact p.Prime] {r : ℕ} (Φ : FamCtx p r) : Fin r → ↥(modularFunctionFieldBar (1 * p)) := Φ.t end ModularCurve.MultCovering end
Statements phrased using this module (78)
- Good family bounded by μ(p)^{nᵢ} on the ̄ 0-chart
ModularCurve.MultCovering.abv_evalAt_goodFamily_le_pow_hasseExp_of_mem_zeroChart_dom657 below · depth 23 - Proximity comparison on the ∞̄ chart via a fibre coordinate
ModularCurve.MultCovering.chartComparison_infChart_of_fibreCoord525 below · depth 23 - Chordal proximity comparison on the ̄ 0 chart of X₀(p)
ModularCurve.MultCovering.chartComparison_zeroChart_of_chartData_of_fibreCoord642 below · depth 23 - Cross-piece chordal comparison from exhaustive charts and annuli
ModularCurve.MultCovering.crossComparison_of_forall_mem_chart_dom_or_mem_annIn_dom1,342 below · depth 23 - Good-family values lie in mathfrak m_A on the inner annuli
ModularCurve.MultCovering.evalAt_goodFamily_mem_maximalIdeal_of_mem_annIn_dom636 below · depth 23 - Existence of a good-family context at prime level p
ModularCurve.MultCovering.exists_famCtx1,243 below · depth 23 - A good-family context orthogonal at both cusps exists
ModularCurve.MultCovering.exists_famCtx_orth_linearIndependent_zeroChart_residue1,243 below · depth 23 - Bi-filtered unimodular recombination of a good family
ModularCurve.MultCovering.exists_famCtx_toFamData_eq_of_bifiltered630 below · depth 23 - Unimodular recombination with attained node orders at p=11
ModularCurve.MultCovering.exists_unimodular_famData_ord_nodeSrc_zeroChart_residue_eq_neg_hasseExp_div_jWidth_of_eq_eleven968 below · depth 23 - Unimodular recombination of the good family carrying wide-node certificates
ModularCurve.MultCovering.exists_unimodular_famData_wideCertificates983 below · depth 23 - Hasse exponent equal to node width forces a simple pole
ModularCurve.MultCovering.forall_ord_goodFamily_eq_zero_and_ord_residue_goodFamilyZero_eq_neg_one_of_hasseExp_eq_jWidth634 below · depth 23 - Hasse exponents and node orders for p = 11
ModularCurve.MultCovering.hasseExp_and_ord_node_residue_of_eq_eleven644 below · depth 23 - Hasse exponent equals supersingular node width, genus zero
ModularCurve.MultCovering.hasseExp_eq_jWidth_of_genus_zero640 below · depth 23 - Hasse exponents bounded by the modulus exponent 3
ModularCurve.MultCovering.hasseExp_le_modulusExp628 below · depth 23 - The Hasse exponent vanishes at index zero
ModularCurve.MultCovering.hasseExp_zero628 below · depth 23 - Chart data for the good family on the ∞̄-chart
ModularCurve.MultCovering.infChart_chartData_goodFamily510 below · depth 23 - At most simple poles of the rescaled family on the zero chart
ModularCurve.MultCovering.neg_one_le_ord_nodeSrc_zeroChart_residue_goodFamilyZero628 below · depth 23 - Hasse members of the good family have positive exponent
ModularCurve.MultCovering.one_le_hasseExp628 below · depth 23 - Width-one tubes: constancy of rescaled good-family ratios
ModularCurve.MultCovering.residue_evalAt_goodFamilyZero_div_eq_evalAt_nodeSrc_of_forall_widthOne642 below · depth 23 - Chart data on the ̄ 0-chart when all nodes have width one
ModularCurve.MultCovering.zeroChart_chartData_goodFamilyZero_of_forall_ssValue_ne259 below · depth 23 - Chart data on the ̄0-chart from independent reductions
ModularCurve.MultCovering.zeroChart_chartData_goodFamilyZero_of_linearIndependent1,114 below · depth 23 - Zero-chart data for the rescaled good family, 5≤ p<13
ModularCurve.MultCovering.zeroChart_chartData_goodFamilyZero_of_lt_thirteen1,128 below · depth 23 - Rescaled good family consists of units on the ̄0-chart
ModularCurve.MultCovering.zeroChart_residue_goodFamilyZero_ne_zero628 below · depth 23 - ̄ 0-chart integrality of a 0-orthogonal family
ModularCurve.MultCovering.FamData.goodFamilyZero_mem_zeroChart_integers628 below · depth 24 - Coefficientwise p-integrality of p⁻¹wₚ t_l
ModularCurve.MultCovering.FamData.inf_h0_of_one_le_hasseExp628 below · depth 24 - Linear independence of the zero-chart residues of a Gauss-orthogonal family
ModularCurve.MultCovering.FamData.linearIndependent_zeroChart_residue_goodFamilyZero2 below · depth 24 - Hasse exponent at least one for nonzero indices
ModularCurve.MultCovering.FamData.one_le_hasseExp_of_orth628 below · depth 24 - Smith identification on the ̄ 0-chart of X₀(p)⊗ k
ModularCurve.MultCovering.FamData.t_zeroChart_of_orth954 below · depth 24 - Proximity bound at an ∞̄-chart place against a small place
ModularCurve.MultCovering.abs_prox_evalVec_le_of_mem_infChart_dom_of_forall_abv_evalAt_goodFamily_lt_one87 below · depth 24 - Profile of a zero-free good-family member on an annulus
ModularCurve.MultCovering.abv_evalAt_goodFamily_eq_abv_evalAt_param_of_ord_residue_eq_one_of_forall_ord_eq_zero634 below · depth 24 - Good-family values are small on supersingular annuli
ModularCurve.MultCovering.abv_evalAt_goodFamily_lt_one_of_mem_annIn_dom635 below · depth 24 - Chordal separation across two distinct supersingular annuli
ModularCurve.MultCovering.crossComparison_annIn_annIn1,314 below · depth 24 - Chordal separation between a supersingular annulus and the zero chart
ModularCurve.MultCovering.crossComparison_annIn_zeroChart1,321 below · depth 24 - Content-two members combine to the width-one node product
ModularCurve.MultCovering.exists_combination_hasseExp_two_eq_prod_widthOne869 below · depth 24 - Recombining a good family by a bi-filtered digit matrix
ModularCurve.MultCovering.exists_famData_of_bifiltered_digits635 below · depth 24 - Content-one witnesses at wide nodes on the zero chart
ModularCurve.MultCovering.exists_hasseExp_eq_one_unramified_and_separates960 below · depth 24 - Infinity-side witnesses at supersingular nodes: non-vanishing and minimal multiplicity
ModularCurve.MultCovering.exists_rootMultiplicity_ssValue_minimal870 below · depth 24 - Wide-node certificates for the good family at p = 11
ModularCurve.MultCovering.exists_unimodular_famData_wideCertificates_of_eq_eleven967 below · depth 24 - Index-zero member of a good family equals 1
ModularCurve.MultCovering.goodFamily_zero_eq_one0 below · depth 24 - Hasse exponents at most one when all widths are one
ModularCurve.MultCovering.hasseExp_le_one_of_forall_widthOne628 below · depth 24 - Good family members are units of the ∞̄-chart
ModularCurve.MultCovering.infChart_goodFamily_residue_ne_zero40 below · depth 24 - Node data for the good family on the ∞̄-chart
ModularCurve.MultCovering.infChart_nodeData40 below · depth 24 - Each Hasse member is simple at some node
ModularCurve.MultCovering.infChart_nodeData_exists_node_of_member40 below · depth 24 - Cusp-chart residues of a p-adically orthogonal family on X₀(p)
ModularCurve.MultCovering.infChart_residue_eq_ssPolyBar_mul_of_orthogonal894 below · depth 24 - Reduced good family spans the width-one polar system
ModularCurve.MultCovering.mem_span_zeroChart_residue_of_forall_ord_nodeSrc_ge869 below · depth 24 - Pole bound at tube nodes for the rescaled good family
ModularCurve.MultCovering.neg_hasseExp_div_jWidth_le_ord_nodeSrc_zeroChart_residue_goodFamilyZero945 below · depth 24 - Good-family members have no zeros on a width-one supersingular tube
ModularCurve.MultCovering.ord_goodFamily_eq_zero_of_ord_residue_eq_one_of_jWidth_eq_one634 below · depth 24 - Equality case: zero-free supersingular annulus, opposite node orders
ModularCurve.MultCovering.ord_nodeSrc_zeroChart_residue_eq_neg_ord_nodeTgt_of_hasseExp_eq_jWidth_mul953 below · depth 24 - Node order and separation for a digit recombination on the ̄0-chart
ModularCurve.MultCovering.ord_nodeSrc_zeroChart_residue_of_digits41 below · depth 24 - Simple value at a width-three node after digit recombination
ModularCurve.MultCovering.ord_nodeSrc_zeroChart_residue_sub_algebraMap_eq_one_of_digits40 below · depth 24 - Node orders of digit-recombined good family reductions
ModularCurve.MultCovering.ord_nodeTgt_infChart_residue_of_digits636 below · depth 24 - Rescaled good family reduces to functions regular off the nodes
ModularCurve.MultCovering.zeroChart_residue_goodFamilyZero_ord_nonneg_of_not_mem_nodes628 below · depth 24 - Hasse exponent at most one for doubly orthogonal bases
ModularCurve.MultCovering.FamData.hasseExp_le_one_of_orth945 below · depth 25 - At most simple poles at nodes of ̄0-chart reductions
ModularCurve.MultCovering.FamData.neg_one_le_ord_nodeSrc_residue_goodFamilyZero628 below · depth 25 - Regularity off the nodes of the rescaled family on the ̄ 0-chart
ModularCurve.MultCovering.FamData.residue_goodFamilyZero_ord_nonneg_of_not_mem_nodes628 below · depth 25 - Independence of compConst from the good family
ModularCurve.MultCovering.compConst_eq_compConst2 below · depth 25 - Cross-tube chordal comparison for X₀(11)
ModularCurve.MultCovering.crossComparison_annIn_annIn_of_eq_eleven1,287 below · depth 25 - Tube-to-tube chordal comparison for adapted good families
ModularCurve.MultCovering.crossComparison_annIn_annIn_of_orth_of_linearIndependent1,009 below · depth 25 - Chordal separation of supersingular tubes from the ̄0-chart
ModularCurve.MultCovering.crossComparison_annIn_zeroChart_of_adapted1,023 below · depth 25 - A simple zero at some supersingular node
ModularCurve.MultCovering.exists_node_ord_infChart_residue_eq_one_of_eq_ssPolyBar_mul39 below · depth 25 - Non-negativity of the Hasse content of a good family
ModularCurve.MultCovering.hasseContent_nonneg628 below · depth 25 - Hasse exponent vanishes for a member equal to 1
ModularCurve.MultCovering.hasseExp_eq_zero_of_t_eq_one628 below · depth 25 - Hasse exponents of the good family are at most two for p≥ 13
ModularCurve.MultCovering.hasseExp_le_two_of_thirteen_le632 below · depth 25 - Reduction of the good family on the ∞̄-chart
ModularCurve.MultCovering.infChart_residue_goodFamily0 below · depth 25 - Members of Hasse content at most one span the narrow-node polar system
ModularCurve.MultCovering.mem_span_zeroChart_residue_hasseExp_le_one_of_forall_ord_nodeSrc_ge869 below · depth 25 - Smith form of the good family on the ̄ 0-chart
ModularCurve.MultCovering.zeroChart_residue_goodFamilyZero_smith0 below · depth 25 - Invariance of the comparison constant under p-integral recombination
ModularCurve.MultCovering.compConst_eq_of_t_eq_sum5 below · depth 26 - Chordal proximity bound across two distinct supersingular annuli
ModularCurve.MultCovering.crossComparison_annIn_annIn_of_deep_of_zeroFree649 below · depth 26 - Tube-against-tube proximity bound at width-one supersingular nodes
ModularCurve.MultCovering.crossComparison_annIn_annIn_of_jWidth_eq_one879 below · depth 26 - Cross-comparison of two wide tubes by leading terms
ModularCurve.MultCovering.crossComparison_annIn_annIn_of_leadingTerms649 below · depth 26 - Chordal cross-comparison of places in two distinct annuli
ModularCurve.MultCovering.crossComparison_annIn_annIn_of_outer878 below · depth 26 - Chordal proximity bound across two distinct supersingular annuli
ModularCurve.MultCovering.crossComparison_annIn_annIn_of_outer_of_lt_hasseExp648 below · depth 26 - Chordal separation of a supersingular annulus from the ̄0-chart
ModularCurve.MultCovering.crossComparison_annIn_zeroChart_of_twoMembers677 below · depth 26 - Two wide supersingular nodes force two Hasse exponents 2
ModularCurve.MultCovering.exists_ne_hasseExp_eq_two_of_jWidth_ne_one954 below · depth 26 - Two-member certificate at a supersingular node with j=0
ModularCurve.MultCovering.exists_unimodular_famData_twoMembers_certificate_of_ssValue_eq_zero881 below · depth 26 - Coefficients of an ∞̄-integral combination of a good family
ModularCurve.MultCovering.mem_of_eq_sum_smul_goodFamily1 below · depth 26 - Non-vanishing tangent determinant for two content-2 family members
ModularCurve.MultCovering.tangentDet_ne_zero_of_hasseExp_two639 below · depth 26 - Frobenius fixes the zero-chart reductions of the good family
ModularCurve.MultCovering.coeffMap_frobenius_zeroChart_residue_goodFamilyZero635 below · depth 27