Definitions/Def_ModularCurve_LambdaSeries.lean
Integral -expansion of Legendre's
The module introduces, as a formal Laurent series over \mathbb{Z}, the q-expansion of \mu = \lambda/16, where \lambda is Legendre's modular function, together with its reductions and a substitution homomorphism. Recall from the imported material that etaProd is the power series \prod_{n\ge 1}(1-X^{n}), that dedekindEtaUnitInv is the power-series inverse of etaProd^{24} (legitimate since the constant coefficient is 1), and that qExpand R N is the injective ring endomorphism of R((q)) obtained by scaling exponents by N, so that the coefficient of q^{Nk} in qExpand R N f is the coefficient of q^{k} in f and all coefficients at exponents not divisible by N vanish. The series lambdaInt is the product of the monomial q (the Hahn series single 1 1), the eighth power of etaProd, the sixteenth power of etaProd with q replaced by q^{4}, and the inverse of etaProd^{24} with q replaced by q^{2}; that is,
\mu(q) \;=\; q\,\frac{\prod_{n\ge 1}(1-q^{n})^{8}\,(1-q^{4n})^{16}}{\prod_{n\ge 1}(1-q^{2n})^{24}} \;=\; q - 8q^{2} + 44q^{3} - \cdots \in \mathbb{Z}((q)),
the expansion in the parameter whose square is the level-one parameter. For a commutative ring L, lambdaModC L is the coefficientwise image of lambdaInt under \mathbb{Z}\to L, and lambdaNModC L N is lambdaModC L with q replaced by q^{N}; for N=1 the two agree. Finally evalAtLambdaInt is the evaluation ring homomorphism \mathbb{Z}[X] \to \mathbb{Z}((q)) determined by X \mapsto \mu, the second recorded lemma being that it sends X to lambdaInt. Nothing about \mu beyond these definitional identities is asserted here.
Relation to Mathlib
Mathlib supplies the ambient LaurentSeries/HahnSeries and PowerSeries formalism, including the infinite product used for etaProd and PowerSeries.invOfUnit; it has no q-expansion of Legendre's \lambda, and the substitution q \mapsto q^{N} (qExpand) and the coefficientwise base change laurentMap are the project's own, introduced in the imported modules.
Where it is used
The normalisation \mu = \lambda/16 has integral coefficients with leading coefficient 1, so it serves as a Hauptmodul whose modular polynomials are monic; lambdaInt, its reductions lambdaModC/lambdaNModC and the evaluation map evalAtLambdaInt are the level-two analogues of the j-expansions jqInt, jqMod and evalAtJInt, and feed the construction of models of modular curves and the associated integrality and congruence statements.
References
- T. M. Apostol, Modular Functions and Dirichlet Series in Number Theory, Graduate Texts in Mathematics 41, Springer, 1990
- B. Schoeneberg, Elliptic Modular Functions: An Introduction, Grundlehren der mathematischen Wissenschaften 203, Springer, 1974
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 35 lines
- 6 declarations
- used in the statements of 30 theorems and imported by 34 proofs
- imports 2 definition modules
Source file: Definitions/Def_ModularCurve_LambdaSeries.lean
Declarations
- def
ModularCurve.lambdaInt - def
ModularCurve.lambdaModC - def
ModularCurve.lambdaNModC - theorem
ModularCurve.lambdaNModC_one - def
ModularCurve.evalAtLambdaInt - theorem
ModularCurve.evalAtLambdaInt_X
Source
import Mathlib import Definitions.Def_ModularCurve_X0 import Definitions.Def_ModularCurve_KroneckerTransport set_option autoImplicit false noncomputable section namespace ModularCurve def lambdaInt : LaurentSeries ℤ := HahnSeries.single (1 : ℤ) (1 : ℤ) * HahnSeries.ofPowerSeries ℤ ℤ etaProd ^ 8 * qExpand ℤ 4 (HahnSeries.ofPowerSeries ℤ ℤ etaProd ^ 16) * qExpand ℤ 2 (HahnSeries.ofPowerSeries ℤ ℤ dedekindEtaUnitInv) def lambdaModC (L : Type*) [CommRing L] : LaurentSeries L := laurentMap (Int.castRingHom L) lambdaInt def lambdaNModC (L : Type*) [CommRing L] (N : ℕ) [NeZero N] : LaurentSeries L := qExpand L N (lambdaModC L) theorem lambdaNModC_one (L : Type*) [CommRing L] : lambdaNModC L 1 = lambdaModC L := qExpand_one_apply _ def evalAtLambdaInt : Polynomial ℤ →+* LaurentSeries ℤ := Polynomial.eval₂RingHom (Int.castRingHom (LaurentSeries ℤ)) lambdaInt theorem evalAtLambdaInt_X : evalAtLambdaInt Polynomial.X = lambdaInt := Polynomial.eval₂_X _ _ end ModularCurve end
Statements phrased using this module (30)
- Level-two relation between j(q²) and λ
ModularCurve.qExpand_two_jq_mul_lambdaModC_sq26 below · depth 20 - Transcendence of the λ-expansion over any commutative ring
ModularCurve.transcendental_lambdaModC0 below · depth 20 - Existence of a λ-modular polynomial with Kronecker's congruence
ModularCurve.exists_lambdaKroneckerCongruence202 below · depth 21 - Kronecker remainder non-vanishing at supersingular λ-values
ModularCurve.eval_lambdaKroneckerRemainder_ne_zero184 below · depth 22 - Uniqueness of the q-th Kronecker remainder for Ψ_q
ModularCurve.existsUnique_lambdaKroneckerRemainder0 below · depth 22 - Kronecker congruence for the λ modular equation
ModularCurve.kroneckerCongruence_lambda179 below · depth 22 - Existence of an integral λ-modular polynomial for odd q
ModularCurve.nonempty_lambdaModularPolynomialData197 below · depth 22 - λ-series generates the level-4 modular function field
ModularCurve.adjoin_lambdaModC_eq_laurentBaseChange_modularFunctionFieldFull_four170 below · depth 23 - Adjoining λ and λ(X^q) gives level 4q
ModularCurve.adjoin_lambdaModC_lambdaNModC_eq_laurentBaseChange_modularFunctionFieldFull171 below · depth 23 - Integrality descent for polynomials in the λ-series
ModularCurve.aeval_lambdaModC_intCoeffs_descent0 below · depth 23 - Kronecker remainder is nonzero at supersingular λ-points
ModularCurve.eval_lambdaKroneckerRemainder_ne_zero_of_deuringPolynomial169 below · depth 23 - Degree q+1 of λ(qτ) over L(λ), λ the X₀(4) Hauptmodul
ModularCurve.finrank_adjoin_lambdaModC_adjoin_lambdaNModC172 below · depth 23 - Frobenius identity for the λ-series in characteristic ℓ
ModularCurve.frobenius_identity_lambda1 below · depth 23 - Integral q-expansions of the λ modular equation coefficients
ModularCurve.intCoeffs_minpoly_lambdaNModC_coeff180 below · depth 23 - Level-four Hauptmodul relation between j and λ/16
ModularCurve.jq_mul_lambdaModC_mul_one_sub_pow_four27 below · depth 23 - The Hauptmodul λ lies in the level-four function field
ModularCurve.lambdaModC_mem_modularFunctionFieldFull_four171 below · depth 23 - Minimal polynomial of λ(q^q) has coefficients in ℚ[λ]
ModularCurve.minpoly_lambdaNModC_coeff_mem_adjoin194 below · depth 23 - Half-period shift of the Legendre λ-series
ModularCurve.qTwist_neg_one_lambdaModC_mul27 below · depth 23 - An involution with μ ↦ 1/16-μ at level 4q
ModularCurve.exists_algEquiv_full_four_mul_lambdaModC_eq_sixteenth_sub185 below · depth 24 - Denominators of the minimal polynomial of λ(q^q) over ℚ(λ)
ModularCurve.exists_pow_mul_minpoly_lambdaNModC_coeff_mem_adjoin66 below · depth 24 - Wronskian closed form for the λ-line Kronecker remainder
ModularCurve.lambdaKroneckerRemainder_frobeniusGraph_ode167 below · depth 24 - Level-two modular relation splits into q+1 conjugates
ModularCurve.map_eq_phiProd_lambda_of_eval_qExpand_eq_zero0 below · depth 24 - Cancelling powers of λ inside ℚ[λ]
ModularCurve.mem_adjoin_lambdaModC_of_pow_mul_mem0 below · depth 24 - Integrality of the minimal polynomial of λ(q^q) over ℚ(λ)
ModularCurve.minpoly_lambdaNModC_coeff_coeff_eq_zero_of_neg180 below · depth 24 - Fricke-transported Hauptmodul relation between j(X⁴) and μ
ModularCurve.qExpand_four_jq_mul_one_sub_mul_lambdaModC_pow_four27 below · depth 24 - H_q(16λ)² (θλ)^{q-1}=(λ(1-16λ))^{q-1} in characteristic q
ModularCurve.deuringPolynomial_sq_mul_thetaL_lambda_pow163 below · depth 25 - Kronecker remainder along the Frobenius graph for λ
ModularCurve.laurentMap_evalAtLambdaInt_kroneckerRemainder_eval_X_pow0 below · depth 25 - A θ-identity for the Dwork quotient of λ
ModularCurve.thetaL_laurentMap_lambdaDworkQuotient1 below · depth 25 - Level-two Deuring polynomial identity in characteristic q
ModularCurve.delta_pow_mul_deuringPolynomial_lambda_pow_twelve84 below · depth 26 - Jacobi's discriminant formula for the level-two parameter μ
ModularCurve.thetaL_lambdaModC_pow_six106 below · depth 26