The modular polynomial Φ_m ∈ ℚ[X, Y] (Phase C, chunks B3–B5) #
Third file of Track 1 of Phase C (see Playground/Pi/PhaseC-PLAN.md, §3.1 sub-lemmas
(B3)–(B5), §6.4). This is the keystone of the whole singular-moduli program: every
downstream statement funnels through the identity Φ_m(X, j τ) = ∏_i (X − f_i τ) with
ℚ-coefficients, and no route avoids it.
For a prime m (kept generic; m ∈ {41, 43, 61, 163} are instantiated later) the file
builds, from the m-isogeny coset orbit f m i of CosetOrbit.lean:
- (A) Root-of-unity averaging
sum_zetaM_zpow_mul(∑_{b : ZMod m} ζ^{b·n} = m·[m ∣ n]), the arithmetic heart of(B3): it kills every power of the base variablewthat is not a genuine power of the nomeq = w^m. Proved in full. - (B) Power sums
powerSum m k τ = ∑_i (f m i τ)^k:SL(2,ℤ)-invariance (powerSum_smul, from theS/T-permutations of the orbit) and holomorphy (mdifferentiable_powerSum). Proved in full. Likewise the orbit polynomialorbitPoly m τ = ∏_i (X − f_i τ)and theSL(2,ℤ)-invariance / holomorphy of its coefficients (the elementary symmetric functions of the orbit). - (B4/B5) The q-expansion principle
Sk_eq_poly_j(the critical lemma): anSL(2,ℤ)-invariant, holomorphic function that is meromorphic of finite order at the cusp with coefficients in a subringR ⊆ ℂis a polynomial injof bounded degree withR-coefficients. Proved by pole-order induction with coefficient tracking; the algebraic heart (leading-coefficient cancellation againstj^N, coefficients staying inR) is unconditional, and the two genuinely-analytic primitives — the removable singularity / pole-reduction step and the Liouville base case (bounded + invariant + holomorphic ⇒ constant) — are gated behind explicit hypotheses,Valence.lean-style, with their routes documented. (SeePhaseC-PLAN.md§6.4 / §6.6: the base case is the plan-sanctioned single gate.) - (B5) Assembly
PhiQ: gated onSk_eq_poly_j+ the(B3)q-expansion structure, the modular polynomialΦ_m ∈ ℚ[X][Y]withΦ_m(X, j τ) = ∏_i (X − f_i τ).
Status of the analytic gates (see PhaseC-PLAN.md §6.4) #
Sk_eq_poly_j and PhiQ take the deep analytic facts as hypotheses rather than sorry.
The whole file is sorry-free. The gated pieces, with routes, are documented at their
TODO blocks:
poleReduction— the removable-singularity step: subtractingc·j^Nfrom a pole-order-Ncusp-meromorphic function yields a pole-order-(N−1)one. Route: the cusp function of(h − c j^N)·q^Nis analytic at0with value0, hence= w·(analytic), so dividing by one power of the nome stays bounded. Mathlib:AnalyticAt,cuspFunction, theqExpansionring-hom API ofNumberTheory/ModularForms/QExpansion.lean.liouvilleBaseCase— bounded +SL(2,ℤ)-invariant + holomorphic ⇒ constant. Route (PhaseC-PLAN.md§6.4): descend to the disc via the cusp function, useexists_smul_mem_fd_j(fromValence.lean) to reduce every value to a compact truncation of the fundamental domain, and conclude via the open-mapping / clopen argument.(B3)q-expansion structure of the power sums (thew-averaging producing the honestq-Laurent expansion withℚ-coefficients and finite pole order) — the input toPhiQ, documented atPhiQ.
(A) Root-of-unity averaging #
The clean arithmetic fact powering (B3): summing ζ^{b·n} over b : ZMod m (with
ζ = zetaM m = exp(2πi/m)) gives m when m ∣ n and 0 otherwise. In the w-expansion
of the orbit this averages the coset variable ζ^b·w down to the honest nome q = w^m.
Reindex a sum over ZMod m by ZMod.val to a sum over Finset.range m.
Root-of-unity averaging ∑_{b : ZMod m} ζ^{b·n} = m·[m ∣ n]. The ζ^{bn} factor
is exactly the b-dependence of the w-expansion of the coset orbit (hasSum_f_some), so
this lemma is what makes the power sums have honest q-Laurent expansions in (B3).
SL(2,ℤ)-invariance from the S, T generators #
A plain function h : ℍ → ℂ invariant under the two generators S, T is invariant under
all of SL(2,ℤ) — the invariant matrices form a subgroup containing the generators.
If h is invariant under S and T then it is invariant under all of SL(2,ℤ).
(B) Power sums of the orbit #
powerSum m k τ = ∑_i (f m i τ)^k. Being a symmetric function of the SL(2,ℤ)-permuted
orbit, it is SL(2,ℤ)-invariant; being a finite sum of powers of the holomorphic f_i, it
is holomorphic.
The k-th power sum ∑_i (f m i τ)^k of the coset orbit.
Equations
- Chudnovsky.powerSum m k τ = ∑ i : Option (ZMod m), Chudnovsky.f m i τ ^ k
Instances For
T-invariance of the power sums (from sum_orbit_T_smul).
S-invariance of the power sums (from sum_orbit_S_smul; needs m prime).
SL(2,ℤ)-invariance of the power sums.
(B) The orbit polynomial ∏_i (X − f_i τ) #
The generating polynomial of the orbit; its coefficients are (up to sign) the elementary
symmetric functions of {f_i τ}, which are SL(2,ℤ)-invariant and holomorphic.
The orbit polynomial ∏_i (X − f_i τ) ∈ ℂ[X].
Equations
- Chudnovsky.orbitPoly m τ = ∏ i : Option (ZMod m), (Polynomial.X - Polynomial.C (Chudnovsky.f m i τ))
Instances For
The orbit polynomial is monic of degree m + 1.
The orbit polynomial is S-invariant.
The orbit polynomial is T-invariant.
SL(2,ℤ)-invariance of every coefficient of the orbit polynomial: the coset orbit is
permuted by γ, so the product ∏_i (X − f_i τ) — and hence each coefficient (an elementary
symmetric function of the orbit) — is unchanged.
Holomorphy of the elementary symmetric functions #
Each coefficient of ∏_i (X − C (a i τ)) is a polynomial expression in the holomorphic
a i τ, hence holomorphic. Proved by induction on the index finset (all coefficients at
once).
Every coefficient of a product ∏_{i ∈ s} (X − C (a i τ)) of monic linear factors with
holomorphic roots a i is a holomorphic function of τ.
Each coefficient of the orbit polynomial is a holomorphic function of τ.
(B4/B5) The q-expansion principle Sk_eq_poly_j #
The critical lemma of the whole singular-moduli program (PhaseC-PLAN.md §6.4). It says:
an SL(2,ℤ)-invariant, holomorphic function that is meromorphic of finite order at the
cusp with coefficients in a subring R ⊆ ℂ equals a polynomial in j of bounded degree
with R-coefficients. The proof is a pole-order downward induction with coefficient
tracking: the leading Laurent coefficient c lies in R; since j = q⁻¹(1 + 744q + …)
is monic with integer q-expansion, h − c·jᴺ has strictly smaller pole order while keeping
R-coefficients; the base case N = 0 is bounded + invariant + holomorphic, hence
constant (Liouville).
Cusp-meromorphy data #
We package "meromorphic at the cusp, pole order ≤ N, coefficients in R" as the property
that τ ↦ h τ · q τ ^ N is a genuine holomorphic q-expansion function (1-periodic on the
disc side, holomorphic on ℍ, bounded at i∞) whose q-expansion has all coefficients in
R. Then h = q⁻ᴺ · (that holomorphic function) is exactly a Laurent series of pole order
≤ N with R-coefficients.
h is cusp-meromorphic of pole order ≤ N with R-coefficients: the product
h · qᴺ is a holomorphic function with a q-expansion whose coefficients all lie in the
subring R ⊆ ℂ.
- periodic : Function.Periodic ((fun (τ : UpperHalfPlane) => h τ * q τ ^ N) ∘ ↑UpperHalfPlane.ofComplex) 1
- holo : MDiff fun (τ : UpperHalfPlane) => h τ * q τ ^ N
- bdd : UpperHalfPlane.IsBoundedAtImInfty fun (τ : UpperHalfPlane) => h τ * q τ ^ N
- coeff_mem (n : ℕ) : (PowerSeries.coeff n) (UpperHalfPlane.qExpansion 1 fun (τ : UpperHalfPlane) => h τ * q τ ^ N) ∈ R
Instances For
The leading Laurent coefficient of a cusp-meromorphic function of pole order ≤ N:
the constant q-expansion coefficient of h · qᴺ (i.e. the coefficient of q⁻ᴺ in h).
Equations
- Chudnovsky.cuspLeadCoeff h N = (PowerSeries.coeff 0) (UpperHalfPlane.qExpansion 1 fun (τ : UpperHalfPlane) => h τ * Chudnovsky.q τ ^ N)
Instances For
Liouville base case (analytic gate 1 — now discharged). A holomorphic, SL(2,ℤ)-invariant
function on ℍ that is cusp-meromorphic of pole order ≤ 0 with R-coefficients (i.e.
1-periodic, holomorphic and bounded at i∞, its q-expansion having coefficients in R)
is constant, and its
value is the q-expansion constant term, which lies in R.
Route (maximum modulus, PhaseC-PLAN.md §6.4). Descend to the unit disc via the cusp function
H := cuspFunction 1 h, which is analytic on Metric.ball 0 1
(differentiableOn_cuspFunction_ball) and satisfies H (q τ) = h τ (eq_cuspFunction). By
SL(2,ℤ)-invariance and the fundamental-domain
reduction ModularGroup.exists_smul_mem_fd, every value H z on the punctured disc is matched in
modulus by a value H w with ‖w‖ ≤ e^{-π}: the pre-image τ of z ≠ 0 moves into 𝒟, where
3 ≤ 4·(Im)² forces Im ≥ 1/2 and hence ‖q‖ ≤ e^{-π}. The maximum-modulus principle in the form
Complex.eq_const_of_exists_le then makes H constant on the whole disc, so h τ = H 0; and
H 0 = (qExpansion 1 h).coeff 0 ∈ R by cuspFunction_apply_zero / qExpansion_coeff_zero.
The q-expansion principle (critical lemma Sk_eq_poly_j), gated on the two analytic
primitives. Any SL(2,ℤ)-invariant holomorphic function h that is cusp-meromorphic of
pole order ≤ N with R-coefficients equals a polynomial in j of degree ≤ N with all
coefficients in the subring R. The pole-order downward induction with coefficient
tracking is proved here in full; the two genuinely-analytic inputs — the Liouville base
case (base) and the removable-singularity pole-reduction step (step) — are taken as
hypotheses (see the TODO blocks above for their routes).
The q-expansion principle with the Liouville base case discharged. Since
liouvilleBaseCase closes the base-case gate of Sk_eq_poly_j, only the pole-reduction /
removable-singularity step step remains as a hypothesis: any SL(2,ℤ)-invariant holomorphic h
that is cusp-meromorphic of pole order ≤ N with R-coefficients equals a degree-≤ N polynomial
in j with coefficients in R.
(B5) Assembly: the modular polynomial Φ_m ∈ ℚ[X][Y] #
The SL(2,ℤ)-invariant coefficients of orbitPoly m τ = ∏_i (X − f_i τ) are the elementary
symmetric functions of the orbit. Feeding each (via Newton's identities from the power sums,
plus Sk_eq_poly_j) to the q-expansion principle expresses it as a ℚ-polynomial in j.
Packaging those ℚ-polynomials as the Y-coefficients yields Φ_m ∈ ℚ[Y][X] with the
defining identity Φ_m(X, j τ) = ∏_i (X − f_i τ).
Here we deliver the final packaging step unconditionally: given the per-coefficient
ℚ-rationality (hrat, the output of (B3) + Sk_eq_poly_j), we build Φ_m and prove the
identity.
Specialization of a ℚ[Y][X]-polynomial at Y = Y₀ ∈ ℂ: map each ℚ[Y]-coefficient to
its value at Y₀, landing in ℂ[X]. Applied at Y₀ = j τ this is Φ_m(X, j τ).
Equations
Instances For
The degree of the orbit polynomial is at most m + 1 (it is the product of m + 1
linear factors).
The modular polynomial Φ_m ∈ ℚ[Y][X], assembled from the per-coefficient
ℚ-rationality. Given that each coefficient of ∏_i (X − f_i τ) is a ℚ-polynomial in
j τ (the output of (B3) + Sk_eq_poly_j), there is Φ_m ∈ ℚ[Y][X] with the keystone
identity ∏_i (X − f_i τ) = Φ_m(X, j τ) for every τ. This is the object consumed by
ModularPolynomialZ.lean / Rationality.lean / MasserA1.lean.
Analytic gate 2 (pole reduction): poleReduction #
This appended section discharges the step hypothesis of Sk_eq_poly_j — the
removable-singularity / pole-order-reduction step. Given h cusp-meromorphic of pole order
≤ N+1 with R-coefficients and leading Laurent coefficient c = cuspLeadCoeff h (N+1), the
function h − c·j^{N+1} is cusp-meromorphic of pole order ≤ N with R-coefficients.
The analytic heart is the general lemma divByQ: if F is a holomorphic q-expansion function
whose expansion has zero constant term, then F/q is again such a function, with q-expansion
coefficients shifted down by one (dslope/removable-singularity at the cusp). The algebraic heart
(j·q has integer q-expansion with leading coefficient 1, so the q^{-(N+1)} term cancels and
all coefficients stay in R) is done via the qExpansion ring-hom API from JFunction.lean.
Raw-function version of qExpansion_coeff_unique: if cuspFunction 1 F is analytic at 0
and F τ = ∑ c n · q τ ^ n for all τ, then c n is the n-th q-expansion coefficient.
The cusp function of the constant function 1 is the constant function 1.
Powers preserve cusp-analyticity, and the q-expansion of a power is the power of the
q-expansion.
The pole-reduction primitive. If F is 1-periodic, holomorphic and bounded at i∞,
its q-expansion has zero constant term, and G·q = F, then G is bounded at i∞ and its
q-expansion is that of F shifted down by one coefficient. Proof: G τ = dslope (cuspFunction 1 F) 0 (q τ), which is analytic/continuous at 0 since cuspFunction 1 F 0 = 0 (removable
singularity); boundedness follows by continuity, and the coefficient shift from the HasSum
expansion of F after dividing by q.
Analytic gate 2 — the pole-reduction step of Sk_eq_poly_j. Subtracting the leading
Laurent term c·j^{N+1} (with c = cuspLeadCoeff h (N+1)) from a pole-order-(N+1)
cusp-meromorphic function of R-coefficients yields a pole-order-N one, still with
R-coefficients. This closes the step hypothesis of Sk_eq_poly_j.
The q-expansion principle, fully unconditional. Both analytic gates of Sk_eq_poly_j
are now discharged — the Liouville base case (liouvilleBaseCase) and the pole-reduction step
(poleReduction) — so an SL(2,ℤ)-invariant holomorphic h that is cusp-meromorphic of pole
order ≤ N with R-coefficients equals a degree-≤ N polynomial in j with R-coefficients,
with no remaining hypotheses.
(B3) The power sums are cusp-meromorphic with ℚ-coefficients #
This appended section discharges the last remaining gate of the keystone: the hrat input of
exists_PhiQ. For a prime m, every power sum powerSum m k is SL(2,ℤ)-invariant,
holomorphic and cusp-meromorphic of pole order ≤ m·k with ℚ (indeed ℤ)-coefficients, hence
(via Sk_eq_poly_j_closed) a ℚ-polynomial in j. Newton's identities then push this to the
elementary symmetric functions (the orbit-polynomial coefficients), delivering the unconditional
keystone exists_PhiQ_closed.
The analytic heart is the root-of-unity averaging sum_zetaM_zpow_mul: writing each orbit
value's q-expansion in the honest base variable w = wParam m τ (with w^m = q τ), the
coset points contribute w-powers ζ^{b·n} whose b-sum collapses to a genuine q-Laurent
series.
The subring ℚ ⊆ ℂ (image of the rational cast).
Equations
Instances For
‖wParam m τ‖ ≤ 1 (since ‖wParam‖^m = ‖q τ‖ < 1).
The some b orbit term of powerSum·q^{mk} factors as (j·q)ᵏ∘(coset) · gB with ‖gB‖≤1.
A function bounded by 1 in norm is bounded at i∞.
(j·q)ᵏ composed with an upper-triangular isogeny A (lower-left entry 0) is bounded at
i∞, since the isogeny pushes towards the cusp.
Boundedness at the cusp. powerSum m k · q^{mk} is bounded at i∞: each orbit term is a
bounded (j·q)ᵏ-value (composed with an isogeny) times a factor of norm ≤ 1.
The averaging: q-series of the some b orbit terms #
The summand identity feeding the root-of-unity average: the n-th term of the some b
orbit q-expansion, rewritten so the b-dependence is exactly ζ^{b·(n-k)}.
Per-coset q-expansion of the some b orbit term. After multiplying (j·q)ᵏ∘(coset)
by the pole-clearing factor, the n-th coefficient carries the b-dependence ζ^{b·(n-k)}.
Integer q-coefficients of the ∞-coset contribution (f_∞)ᵏ·q^{mk}.
Equations
- Chudnovsky.CIint m k p = if m ∣ p then (PowerSeries.coeff (p / m)) (Chudnovsky.jqInt ^ k) else 0
Instances For
q-expansion of the averaged coset contribution ∑_b (f_b)ᵏ·q^{mk}. The root-of-unity
average sum_zetaM_zpow_mul collapses the b-dependence, leaving an honest q-series with
integer coefficients CAint.
Integer q-coefficients of powerSum·q^{mk}.
Equations
- Chudnovsky.Cq m k p = Chudnovsky.CAint m k p + Chudnovsky.CIint m k p
Instances For
(B3) The power sums are cusp-meromorphic of pole order ≤ m·k with ℚ-coefficients.
(B3) conclusion: each power sum of the coset orbit is a ℚ-polynomial in j.
(B4/B5) Newton's identities: the orbit-polynomial coefficients are ℚ-polynomials in j #
The ℚ-subalgebra of ℍ → ℂ of functions that are ℚ-polynomials in j.
Equations
- Chudnovsky.polyJ = (Polynomial.aeval fun (τ : UpperHalfPlane) => Chudnovsky.j τ).range
Instances For
Evaluating aeval (τ ↦ j τ) Q at a point τ gives aeval (j τ) Q.
The elementary symmetric functions of the orbit values, as functions of τ.
Equations
- Chudnovsky.esf m l τ = (MvPolynomial.aeval fun (i : Option (ZMod m)) => Chudnovsky.f m i τ) (MvPolynomial.esymm (Option (ZMod m)) ℂ l)
Instances For
aeval of a power sum polynomial is the orbit power sum.
Newton's identity for the orbit (pointwise), obtained by evaluating
MvPolynomial.mul_esymm_eq_sum at the orbit values.
algebraMap ℚ (ℍ → ℂ) evaluated at τ is the rational cast.
The unconditional keystone. For a prime m, the modular polynomial Φ_m ∈ ℚ[Y][X]
exists with the defining identity ∏_i (X − f_i τ) = Φ_m(X, j τ) for every τ. All analytic
gates are discharged: the hrat input is now proved via the (B3) root-of-unity averaging,
Sk_eq_poly_j_closed, and Newton's identities.