Fermat's Last Theorem in Lean 4

← all definition modules

Definitions/Def_CuspForm_Petersson.lean

definition module

Petersson inner product of cusp forms for Γ₀(N)

Fix a level N and a weight k \in \mathbb{Z}, and let f, g be cusp forms of weight k for \Gamma_0(N) (Mathlib's CuspForm (CongruenceSubgroup.Gamma0 N) k). Two definitions are made. First, CuspForm.peterssonIntegrand f g is the function on the upper half-plane whose value at \tau is the sum, over the coset space \mathrm{SL}(2,\mathbb{Z}) \mathbin{/} \Gamma_0(N), of the pointwise Petersson densities \overline{(f\mid_k \sigma^{-1})(\tau)}\,(g\mid_k \sigma^{-1})(\tau)\,(\operatorname{Im}\tau)^k, where \sigma runs through the chosen representatives q.out of the cosets q, the weight-k slash action is Mathlib's ∣[k] and the density is Mathlib's UpperHalfPlane.petersson. The sum is the finitely-supported sum ∑ᶠ, so for N \ge 1, where the coset space is finite, it is the ordinary finite sum of [\mathrm{SL}(2,\mathbb{Z}) : \Gamma_0(N)] terms; for families without finite support the ∑ᶠ convention returns 0, which is all that is asserted when the index is infinite. Second, CuspForm.petersson f g is the integral of this integrand over ModularGroup.fd, the standard fundamental domain for \mathrm{SL}(2,\mathbb{Z}) acting on \mathbb{H}, taken with respect to the volume measure of the upper half-plane restricted to that set, i.e. the hyperbolic measure y^{-2}\,dx\,dy. Unfolding, this is the Petersson product \langle f, g\rangle = \int_{\Gamma_0(N)\backslash\mathbb{H}} \overline{f(\tau)}\,g(\tau)\,(\operatorname{Im}\tau)^k\,\frac{dx\,dy}{y^2}, realised by unfolding the quotient by \Gamma_0(N) into an \mathrm{SL}(2,\mathbb{Z})-invariant integrand on a fundamental domain for the full modular group; in particular no normalising factor 1/[\mathrm{SL}(2,\mathbb{Z}) : \Gamma_0(N)] and no factor of the volume of the quotient is inserted. The definition is conjugate-linear in f and linear in g. The auxiliary CuspForm.petersson_def restates the defining equation as an equality of terms.

Relation to Mathlib

Mathlib supplies the pointwise density UpperHalfPlane.petersson, the weight-k slash action ∣[k], the fundamental domain ModularGroup.fd and the measure on the upper half-plane; the Petersson pairing on spaces of cusp forms of level N assembled from them is the project's own.

Where it is used

The analytic properties of this pairing — sesquilinearity, conjugate symmetry, positive definiteness and self-adjointness of the Hecke operators T_p for p \nmid N — are proved elsewhere in the development and used to diagonalise the Hecke action on cusp forms, which is what produces the newforms entering the modularity and level-lowering steps.

References

  1. F. Diamond and J. Shurman, A First Course in Modular Forms, Graduate Texts in Mathematics 228, Springer, 2005, §5.4–5.5
  2. G. Shimura, Introduction to the Arithmetic Theory of Automorphic Functions, Princeton University Press, 1971, Chapter 3

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

Imports

  • only Mathlib

Imported by

Declarations

Source

import Mathlib.NumberTheory.ModularForms.Bounds ↗
import Mathlib.NumberTheory.ModularForms.CongruenceSubgroups ↗
import Mathlib.Analysis.Complex.UpperHalfPlane.Measure ↗
import Mathlib.MeasureTheory.Integral.Bochner.Basic ↗

set_option autoImplicit false

noncomputable section

open scoped MatrixGroups ModularForm

namespace CuspForm

variable {N : ℕ} {k : ℤ}

def peterssonIntegrand (f g : CuspForm (CongruenceSubgroup.Gamma0 N) k) (τ : UpperHalfPlane) : ℂ :=
  ∑ᶠ q : SL(2, ℤ) ⧸ CongruenceSubgroup.Gamma0 N,
    UpperHalfPlane.petersson k (⇑f ∣[k] (q.out⁻¹ : SL(2, ℤ))) (⇑g ∣[k] (q.out⁻¹ : SL(2, ℤ))) τ

def petersson (f g : CuspForm (CongruenceSubgroup.Gamma0 N) k) : ℂ :=
  MeasureTheory.integral (MeasureTheory.volume.restrict ModularGroup.fd) (peterssonIntegrand f g)

theorem petersson_def (f g : CuspForm (CongruenceSubgroup.Gamma0 N) k) :
    petersson f g =
      MeasureTheory.integral (MeasureTheory.volume.restrict ModularGroup.fd)
        (peterssonIntegrand f g) := rfl

end CuspForm

end

Statements phrased using this module (6)