Definitions/Def_ModularCurve_ComplexPlaceDictionaryOf.lean
Realisation of Laurent series and places dictionary for general level
Two things are defined, for an arbitrary subgroup \Gamma\le\mathrm{SL}_2(\mathbb{Z}) and an arbitrary intermediate field F_0 of \mathbb{Q}((q))/\mathbb{Q}.
First, realizeOf Γ x τ, for x\in\mathbb{C}((q)) and \tau\in\mathfrak H: if there exists a triple consisting of a weight k\in\mathbb{Z} and a pair (g,h) of modular forms of weight k on \Gamma with h(\tau)\neq0 and x\cdot \tilde h=\tilde g in \mathbb{C}((q)), where \tilde f denotes the period-one q-expansion qExpansion 1 of f viewed as a Laurent series, then the value is g(\tau)/h(\tau) for one such triple, picked by choice from the existence statement; otherwise the value is 0. Thus the definition does not assert independence of the choice, and realizeOf_of_not records the value 0 in the degenerate case. For \Gamma=\Gamma_0(N) this agrees with the fixed-level function realize N.
Second, the structure ComplexPlaceDictionaryOf Γ F₀, whose carrier field is \mathbb{C}F_0= laurentBaseChange ℂ F₀, the subfield of \mathbb{C}((q)) generated over \mathbb{C} by the coefficientwise image of F_0. A member consists of maps \mathrm{pt}:\mathfrak H\to places of \mathbb{C}F_0 over \mathbb{C} (valuation subrings containing \mathbb{C}, proper, and principal, hence discrete) and e:\mathfrak H\to\mathbb{N}, together with the following as fields: e_\tau>0; \mathrm{pt}(\gamma\tau)=\mathrm{pt}(\tau) for \gamma\in\Gamma; for every \tau and x\in\mathbb{C}F_0, membership x\in\mathcal O_{\mathrm{pt}(\tau)} holds precisely when z\mapsto\lVert\mathrm{realizeOf}\,\Gamma\,x\,z\rVert is bounded along the punctured neighbourhood filter of \tau in \mathfrak H; and for x\neq0 the meromorphic order at \tau\in\mathbb{C} of z\mapsto \mathrm{realizeOf}\,\Gamma\,x\,(\mathrm{ofComplex}\,z) equals e_\tau\cdot\mathrm{ord}_{\mathrm{pt}(\tau)}(x) in \mathbb{Z}\cup\{\infty\}. Auxiliary declarations restate invariance for an element of \mathrm{SL}_2(\mathbb{Z}) lying in \Gamma and e_\tau\neq0, and translate back and forth between this structure and ComplexPlaceDictionary N in the case \Gamma=\Gamma_0(N), F_0= modularFunctionFieldFull N, field by field.
Relation to Mathlib
Mathlib supplies ModularForm, qExpansion, meromorphicOrderAt and UpperHalfPlane.ofComplex; the notion of a place of a function field used here (AlgebraicCurve.Place) and the dictionary relating points of the upper half plane to such places are the project's own. ComplexPlaceDictionaryOf is the level-\Gamma, general-presentation form of the project's ComplexPlaceDictionary N, which it reduces to for \Gamma_0(N) and the field modularFunctionFieldFull N.
Where it is used
The dictionary is the interface through which complex-analytic information about modular curves — orders of vanishing, ramification at elliptic points, boundedness near a point — is transferred to valuation-theoretic statements about the function field presented by q-expansions at the cusp \infty, as needed for the algebraic geometry of modular curves in the modularity route to Fermat's Last Theorem. Keeping the subgroup \Gamma and the rational subfield F_0 as parameters allows one dictionary notion to serve the several presentations of these function fields used later.
References
- G. Shimura, Introduction to the Arithmetic Theory of Automorphic Functions, Publications of the Mathematical Society of Japan 11, Princeton University Press, 1971, Chapter 1
- F. Diamond and J. Shurman, A First Course in Modular Forms, Graduate Texts in Mathematics 228, Springer, 2005, Chapters 2–3
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 117 lines
- 19 declarations
- used in the statements of 36 theorems and imported by 40 proofs
- imports 3 definition modules
Source file: Definitions/Def_ModularCurve_ComplexPlaceDictionaryOf.lean
Imports
Imported by
- no other definition module
Declarations
- def
ModularCurve.realizeOf - theorem
ModularCurve.realizeOf_def - theorem
ModularCurve.realizeOf_of_not - structure
ModularCurve.ComplexPlaceDictionaryOf - field
ModularCurve.ComplexPlaceDictionaryOf.F₀ - field
ModularCurve.ComplexPlaceDictionaryOf.pt - field
ModularCurve.ComplexPlaceDictionaryOf.ramification - field
ModularCurve.ComplexPlaceDictionaryOf.ramification_pos - field
ModularCurve.ComplexPlaceDictionaryOf.pt_smul - field
ModularCurve.ComplexPlaceDictionaryOf.mem_pt_iff - field
ModularCurve.ComplexPlaceDictionaryOf.meromorphicOrderAt_realizeOf - field
ModularCurve.ComplexPlaceDictionaryOf.meromorphicOrderAt - theorem
ModularCurve.ComplexPlaceDictionaryOf.pt_smul_of_mem - theorem
ModularCurve.ComplexPlaceDictionaryOf.ramification_ne_zero - theorem
ModularCurve.realizeOf_gamma0 - def
ModularCurve.ComplexPlaceDictionaryOf.ofGamma0 - def
ModularCurve.ComplexPlaceDictionaryOf.toGamma0 - theorem
ModularCurve.ComplexPlaceDictionaryOf.pt_ofGamma0 - theorem
ModularCurve.ComplexPlaceDictionaryOf.pt_toGamma0
Source
import Mathlib import Definitions.Def_ModularCurve_LaurentCoeff import Definitions.Def_AlgebraicCurve_DivisorClassGroup import Definitions.Def_ModularCurve_ComplexPlaceDictionary set_option autoImplicit false noncomputable section open UpperHalfPlane open scoped MatrixGroups Topology namespace ModularCurve def realizeOf (Γ : Subgroup SL(2, ℤ)) (x : LaurentSeries ℂ) (τ : ℍ) : ℂ := by classical exact if H : ∃ p : (k : ℤ) × (ModularForm Γ k × ModularForm Γ k), (p.2.2 : ℍ → ℂ) τ ≠ 0 ∧ x * ((qExpansion 1 (p.2.2 : ℍ → ℂ) : PowerSeries ℂ) : LaurentSeries ℂ) = ((qExpansion 1 (p.2.1 : ℍ → ℂ) : PowerSeries ℂ) : LaurentSeries ℂ) then (H.choose.2.1 : ℍ → ℂ) τ / (H.choose.2.2 : ℍ → ℂ) τ else 0 theorem realizeOf_def (Γ : Subgroup SL(2, ℤ)) (x : LaurentSeries ℂ) (τ : ℍ) : realizeOf Γ x τ = by classical exact if H : ∃ p : (k : ℤ) × (ModularForm Γ k × ModularForm Γ k), (p.2.2 : ℍ → ℂ) τ ≠ 0 ∧ x * ((qExpansion 1 (p.2.2 : ℍ → ℂ) : PowerSeries ℂ) : LaurentSeries ℂ) = ((qExpansion 1 (p.2.1 : ℍ → ℂ) : PowerSeries ℂ) : LaurentSeries ℂ) then (H.choose.2.1 : ℍ → ℂ) τ / (H.choose.2.2 : ℍ → ℂ) τ else 0 := rfl theorem realizeOf_of_not (Γ : Subgroup SL(2, ℤ)) (x : LaurentSeries ℂ) (τ : ℍ) (h : ¬ ∃ p : (k : ℤ) × (ModularForm Γ k × ModularForm Γ k), (p.2.2 : ℍ → ℂ) τ ≠ 0 ∧ x * ((qExpansion 1 (p.2.2 : ℍ → ℂ) : PowerSeries ℂ) : LaurentSeries ℂ) = ((qExpansion 1 (p.2.1 : ℍ → ℂ) : PowerSeries ℂ) : LaurentSeries ℂ)) : realizeOf Γ x τ = 0 := by classical rw [realizeOf_def] exact dif_neg h structure ComplexPlaceDictionaryOf (Γ : Subgroup SL(2, ℤ)) (F₀ : IntermediateField ℚ (LaurentSeries ℚ)) where pt : ℍ → AlgebraicCurve.Place ℂ (laurentBaseChange ℂ F₀) ramification : ℍ → ℕ ramification_pos : ∀ τ : ℍ, 0 < ramification τ pt_smul : ∀ (γ : Γ) (τ : ℍ), pt ((γ : SL(2, ℤ)) • τ) = pt τ mem_pt_iff : ∀ (τ : ℍ) (x : laurentBaseChange ℂ F₀), x ∈ (pt τ).toValuationSubring ↔ Filter.IsBoundedUnder (· ≤ ·) (𝓝[≠] τ) (fun z : ℍ => ‖realizeOf Γ (x : LaurentSeries ℂ) z‖) meromorphicOrderAt_realizeOf : ∀ (τ : ℍ) (x : laurentBaseChange ℂ F₀), x ≠ 0 → meromorphicOrderAt (fun z : ℂ => realizeOf Γ (x : LaurentSeries ℂ) (ofComplex z)) (τ : ℂ) = (((ramification τ : ℤ) * (pt τ).ord x : ℤ) : WithTop ℤ) namespace ComplexPlaceDictionaryOf variable {Γ : Subgroup SL(2, ℤ)} {F₀ : IntermediateField ℚ (LaurentSeries ℚ)} theorem pt_smul_of_mem (D : ComplexPlaceDictionaryOf Γ F₀) {γ : SL(2, ℤ)} (hγ : γ ∈ Γ) (τ : ℍ) : D.pt (γ • τ) = D.pt τ := D.pt_smul ⟨γ, hγ⟩ τ theorem ramification_ne_zero (D : ComplexPlaceDictionaryOf Γ F₀) (τ : ℍ) : D.ramification τ ≠ 0 := (D.ramification_pos τ).ne' end ComplexPlaceDictionaryOf theorem realizeOf_gamma0 (N : ℕ) (x : LaurentSeries ℂ) (τ : ℍ) : realizeOf (CongruenceSubgroup.Gamma0 N) x τ = realize N x τ := rfl def ComplexPlaceDictionaryOf.ofGamma0 {N : ℕ} [NeZero N] (D : ComplexPlaceDictionary N) : ComplexPlaceDictionaryOf (CongruenceSubgroup.Gamma0 N) (modularFunctionFieldFull N) where pt := D.pt ramification := D.ramification ramification_pos := D.ramification_pos pt_smul := D.pt_smul mem_pt_iff := D.mem_pt_iff meromorphicOrderAt_realizeOf := D.meromorphicOrderAt_realize def ComplexPlaceDictionaryOf.toGamma0 {N : ℕ} [NeZero N] (D : ComplexPlaceDictionaryOf (CongruenceSubgroup.Gamma0 N) (modularFunctionFieldFull N)) : ComplexPlaceDictionary N where pt := D.pt ramification := D.ramification ramification_pos := D.ramification_pos pt_smul := D.pt_smul mem_pt_iff := D.mem_pt_iff meromorphicOrderAt_realize := D.meromorphicOrderAt_realizeOf @[simp] theorem ComplexPlaceDictionaryOf.pt_ofGamma0 {N : ℕ} [NeZero N] (D : ComplexPlaceDictionary N) : (ComplexPlaceDictionaryOf.ofGamma0 D).pt = D.pt := rfl @[simp] theorem ComplexPlaceDictionaryOf.pt_toGamma0 {N : ℕ} [NeZero N] (D : ComplexPlaceDictionaryOf (CongruenceSubgroup.Gamma0 N) (modularFunctionFieldFull N)) : D.toGamma0.pt = D.pt := rfl end ModularCurve end
Statements phrased using this module (36)
- Abel's theorem for X_H(M): principal divisors give periods
ModularCurve.ComplexPlaceDictionaryOf.abelJacobi_mem_periodLatticeOf_gammaH_of_isPrincipal282 below · depth 21 - Coefficientwise conjugation sends pt(τ) to pt(-τ̄)
ModularCurve.ComplexPlaceDictionaryOf.arithmeticGalois_complexConjAlgEquiv_smul_pt2 below · depth 21 - Divisor-level Hecke compatibility of the Abel–Jacobi map for X_H(M)
ModularCurve.ComplexPlaceDictionaryOf.exists_mapDomain_eq_heckeDivHBar_abelJacobi_sub_mem_periodLatticeOf287 below · depth 21 - Every place where j is regular is a point place
ModularCurve.ComplexPlaceDictionaryOf.exists_pt_eq_of_mem128 below · depth 21 - Abel's theorem for X_H(M): sufficiency
ModularCurve.ComplexPlaceDictionaryOf.isPrincipal_of_abelJacobi_mem_periodLatticeOf_gammaH451 below · depth 21 - Pull-back along γ sends pt(τ) to pt(γ⁻¹τ)
ModularCurve.ComplexPlaceDictionaryOf.ofAlgAut_smul_pt_eq_pt_inv_smul2 below · depth 21 - Existence of a complex place dictionary for Γ
ModularCurve.exists_complexPlaceDictionaryOf6 below · depth 21 - Analytic sufficiency in Abel's theorem for X_H(M)
ModularCurve.ComplexPlaceDictionaryOf.exists_meromorphic_meromorphicOrderAt_eq_of_abelJacobi_mem_periodLatticeOf_gammaH438 below · depth 22 - Hecke correspondence on a point divisor of X_H(M)
ModularCurve.ComplexPlaceDictionaryOf.heckeDivHBar_single_pt266 below · depth 22 - Places of X_H(M) separate Γ_H(M)-orbits on H
ModularCurve.ComplexPlaceDictionaryOf.pt_eq_pt_iff_gammaH71 below · depth 22 - Ramification of the X_H(M) dictionary equals stabiliser order
ModularCurve.ComplexPlaceDictionaryOf.two_mul_ramification_eq_card_stabilizer_gammaH256 below · depth 22 - GAGA for X_H(M): invariant meromorphic functions are algebraic
ModularCurve.exists_realizeOf_eventuallyEq_of_meromorphic_gammaH55 below · depth 22 - Cuspidal units have nonzero limits at every cusp
ModularCurve.exists_tendsto_realizeOf_smul_of_forall_ord_eq_zero17 below · depth 22 - Modular functions with nonzero cusp limits are units at cuspidal places
ModularCurve.ord_eq_zero_of_not_mem_of_realizeOf_tendsto30 below · depth 22 - Independence of the realisation from the chosen presentation
ModularCurve.realizeOf_eq_div0 below · depth 22 - Abel's theorem for X_H(M): multiplier is a period exponential
ModularCurve.ComplexPlaceDictionaryOf.exists_cuspForm_mul_exp_periodOf_eq_one_of_abelJacobi_mem_periodLatticeOf_gammaH437 below · depth 23 - Weight-two forms with prescribed residue divisor on X_H(M)
ModularCurve.ComplexPlaceDictionaryOf.exists_slashInvariant_residue_eq_of_degree_eq_zero_gammaH305 below · depth 23 - Pull-back along α sends pt(τ) to pt(α⁻¹τ)
ModularCurve.ComplexPlaceDictionaryOf.ofAlgAut_smul_pt_eq_pt_inv_smul_of_qExpansion_slash2 below · depth 23 - Restriction of places along a q-expansion field inclusion
ModularCurve.ComplexPlaceDictionaryOf.restrictAlong_pt_eq_pt_of_le2 below · depth 23 - Degeneracy map q↦ q^ℓ on complex place dictionaries
ModularCurve.ComplexPlaceDictionaryOf.restrictAlong_pt_qExpand1 below · depth 23 - Ramification of a complex place dictionary equals half the ±Γ-stabiliser order
ModularCurve.ComplexPlaceDictionaryOf.two_mul_ramification_eq_card_stabilizer187 below · depth 23 - Cusp limits transfer from F to the ratio g/h
ModularCurve.exists_tendsto_div_smul_of_eventuallyEq_realizeOf_of_tendsto1 below · depth 23 - Stabiliser order in ±Γ divides twice the ramification
ModularCurve.ComplexPlaceDictionaryOf.card_stabilizer_dvd_two_mul_ramification2 below · depth 24 - Weight-two form with simple poles at two prescribed points
ModularCurve.ComplexPlaceDictionaryOf.exists_slashInvariant_residue_ne_zero_of_pt_ne_gammaH188 below · depth 24 - Unitary multiplier is trivial when Abel–Jacobi class is a period
ModularCurve.ComplexPlaceDictionaryOf.multiplier_eq_one_of_norm_eq_one_of_abelJacobi_mem_periodLatticeOf_gammaH436 below · depth 24 - Residue theorem for weight-two forms on X_H(M)
ModularCurve.ComplexPlaceDictionaryOf.sum_residue_eq_zero_of_slashInvariant_gammaH265 below · depth 24 - Abel's theorem for X_H(M): unitary multiplier and period reciprocity
ModularCurve.ComplexPlaceDictionaryOf.exists_norm_multiplier_eq_one_and_abelJacobi_add_petersson_mem_periodLatticeOf_gammaH433 below · depth 25 - Polar part at τ of a realised differential a dx
ModularCurve.ComplexPlaceDictionaryOf.exists_realizeOf_mul_deriv_realizeOf_eq_div_add_gammaH3 below · depth 25 - Exponential decay at cusps of cusp-regular differentials
ModularCurve.exists_isBigO_slash_realizeOf_mul_deriv_realizeOf_of_forall_ordDifferential_nonneg15 below · depth 25 - Unitary multiplier as exponential of a period on X_H(M)
ModularCurve.ComplexPlaceDictionaryOf.multiplier_eq_exp_of_abelJacobi_add_petersson_eq_zero_gammaH419 below · depth 26 - Ramification index one for Γ₁(M), M ≥ 4
ModularCurve.ComplexPlaceDictionaryOf.ramification_eq_one_gamma1296 below · depth 30 - Cusp places of X(Γ): width, ord_P y = -h, and limits
ModularCurve.exists_tendsto_realizeOf_mul_exp_of_not_mem_toValuationSubring348 below · depth 30 - Cusp places of ℂ·ℚ(X(Γ)) are exhausted by Pl
ModularCurve.exists_apply_eq_of_forall_ord_eq_zero_tendsto_realizeOf35 below · depth 31 - Cuspidal place and q_N-expansion at σ∞ on X(Γ)
ModularCurve.exists_ringHom_place_order_eq_mul_ord_of_qExpansion_slash18 below · depth 31 - Order of j at a cusp place equals minus its width
ModularCurve.ord_eq_neg_width_of_order_eq_mul_ord_of_qExpansion_slash347 below · depth 31 - Lower bound -h ≤ ord_P(j) at a cusp place
ModularCurve.neg_width_le_ord_of_order_eq_mul_ord_of_qExpansion_slash7 below · depth 32