Documentation

LeanPool.FLTEichlerShimura.Theorems.Thm_WLight_levelN_structure_package

Fixer of the Fricke functions and structure of A_N #

Theorem statement: WLight.levelN_structure_package (61cde296-d5df-51a1-8a69-835ee824a887), by Claude, 2026-09-05.

Proof: submission ca744a75-f111-5c76-bb4b-4e0e37418809, by Claude, 2026-09-05 (ACCEPTED); locally adapted.

Let $N$ be a positive natural number, and let $L$ assign to each $\tau$ in the upper half-plane $\mathbb{H}$ a period pair with $\omega_1 = \tau$ and $\omega_2 = 1$. Let $W$ be a family of functions indexed by $v \colon \mathrm{Fin}\,2 \to \mathbb{Z}/N\mathbb{Z}$ with $W_v(\tau) = (2\pi i)^{-2}\,\wp_{L\tau}\bigl((\tilde v_0 \tau + \tilde v_1)/N\bigr)$, where $\tilde v_i$ is the representative of $v_i$ in $[0,N)$; let $\mathrm{fricke}_v(\tau) = -\bigl(E_4(\tau)E_6(\tau)/\Delta(\tau)\bigr)/2592 \cdot W_v(\tau)$, and let $jf(\tau) = E_4(\tau)^3/\Delta(\tau)$, each pinned to these formulas by hypothesis. Put $A_N$ for the $\mathbb{C}$-subalgebra of $\mathbb{H} \to \mathbb{C}$ generated by $jf$ together with all $\mathrm{fricke}_v$ with $v \neq 0$, and let $\gamma \in \mathrm{SL}_2(\mathbb{Z})$ act on row vectors $v$ by $v \mapsto v\bar\gamma$, reduction mod $N$. Six assertions are made. First, the set of $\gamma$ with $\mathrm{fricke}_{v\bar\gamma} = \mathrm{fricke}_v$ for all $v \neq 0$ is exactly $\{\gamma : \gamma \in \Gamma(N) \text{ or } -\gamma \in \Gamma(N)\}$. Second, if $a, b \in A_N$, $b \neq 0$, and $a \cdot (b \circ \gamma) = (a \circ \gamma) \cdot b$ for every $\gamma$, then there are polynomials $p, q$ over $\mathbb{C}$ with $q \neq 0$ and $a \cdot q(jf) = b \cdot p(jf)$. Third, each $\mathrm{fricke}_v$ with $v \neq 0$ satisfies a monic equation of some degree $d$ with coefficients polynomial in $jf$. Fourth, any polynomial vanishing at $jf(\tau)$ for all $\tau$ is zero. Fifth, every element of $A_N$ is holomorphic on $\mathbb{H}$. Sixth, $A_N$ has no zero divisors.

This is the function-level form of the classical structure theory of the field of modular functions of level $N$ over $\mathbb{C}$: the Fricke functions are permuted by $\mathrm{SL}_2(\mathbb{Z})$ through $\mathrm{SL}_2(\mathbb{Z})/\pm\Gamma(N)$, their invariant fractions are rational in $j$, and the algebra they generate is a holomorphic integral domain, integral over $\mathbb{C}[j]$ with $j$ transcendental. It supports the later rationality and $q$-expansion statements for forms of level $N$, such as the description of the span of Fricke-rational products of $E_4$ and $E_6$ and the construction of algebra homomorphisms into Laurent series.

Explanation of the source proof #

Proof transplanted from the FLT repository: https://github.com/anthropics/fermats-last-theorem/blob/aa2d8b34692b16c70f699536de0d8e75b9a3e9ef/P2M/Sol/S_WLight_levelN_structure_package.lean

<!-- Generated by add_prove2me_provenance.py -->

theorem WLight.levelN_structure_package (N : ℕ) [NeZero N] (L : UpperHalfPlane → PeriodPair) (hL : ∀ (τ : UpperHalfPlane), (L τ).ω₁ = ↑τ ∧ (L τ).ω₂ = 1) (W : (Fin 2 → ZMod N) → UpperHalfPlane → ℂ) (hW : ∀ (v : Fin 2 → ZMod N) (τ : UpperHalfPlane), W v τ = ((2 * ↑Real.pi * Complex.I) ^ 2)⁻¹ * (L τ).weierstrassP ((↑(v 0).val * ↑τ + ↑(v 1).val) / ↑N)) (fricke : (Fin 2 → ZMod N) → UpperHalfPlane → ℂ) (hfricke : ∀ (v : Fin 2 → ZMod N) (τ : UpperHalfPlane), fricke v τ = -(ModularForm.E₄ τ * ModularForm.E₆ τ / ModularForm.discriminant τ) / 2592 * W v τ) (jf : UpperHalfPlane → ℂ) (hjf : ∀ (τ : UpperHalfPlane), jf τ = ModularForm.E₄ τ ^ 3 / ModularForm.discriminant τ) :
have A_N := Algebra.adjoin ℂ (insert jf {g : UpperHalfPlane → ℂ | ∃ (v : Fin 2 → ZMod N), v ≠ 0 ∧ g = fricke v}); have vecMul := fun (v : Fin 2 → ZMod N) (γ : Matrix.SpecialLinearGroup (Fin 2) ℤ) => Matrix.vecMul v ((↑γ).map Int.cast); {γ : Matrix.SpecialLinearGroup (Fin 2) ℤ | ∀ (v : Fin 2 → ZMod N), v ≠ 0 → fricke (vecMul v γ) = fricke v} = {γ : Matrix.SpecialLinearGroup (Fin 2) ℤ | γ ∈ CongruenceSubgroup.Gamma N ∨ -γ ∈ CongruenceSubgroup.Gamma N} ∧ (∀ (a b : UpperHalfPlane → ℂ), a ∈ A_N → b ∈ A_N → b ≠ 0 → (∀ (γ : Matrix.SpecialLinearGroup (Fin 2) ℤ), (a * b ∘ fun (x : UpperHalfPlane) => γ • x) = (a ∘ fun (x : UpperHalfPlane) => γ • x) * b) → ∃ (p : Polynomial ℂ) (q : Polynomial ℂ), q ≠ 0 ∧ (a * fun (τ : UpperHalfPlane) => Polynomial.eval (jf τ) q) = b * fun (τ : UpperHalfPlane) => Polynomial.eval (jf τ) p) ∧ (∀ (v : Fin 2 → ZMod N), v ≠ 0 → ∃ (d : ℕ) (c : ℕ → Polynomial ℂ), ∀ (τ : UpperHalfPlane), fricke v τ ^ d + ∑ k ∈ Finset.range d, Polynomial.eval (jf τ) (c k) * fricke v τ ^ k = 0) ∧ (∀ (P : Polynomial ℂ), (∀ (τ : UpperHalfPlane), Polynomial.eval (jf τ) P = 0) → P = 0) ∧ (∀ F ∈ A_N, MDiff F) ∧ ∀ (a b : UpperHalfPlane → ℂ), a ∈ A_N → b ∈ A_N → a * b = 0 → a = 0 ∨ b = 0