Definitions/Def_ModularCurve_JZeroHeightFormPositivity.lean
Positivity data for the J₀(N) height form
Fix N and work with the function field \overline{\mathbb{Q}}\cdot-model modularFunctionFieldBar N, its places, its divisors and the distinguished place cuspInftyBar N. Three real- or integer-valued quantities attached to a finite family s=(s_i)_{i<r} of elements of that field are defined. For a divisor D, offBaseMass N D is the sum of the multiplicities D(v) over all places v other than cuspInftyBar N; baseMass N s D is the weighted sum \sum_{v\neq\infty} D(v)\,\mathrm{baseHt}_s(\infty,v), where baseHt is the chord-defect height \mathrm{pairHt}_s(v,\infty)=\mathrm{pointHt}_s(v)+\mathrm{pointHt}_s(\infty)-h(\mathrm{chordVec}_s(v,\infty)) of the imported framework (zero at v=\infty); and heightPairing N s v w is the defect \mathrm{baseHt}_s(\infty,v)+\mathrm{baseHt}_s(\infty,w)-\mathrm{pairHt}_s(v,w). The lemma baseHt_eq_pointHt records that for v\neq\infty the base height equals the point height as soon as the chord vector of v and \infty has absolute logarithmic height 0 and \mathrm{pointHt}_s(\infty)=0.
The structure HeightFormPositivityData N K g' s μ, for a finite extension K/\mathbb{Q} inside \overline{\mathbb{Q}}, a degree g' and a real slope \mu, is a proposition with three fields, each guarded by the hypothesis that s is an embedding basis (linearly independent with span the Riemann–Roch space of (2g+1)\infty), and with c ranging over the classes in J_0(N) fixed by the fixing subgroup of K and D over their representatives in the sense of IsRepOf (effective, of the shape E+g'\cdot\infty with E of degree zero and class c, and Galois-stable under the fixing subgroup): naiveHeight_le_baseMass asserts the existence of \kappa\ge 0 and C with divNaiveHeight N K g' D \le\kappa\,baseMass N s D+C for all such D; pairInteraction, under 0<\mu and \mathrm{genus}<\mu^2, asserts the existence of constants C, \eta_E>0, C_E and an exceptional set Ex of pairs of places such that off Ex one has -\mu(\mathrm{baseHt}(v)+\mathrm{baseHt}(w))-C\le heightPairing N s v w for distinct v,w\neq\infty, while any class having a representative whose support meets an exceptional pair has some representative D_0 with \eta_E\,divNaiveHeight N K g' D₀-C_E\le heightForm N s D₀; multiPoint, under 0<\mu, asserts the existence of \eta>0 and C such that any class with a representative D satisfying \mathrm{genus}\le\mu(\mathrm{offBaseMass}(D)-1) has a representative D_2 with \eta\,baseMass N s D₂-C\le heightForm N s D₂.
Two degenerate instances are provided: the structure holds for all g' and \mu when s is not an embedding basis, and it holds for g'=0, \mu=0, using that divNaiveHeight N K 0 D vanishes identically (the symmetric-function vector has a single entry) while the other two fields are vacuous for \mu=0.
Relation to Mathlib
The places, divisors, Riemann–Roch spaces, genus and height form used here belong to the project's own function-field framework; only the underlying absolute logarithmic height of a tuple of algebraic numbers is built on Mathlib's Height.logHeight for number fields.
Where it is used
These quantities and the positivity structure are the interface through which lower bounds for the height form on Galois-invariant classes of J_0(N) are stated and consumed elsewhere in the tree; the present module supplies only the degenerate instances, the substantive ones being theorems about the curve.
References
- S. Lang, Fundamentals of Diophantine Geometry, Springer, 1983
- H. Stichtenoth, Algebraic Function Fields and Codes, 2nd edition, Graduate Texts in Mathematics 254, Springer, 2009
- M. Hindry and J. H. Silverman, Diophantine Geometry: An Introduction, Graduate Texts in Mathematics 201, Springer, 2000
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 107 lines
- 20 declarations
- used in the statements of 15 theorems and imported by 17 proofs
- imports 2 definition modules
Source file: Definitions/Def_ModularCurve_JZeroHeightFormPositivity.lean
Imported by
- no other definition module
Declarations
- def
ModularCurve.JZero.offBaseMass - def
ModularCurve.JZero.baseMass - def
ModularCurve.JZero.heightPairing - theorem
ModularCurve.JZero.baseHt_eq_pointHt - structure
ModularCurve.JZero.HeightFormPositivityData - field
ModularCurve.JZero.HeightFormPositivityData.K - field
ModularCurve.JZero.HeightFormPositivityData.g' - field
ModularCurve.JZero.HeightFormPositivityData.naiveHeight_le_baseMass - field
ModularCurve.JZero.HeightFormPositivityData.D - field
ModularCurve.JZero.HeightFormPositivityData.pairInteraction - field
ModularCurve.JZero.HeightFormPositivityData.genusFF - field
ModularCurve.JZero.HeightFormPositivityData.Place - field
ModularCurve.JZero.HeightFormPositivityData.D - field
ModularCurve.JZero.HeightFormPositivityData.multiPoint - field
ModularCurve.JZero.HeightFormPositivityData.D - field
ModularCurve.JZero.HeightFormPositivityData.genusFF - theorem
ModularCurve.JZero.divNaiveHeight_zero_left - theorem
ModularCurve.JZero.divNaiveHeight_zero_left_le - theorem
ModularCurve.JZero.heightFormPositivityData_of_not_isEmbBasis - theorem
ModularCurve.JZero.heightFormPositivityData_zero
Source
import Definitions.Def_ModularCurve_JZeroHeightForm import Definitions.Def_Compat_Mathlib430 set_option autoImplicit false set_option Elab.async false open ModularCurve AlgebraicCurve namespace ModularCurve.JZero noncomputable def offBaseMass (N : ℕ) [NeZero N] (D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar N)) : ℤ := (D.erase (cuspInftyBar N)).sum fun _ m => m noncomputable def baseMass (N : ℕ) [NeZero N] {r : ℕ} (s : Fin r → modularFunctionFieldBar N) (D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar N)) : ℝ := (D.erase (cuspInftyBar N)).sum fun v m => (m : ℝ) * baseHt s (cuspInftyBar N) v noncomputable def heightPairing (N : ℕ) [NeZero N] {r : ℕ} (s : Fin r → modularFunctionFieldBar N) (v w : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar N)) : ℝ := baseHt s (cuspInftyBar N) v + baseHt s (cuspInftyBar N) w - pairHt s v w theorem baseHt_eq_pointHt (N : ℕ) [NeZero N] {r : ℕ} (s : Fin r → modularFunctionFieldBar N) (v : Place (AlgebraicClosure ℚ) (modularFunctionFieldBar N)) (hv : v ≠ cuspInftyBar N) (hchord : absLogHeight (chordVec s v (cuspInftyBar N)) = 0) (hbase : pointHt s (cuspInftyBar N) = 0) : baseHt s (cuspInftyBar N) v = pointHt s v := by simp [baseHt, pairHt, hv, hchord, hbase] structure HeightFormPositivityData (N : ℕ) [NeZero N] (K : IntermediateField ℚ (AlgebraicClosure ℚ)) [FiniteDimensional ℚ K] (g' : ℕ) {r : ℕ} (s : Fin r → modularFunctionFieldBar N) (μ : ℝ) : Prop where naiveHeight_le_baseMass : IsEmbBasis N s → ∃ κ C : ℝ, 0 ≤ κ ∧ ∀ (c : ↥(JZero N ^+ ↥K.fixingSubgroup)) (D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar N)), IsRepOf N K g' c D → divNaiveHeight N K g' D ≤ κ * baseMass N s D + C pairInteraction : IsEmbBasis N s → 0 < μ → (genusFF (AlgebraicClosure ℚ) (modularFunctionFieldBar N) : ℝ) < μ ^ 2 → ∃ C ηE CE : ℝ, 0 < ηE ∧ ∃ Ex : Set (Place (AlgebraicClosure ℚ) (modularFunctionFieldBar N) × Place (AlgebraicClosure ℚ) (modularFunctionFieldBar N)), (∀ v w, v ≠ w → v ≠ cuspInftyBar N → w ≠ cuspInftyBar N → (v, w) ∉ Ex → -μ * (baseHt s (cuspInftyBar N) v + baseHt s (cuspInftyBar N) w) - C ≤ heightPairing N s v w) ∧ (∀ (c : ↥(JZero N ^+ ↥K.fixingSubgroup)) (D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar N)), IsRepOf N K g' c D → (∃ v w, v ≠ w ∧ v ≠ cuspInftyBar N ∧ w ≠ cuspInftyBar N ∧ D v ≠ 0 ∧ D w ≠ 0 ∧ (v, w) ∈ Ex) → ∃ D₀, IsRepOf N K g' c D₀ ∧ ηE * divNaiveHeight N K g' D₀ - CE ≤ heightForm N s D₀) multiPoint : IsEmbBasis N s → 0 < μ → ∃ η C : ℝ, 0 < η ∧ ∀ (c : ↥(JZero N ^+ ↥K.fixingSubgroup)) (D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar N)), IsRepOf N K g' c D → (genusFF (AlgebraicClosure ℚ) (modularFunctionFieldBar N) : ℝ) ≤ μ * ((offBaseMass N D : ℝ) - 1) → ∃ D₂, IsRepOf N K g' c D₂ ∧ η * baseMass N s D₂ - C ≤ heightForm N s D₂ theorem divNaiveHeight_zero_left (N : ℕ) [NeZero N] (K : IntermediateField ℚ (AlgebraicClosure ℚ)) [FiniteDimensional ℚ K] (D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar N)) : divNaiveHeight N K 0 D = 0 := by haveI : Subsingleton (Fin (0 + 1)) := ⟨fun a b => Fin.ext (by omega)⟩ unfold divNaiveHeight split_ifs with h · exact Height.logHeight_eq_zero_of_subsingleton _ · rfl theorem divNaiveHeight_zero_left_le (N : ℕ) [NeZero N] (K : IntermediateField ℚ (AlgebraicClosure ℚ)) [FiniteDimensional ℚ K] (D : Divisor (AlgebraicClosure ℚ) (modularFunctionFieldBar N)) (x : ℝ) : divNaiveHeight N K 0 D ≤ 0 * x + 0 := by rw [divNaiveHeight_zero_left, zero_mul, add_zero] theorem heightFormPositivityData_of_not_isEmbBasis (N : ℕ) [NeZero N] (K : IntermediateField ℚ (AlgebraicClosure ℚ)) [FiniteDimensional ℚ K] (g' : ℕ) {r : ℕ} (s : Fin r → modularFunctionFieldBar N) (μ : ℝ) (hs : ¬ IsEmbBasis N s) : HeightFormPositivityData N K g' s μ where naiveHeight_le_baseMass := fun h => absurd h hs pairInteraction := fun h => absurd h hs multiPoint := fun h => absurd h hs theorem heightFormPositivityData_zero (N : ℕ) [NeZero N] (K : IntermediateField ℚ (AlgebraicClosure ℚ)) [FiniteDimensional ℚ K] {r : ℕ} (s : Fin r → modularFunctionFieldBar N) : HeightFormPositivityData N K 0 s 0 where naiveHeight_le_baseMass := fun _ => ⟨0, 0, le_rfl, fun _ D _ => divNaiveHeight_zero_left_le N K D _⟩ pairInteraction := fun _ hμ => absurd hμ (lt_irrefl 0) multiPoint := fun _ hμ => absurd hμ (lt_irrefl 0) end ModularCurve.JZero
Statements phrased using this module (15)
- Naive height of a representative bounded by base mass
ModularCurve.JZero.divNaiveHeight_le_baseMass_of_isRepOf299 below · depth 15 - Height form dominates base mass on suitable representatives
ModularCurve.JZero.exists_isRepOf_baseMass_le_heightForm1,032 below · depth 15 - The base mass ignores the cusp at infinity
ModularCurve.JZero.baseMass_add_single_cuspInftyBar0 below · depth 16 - Base mass of a one-point divisor
ModularCurve.JZero.baseMass_single0 below · depth 16 - Effective divisors of off-cusp mass at most one
ModularCurve.JZero.eq_single_add_single_cuspInftyBar_of_offBaseMass_le_one0 below · depth 16 - Height form dominates base mass at confluent divisors
ModularCurve.JZero.exists_baseMass_le_heightForm_of_exists_two_le1,012 below · depth 16 - Pair-height sums bounded by base heights for reduced divisors
ModularCurve.JZero.exists_sum_pairHt_le_of_forall_le_one1,005 below · depth 16 - Height form equals genus times base mass when off-cusp mass ≤ 1
ModularCurve.JZero.heightForm_eq_genusFF_mul_baseMass_of_offBaseMass_le_one4 below · depth 16 - Height form minus base mass, grouped by points
ModularCurve.JZero.heightForm_sub_baseMass_eq0 below · depth 16 - The off-cusp mass ignores the cusp ∞̄
ModularCurve.JZero.offBaseMass_add_single_cuspInftyBar0 below · depth 16 - Off-cusp mass is at most the genus when L(D^∘-∞)=0
ModularCurve.JZero.offBaseMass_le_genusFF_of_riemannRochSpace_eq_bot254 below · depth 16 - Off-cusp mass of a one-point divisor
ModularCurve.JZero.offBaseMass_single0 below · depth 16 - Degree of the off-cusp part equals off-cusp mass
ModularCurve.JZero.degree_erase_cuspInftyBar144 below · depth 17 - Index of speciality of the off-cusp part: ℓ(K-D^∘)+deg D^∘=g
ModularCurve.JZero.finrank_riemannRochSpace_canonicalDivisorOf_sub_erase_add_offBaseMass263 below · depth 17 - Heights of 2× 2 minors of two tuples
ModularCurve.JZero.exists_absLogHeight_minors_le1 below · depth 18