Fermat's Last Theorem in Lean 4

← all definition modules

Definitions/Def_ModularCurve_JZeroTorsionFinite.lean

definition module

Finiteness predicates for torsion in the modular Jacobian

Two propositions are introduced. The first, ModularCurve.JZeroTorsionFinite M n for a nonzero natural number M and a natural number n, asserts that the additive subgroup Pic0.torsion (AlgebraicClosure ℚ) (modularFunctionFieldBar M) n is finite. Here the degree-zero divisor class group Pic0 K F of a field extension F/K is the quotient of the group of degree-zero divisors — finitely supported \mathbb{Z}-valued functions on the set of places of F/K, a place being a valuation subring of F containing the image of K, distinct from F and a principal ideal ring, with degree the residue-field degree over K — by the subgroup of principal divisors \operatorname{div}(f), f \in F^{\times}, that lie in it; and Pic0.torsion K F n is the \mathbb{Z}-torsion submodule annihilated by (n : \mathbb{Z}), regarded as an additive subgroup. The extension used is the one modelling the modular curve of level M through q-expansions: modularFunctionFieldFull M is the subfield of \mathbb{Q}-Laurent series generated over \mathbb{Q} by the series q \mapsto j(q^{d}) for the nonzero divisors d \mid M, and modularFunctionFieldBar M is its base change to \overline{\mathbb{Q}}, namely the subfield of Laurent series over \overline{\mathbb{Q}} generated by \overline{\mathbb{Q}} together with the coefficientwise images of that field. Thus the predicate says that the n-torsion of J_0(M) over \overline{\mathbb{Q}}, in this function-field presentation, is finite.

The second, FreyPackage.MazurJZeroPTorsionFiniteFamily P q for a Frey package P = (a,b,c,p) (nonzero integers with a^{p}+b^{p}=c^{p}, p \ge 5 prime, \gcd(a,b)=1, a \equiv 3 \bmod 4, b even) and a nonzero natural number q, packages the first predicate into a family: it asserts JZeroTorsionFinite (N * q) P.p for every nonzero natural number N with q \nmid N, i.e. finiteness of J_0(Nq)[p] at all levels Nq with q exactly dividing the q-part.

Relation to Mathlib

Mathlib has no divisor class group of a function field of this shape; the places, divisors and Pic0 used here are the project's own constructions, with the torsion subgroup cut out by Mathlib's Submodule.torsionBy over \mathbb{Z}. The modular curve is likewise modelled by its function field inside Laurent series rather than by any Mathlib notion of modular curve.

Where it is used

Finiteness of the p-torsion of the Jacobian at levels Nq is one of the standing inputs to the Mazur-principle step of level lowering, where torsion classes of the modular Jacobian carry the Galois representation attached to the Frey curve. Only finiteness is required downstream, the sharper statement that the n-torsion is free of rank 2g over \mathbb{Z}/n not being needed.

References

  1. J. S. Milne, Abelian Varieties, in: Arithmetic Geometry (G. Cornell and J. H. Silverman, eds.), Springer, 1986, 103–150
  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_ModularCurve_JZeroTorsionFinite.lean

Imports

Imported by

  • no other definition module

Declarations

Source

import Mathlib
import Definitions.Def_FLTPrelim_FreyPackage
import Definitions.Def_ModularCurve_ArithmeticGalois

set_option autoImplicit false

noncomputable section

namespace ModularCurve

open AlgebraicCurve

def JZeroTorsionFinite (M : ℕ) [NeZero M] (n : ℕ) : Prop :=
  Finite (Pic0.torsion (AlgebraicClosure ℚ) (modularFunctionFieldBar M) n)

end ModularCurve

namespace FreyPackage

open ModularCurve

def MazurJZeroPTorsionFiniteFamily (P : FreyPackage) (q : ℕ) [NeZero q] : Prop :=
  ∀ (N : ℕ) [NeZero N], ¬ q ∣ N → JZeroTorsionFinite (N * q) P.p

end FreyPackage

end

Statements phrased using this module (5)