Fermat's Last Theorem in Lean 4

← all definition modules

Definitions/Def_NumberField_EuclideanIdealLattice.lean

definition module

Ideal lattices in the Euclidean mixed space; Hecke scaling factor

Throughout, K is a number field. Two total definitions are made, with no side conditions on their arguments.

For a unit I of the monoid of fractional ideals of \mathcal{O}_K in K, Deep.Analytic.euclideanIdealLattice K I is the \mathbb{Z}-submodule of the Euclidean model euclidean.mixedSpace K of the mixed space \mathbb{R}^{r_1}\times\mathbb{C}^{r_2} obtained by transporting Mathlib's ideal lattice NumberField.mixedEmbedding.idealLattice K I — the image of I under the canonical (mixed) embedding of K — along the linear map underlying euclidean.toMixed K, using ZLattice.comap over \mathbb{R}. Thus a point of the Euclidean model lies in euclideanIdealLattice K I exactly when its image in the mixed space belongs to the image of I; the ZLattice.comap construction records this preimage as a \mathbb{Z}-submodule, so that the lattice structure of the ideal is available in the space carrying the Euclidean inner product rather than in the mixed space itself.

M4aP2.heckeScale K I is the real number \bigl(|d_K|\cdot \mathrm{N}(I)^2\bigr)^{-1/n}, formed with the real power function, where d_K is the discriminant of K cast to \mathbb{R}, \mathrm{N}(I) is the absolute norm FractionalIdeal.absNorm of the underlying fractional ideal of I cast to \mathbb{R}, and n=[K:\mathbb{Q}] is Module.finrank ℚ K cast to \mathbb{R} (so the exponent is -1/n as a real exponent). This is the scaling factor by which Gaussians are dilated in the theta series attached to I, normalised so that the factors attached to I and to the inverse of \mathfrak{d}_K I are mutually inverse.

Relation to Mathlib

The lattice is built from Mathlib's NumberField.mixedEmbedding.idealLattice, the Euclidean model euclidean.mixedSpace together with euclidean.toMixed, and ZLattice.comap; it is the transport of a Mathlib object to the Euclidean model rather than a new notion. The scaling factor heckeScale is the project's own definition.

Where it is used

These definitions set up the lattice-theoretic and normalisation data for the theta series attached to a fractional ideal, used in the analytic part of the development where such series and their functional equations are treated.

References

  1. S. Lang, Algebraic Number Theory, 2nd edition, Graduate Texts in Mathematics 110, Springer, 1994
  2. J. Neukirch, Algebraic Number Theory, Grundlehren der mathematischen Wissenschaften 322, Springer, 1999

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

Declarations

Source

import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.Basic ↗
import Mathlib.NumberTheory.NumberField.Discriminant.Defs ↗
import Mathlib.Analysis.SpecialFunctions.Pow.Real ↗

set_option autoImplicit false

open NumberField NumberField.mixedEmbedding
open scoped nonZeroDivisors

noncomputable section

namespace Deep.Analytic

variable (K : Type*) [Field K] [NumberField K]

open Classical in

def euclideanIdealLattice (I : (FractionalIdeal (𝓞 K)⁰ K)ˣ) :
    Submodule ℤ (euclidean.mixedSpace K) :=
  ZLattice.comap ℝ (mixedEmbedding.idealLattice K I) (euclidean.toMixed K).toLinearMap

end Deep.Analytic

namespace M4aP2

variable (K : Type*) [Field K] [NumberField K]

def heckeScale (I : (FractionalIdeal (𝓞 K)⁰ K)ˣ) : ℝ :=
  (|(discr K : ℝ)| * (FractionalIdeal.absNorm (I : FractionalIdeal (𝓞 K)⁰ K) : ℝ) ^ 2)
    ^ (-(1 : ℝ) / (Module.finrank ℚ K : ℝ))

end M4aP2

end

Statements phrased using this module (0)

No statement module imports it directly (it is used through other definition modules or by proofs).