Fermat's Last Theorem in Lean 4

← all definition modules

Definitions/Def_ModularCurve_TwoNewEigenformIdeal.lean

definition module

Eigensystem ideals of forms new at two primes

Both notions are phrased over the project's abstract Hecke algebra HeckeAlg, the polynomial ring \mathbb{Z}[X_\ell : \ell \text{ prime}] on generators indexed by the primes, and use eigenIdeal a, the kernel of the \mathbb{Z}-algebra map \mathrm{aeval}\,a sending X_\ell \mapsto a_\ell.

IsTwoNewEigenformIdeal M q q' π”ͺ asserts the existence of a weight-two cusp form f for \Gamma_0(M) together with: a proof that f is a normalised eigenform in the project's sense (first q-expansion coefficient 1, multiplicativity of the coefficients on coprime indices, and the two prime-power recursions a_{p^{r+2}} = a_p a_{p^{r+1}} - p\,a_{p^r} for p \nmid M and a_{p^{r+2}} = a_p a_{p^{r+1}} for p \mid M); proofs that f is new at q and at q', where IsNewAt is the condition a_q^2 = 1 on the relevant coefficient; a finite field k; a subring \mathcal{O} \subseteq \mathbb{C} containing a_\ell(f) for every prime \ell; and a ring homomorphism \varphi : \mathcal{O} \to k; such that \mathfrak{m} is exactly the kernel of the map X_\ell \mapsto \varphi(a_\ell(f)). Thus \mathfrak{m} is the ideal cutting out a residual eigensystem attached to such an f, with the residue field and the reduction map existentially quantified rather than fixed.

TwoNewEigensystemsFactor M q q' Y, for an abelian group Y with a HeckeAlg-module structure, asserts that for every normalised weight-two eigenform f of level \Gamma_0(M) with a_q^2 = 1 and a_{q'}^2 = 1, the annihilator of Y in HeckeAlg is contained in the kernel of X_\ell \mapsto a_\ell(f) \in \mathbb{C}. Equivalently, every polynomial Hecke relation holding on Y also holds on each such complex eigensystem, so that each of these eigensystems factors through the image of HeckeAlg in \mathrm{End}(Y).

Relation to Mathlib

Mathlib has weight-two cusp forms for \Gamma_0(M) and q-expansion coefficients, but no Hecke algebra, eigensystem ideal or newness notion; these are the project's own, with the Hecke algebra modelled as a free polynomial ring on the primes and eigensystems as \mathbb{Z}-algebra maps out of it.

Where it is used

These predicates package the eigensystems that arise in the level-raising step: \mathfrak{m} records a residual eigensystem coming from a form of level \Gamma_0(M) (intended with M = Nqq') new at the two primes q and q', while TwoNewEigensystemsFactor expresses that a given Hecke module Y sees all such eigensystems.

References

  1. H. Darmon, F. Diamond and R. Taylor, Fermat's Last Theorem, in: Current Developments in Mathematics 1995, International Press, 1995, 1–154
  2. K. A. Ribet, On modular representations of \mathrm{Gal}(\overline{\mathbb{Q}}/\mathbb{Q}) arising from modular forms, Inventiones Mathematicae 100 (1990), 431–476
  3. F. Diamond and J. Shurman, A First Course in Modular Forms, Graduate Texts in Mathematics 228, Springer, 2005

References are suggested automatically and have not been individually verified.

English text generated automatically from the Lean source; the Lean statement is authoritative.

Source file: Definitions/Def_ModularCurve_TwoNewEigenformIdeal.lean

Imports

Imported by

  • no other definition module

Declarations

Source

import Definitions.Def_HeckeGalois_EichlerShimura
import Definitions.Def_FLTPrelim_Modularity
import Definitions.Def_FreyPackage_LevelRaising

namespace ModularCurve

def IsTwoNewEigenformIdeal (M q q' : β„•) (π”ͺ : Ideal HeckeAlg) : Prop :=
  βˆƒ (f : CuspForm (CongruenceSubgroup.Gamma0 M) 2) (_ : f.IsNormalizedEigenform)
    (_ : f.IsNewAt q) (_ : f.IsNewAt q')
    (k : Type) (_ : Field k) (_ : Finite k) (π’ͺ : Subring β„‚)
    (hπ’ͺ : βˆ€ β„“ : Nat.Primes, ModularFormClass.qCoeff f β„“ ∈ π’ͺ) (Ο† : π’ͺ β†’+* k),
      π”ͺ = eigenIdeal (fun β„“ => Ο† ⟨ModularFormClass.qCoeff f β„“, hπ’ͺ β„“βŸ©)

def TwoNewEigensystemsFactor (M q q' : β„•) (Y : Type*) [AddCommGroup Y] [Module HeckeAlg Y] :
    Prop :=
  βˆ€ (f : CuspForm (CongruenceSubgroup.Gamma0 M) 2), f.IsNormalizedEigenform β†’
    f.IsNewAt q β†’ f.IsNewAt q' β†’
      Module.annihilator HeckeAlg Y ≀
        RingHom.ker (MvPolynomial.aeval (R := β„€)
          (fun β„“ : Nat.Primes => ModularFormClass.qCoeff f β„“))

end ModularCurve

Statements phrased using this module (1)