Fermat's Last Theorem in Lean 4

← all definition modules

Definitions/Def_CuspForm_EigenformCoefficientRing.lean

definition module

Coefficient ring and reduced eigensystem of a cusp form

Throughout, M is a natural number and g a cusp form of weight 2 on \Gamma_0(M); no Hecke-eigenform hypothesis is imposed, so the names below refer to the coefficients of g alone. Fourier coefficients are taken in the project's sense, a_n(g) = the n-th coefficient of the q-expansion of g of width 1. The predicate PrimeCoeffsIntegral g asserts that for every prime \ell there is an element of integralClosure ℤ ℂ, the ring \overline{\mathbb Z} of algebraic integers inside \mathbb C, whose image in \mathbb C is a_\ell(g); that is, each prime-indexed coefficient of g is an algebraic integer. Under a hypothesis hint of this form, eigenLift hint ℓ is a witnessing element of \overline{\mathbb Z}, and eigenLift_coe records that its image in \mathbb C is a_\ell(g); since \overline{\mathbb Z} is a subring of \mathbb C, this element is in fact the unique algebraic integer with that image. The coefficient ring eigenCoeffRing hint is the \mathbb Z-subalgebra of \overline{\mathbb Z} generated by the range of these lifts, i.e. R_g = \mathbb Z[a_\ell(g) : \ell \text{ prime}]; eigenLift_mem_eigenCoeffRing states that each lift lies in it. Given in addition an ideal \mathfrak m_w of \overline{\mathbb Z} (no maximality or primality is assumed), eigenResidueIdeal is its contraction \lambda = \mathfrak m_w \cap R_g along the inclusion R_g \hookrightarrow \overline{\mathbb Z}, EigenResidueRing abbreviates the quotient ring R_g/\lambda, and eigenSystemMod is the resulting system of reduced coefficients, the map sending a prime \ell to the class of a_\ell(g) in R_g/\lambda. No finiteness, field or characteristic properties of R_g/\lambda are asserted at this stage.

Relation to Mathlib

Built on Mathlib's CuspForm, CongruenceSubgroup.Gamma0, qExpansion, integralClosure, Algebra.adjoin, Ideal.comap and Ideal.Quotient; the coefficient ring of a cusp form, its residue ideal along an ideal of the algebraic integers, and the reduced system of prime coefficients are the project's own constructions, as is the coefficient function ModularFormClass.qCoeff, a wrapper for the coefficients of the width-1 q-expansion.

Where it is used

The reduced system \ell \mapsto a_\ell(g) \bmod \lambda is the datum from which one forms the maximal ideal of the abstract Hecke algebra attached to a mod-\lambda eigenform, as used in the level-lowering arguments (Mazur's principle and its relatives) applied to the modular form attached to a Frey curve.

References

  1. K. A. Ribet, On modular representations of \mathrm{Gal}(\overline{\mathbb{Q}}/\mathbb{Q}) arising from modular forms, Inventiones Mathematicae 100 (1990), 431–476
  2. G. Shimura, Introduction to the Arithmetic Theory of Automorphic Functions, Publications of the Mathematical Society of Japan 11, Princeton University Press, 1971

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_CuspForm_EigenformCoefficientRing.lean

Imports

Imported by

  • no other definition module

Declarations

Source

import Mathlib
import Definitions.Def_FLTPrelim_Modularity

set_option autoImplicit false

noncomputable section

namespace CuspForm

open scoped CongruenceSubgroup

variable {M : ℕ} (g : CuspForm (CongruenceSubgroup.Gamma0 M) 2)

def PrimeCoeffsIntegral : Prop :=
  ∀ ℓ : Nat.Primes, ∃ a : integralClosure ℤ ℂ, (a : ℂ) = ModularFormClass.qCoeff g ℓ

variable {g} (hint : PrimeCoeffsIntegral g)

def eigenLift (ℓ : Nat.Primes) : integralClosure ℤ ℂ := (hint ℓ).choose

theorem eigenLift_coe (ℓ : Nat.Primes) : ((eigenLift hint ℓ : integralClosure ℤ ℂ) : ℂ) = ModularFormClass.qCoeff g ℓ :=
  (hint ℓ).choose_spec

def eigenCoeffRing : Subalgebra ℤ (integralClosure ℤ ℂ) :=
  Algebra.adjoin ℤ (Set.range (eigenLift hint))

theorem eigenLift_mem_eigenCoeffRing (ℓ : Nat.Primes) : eigenLift hint ℓ ∈ eigenCoeffRing hint :=
  Algebra.subset_adjoin ⟨ℓ, rfl⟩

variable (𝔪w : Ideal (integralClosure ℤ ℂ))

def eigenResidueIdeal : Ideal (eigenCoeffRing hint) :=
  Ideal.comap (algebraMap (eigenCoeffRing hint) (integralClosure ℤ ℂ)) 𝔪w

abbrev EigenResidueRing : Type := eigenCoeffRing hint ⧸ eigenResidueIdeal hint 𝔪w

def eigenSystemMod : Nat.Primes → EigenResidueRing hint 𝔪w :=
  fun ℓ => Ideal.Quotient.mk _ ⟨eigenLift hint ℓ, eigenLift_mem_eigenCoeffRing hint ℓ⟩

end CuspForm

end

Statements phrased using this module (3)