Definitions/Def_ModularCurve_MultCoveringLink.lean
Link matrices and comparison constant for good families
Fix a prime p and r \in \mathbb{N}, and work inside \bar{\mathbb{Q}}(X_0(1\cdot p)), i.e. the base-changed modular function field modularFunctionFieldBar (1 * p) over \bar{\mathbb{Q}} = AlgebraicClosure ℚ. Let \Phi be a good-family context FamCtx p r, whose member family \Phi.t : \mathrm{Fin}\,r \to \bar{\mathbb{Q}}(X_0(p)) satisfies the predicate IsEmbBasis (1 * p) (its second component identifies the \bar{\mathbb{Q}}-span of the range with a fixed subspace, the same for every family satisfying the predicate; its first component is a basis of that span indexed by \mathrm{Fin}\,r), and let s be any further family satisfying IsEmbBasis (1 * p). The two opening lemmas record that each s_i lies in the span of the range of \Phi.t and each \Phi.t_j in the span of the range of s. Consequently one may define two matrices over \bar{\mathbb{Q}}: linkMatrix has (i,j) entry the j-th coordinate of s_i in the basis supplied by \Phi.t_basis, and linkMatrixInv has (i,j) entry the j-th coordinate of \Phi.t_i in the basis supplied by s; that the second is inverse to the first is not asserted here. linkBudget is the infimum, in \mathbb{N}, of those B such that for every valuation subring A \subseteq \bar{\mathbb{Q}} lying over p and all i,j both p^{B}\cdot(\mathtt{linkMatrix})_{ij} and p^{B}\cdot(\mathtt{linkMatrixInv})_{ij} belong to A (so 0 if no such B exists, by the convention for sInf on \mathbb{N}); the quantification over A is inside, so one budget serves all places above p. Finally compConst is the real number 4\bigl(\mathtt{linkBudget} + \mathtt{modulusExp}\bigr), where modulusExp = 3; unfolding lemmas for the matrix entries and for compConst, and its non-negativity, complete the module.
Relation to Mathlib
The linear algebra used is Mathlib's (Submodule.span, Basis.repr, ValuationSubring, sInf on \mathbb{N}); the good-family context, the embedding-basis predicate, the link matrices, the budget and the comparison constant are the project's own notions.
Where it is used
These data feed the multiplicative covering theorem for X_0(p) over \bar{\mathbb{Q}}, whose statement demands a single real constant and a single integral exponent chosen before the valuation subring above p: compConst is of the shape required for the proximity comparison clauses, and the link matrices transport chart data from the good family \Phi.t to an arbitrary embedding basis s.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 63 lines
- 10 declarations
- used in the statements of 24 theorems and imported by 25 proofs
- imports 1 definition modules
Source file: Definitions/Def_ModularCurve_MultCoveringLink.lean
Imported by
- no other definition module
Declarations
- theorem
ModularCurve.MultCovering.mem_span_range_goodFamily - theorem
ModularCurve.MultCovering.goodFamily_mem_span_range - def
ModularCurve.MultCovering.linkMatrix - def
ModularCurve.MultCovering.linkMatrixInv - def
ModularCurve.MultCovering.linkBudget - def
ModularCurve.MultCovering.compConst - theorem
ModularCurve.MultCovering.linkMatrix_apply - theorem
ModularCurve.MultCovering.linkMatrixInv_apply - theorem
ModularCurve.MultCovering.compConst_eq - theorem
ModularCurve.MultCovering.compConst_nonneg
Source
import Definitions.Def_ModularCurve_MultCoveringFamily set_option autoImplicit false open AlgebraicCurve namespace ModularCurve.MultCovering section Link variable {p : ℕ} [Fact p.Prime] {r : ℕ} theorem mem_span_range_goodFamily (Φ : FamCtx p r) (s : Fin r → ↥(modularFunctionFieldBar (1 * p))) (hs : IsEmbBasis (1 * p) s) (i : Fin r) : s i ∈ Submodule.span (AlgebraicClosure ℚ) (Set.range Φ.t) := by rw [Φ.t_basis.2, ← hs.2] exact Submodule.subset_span ⟨i, rfl⟩ theorem goodFamily_mem_span_range (Φ : FamCtx p r) (s : Fin r → ↥(modularFunctionFieldBar (1 * p))) (hs : IsEmbBasis (1 * p) s) (j : Fin r) : Φ.t j ∈ Submodule.span (AlgebraicClosure ℚ) (Set.range s) := by rw [hs.2, ← Φ.t_basis.2] exact Submodule.subset_span ⟨j, rfl⟩ noncomputable def linkMatrix (Φ : FamCtx p r) (s : Fin r → ↥(modularFunctionFieldBar (1 * p))) (hs : IsEmbBasis (1 * p) s) : Matrix (Fin r) (Fin r) (AlgebraicClosure ℚ) := fun i j => (Φ.t_basis.1.repr ⟨s i, mem_span_range_goodFamily Φ s hs i⟩) j noncomputable def linkMatrixInv (Φ : FamCtx p r) (s : Fin r → ↥(modularFunctionFieldBar (1 * p))) (hs : IsEmbBasis (1 * p) s) : Matrix (Fin r) (Fin r) (AlgebraicClosure ℚ) := fun i j => (hs.1.repr ⟨Φ.t i, goodFamily_mem_span_range Φ s hs i⟩) j noncomputable def linkBudget (Φ : FamCtx p r) (s : Fin r → ↥(modularFunctionFieldBar (1 * p))) (hs : IsEmbBasis (1 * p) s) : ℕ := sInf {B : ℕ | ∀ A : ValuationSubring (AlgebraicClosure ℚ), A.LiesOverPrime p → ∀ i j, (p : AlgebraicClosure ℚ) ^ B * linkMatrix Φ s hs i j ∈ A ∧ (p : AlgebraicClosure ℚ) ^ B * linkMatrixInv Φ s hs i j ∈ A} noncomputable def compConst (Φ : FamCtx p r) (s : Fin r → ↥(modularFunctionFieldBar (1 * p))) (hs : IsEmbBasis (1 * p) s) : ℝ := 4 * ((linkBudget Φ s hs : ℝ) + (modulusExp : ℝ)) theorem linkMatrix_apply (Φ : FamCtx p r) (s : Fin r → ↥(modularFunctionFieldBar (1 * p))) (hs : IsEmbBasis (1 * p) s) (i j : Fin r) : linkMatrix Φ s hs i j = (Φ.t_basis.1.repr ⟨s i, mem_span_range_goodFamily Φ s hs i⟩) j := rfl theorem linkMatrixInv_apply (Φ : FamCtx p r) (s : Fin r → ↥(modularFunctionFieldBar (1 * p))) (hs : IsEmbBasis (1 * p) s) (i j : Fin r) : linkMatrixInv Φ s hs i j = (hs.1.repr ⟨Φ.t i, goodFamily_mem_span_range Φ s hs i⟩) j := rfl theorem compConst_eq (Φ : FamCtx p r) (s : Fin r → ↥(modularFunctionFieldBar (1 * p))) (hs : IsEmbBasis (1 * p) s) : compConst Φ s hs = 4 * ((linkBudget Φ s hs : ℝ) + (modulusExp : ℝ)) := rfl theorem compConst_nonneg (Φ : FamCtx p r) (s : Fin r → ↥(modularFunctionFieldBar (1 * p))) (hs : IsEmbBasis (1 * p) s) : 0 ≤ compConst Φ s hs := by unfold compConst; positivity end Link end ModularCurve.MultCovering
Statements phrased using this module (24)
- 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 - Embedding basis expanded in the good family
ModularCurve.MultCovering.eq_sum_linkMatrix_mul_goodFamily0 below · depth 23 - Link budget makes the change-of-basis matrices p-integral
ModularCurve.MultCovering.linkBudget_spec2 below · depth 23 - Left inverse property of the link matrix
ModularCurve.MultCovering.linkMatrixInv_mul0 below · depth 23 - Link matrices satisfy M· M⁻¹=1
ModularCurve.MultCovering.linkMatrix_mul_inv0 below · depth 23 - 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 - 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 - Change of basis from an embedding basis to the good family
ModularCurve.MultCovering.eq_sum_linkMatrix_smul_goodFamily0 below · depth 24 - A uniform p-power budget for the link matrices
ModularCurve.MultCovering.exists_linkBudget1 below · depth 24 - 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 - Chordal separation of a supersingular annulus from the ̄0-chart
ModularCurve.MultCovering.crossComparison_annIn_zeroChart_of_ord_one_of_zeroFree673 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