Fermat's Last Theorem in Lean 4

← all definition modules

Definitions/Def_ModularCurve_MazurStepThree.lean

definition module

Mazur's Step Three as a named proposition

This module introduces a single Prop-valued definition, MazurStepThree p, indexed by a natural number p; nothing is proved here. Unfolded, MazurStepThree p asserts: suppose p is prime and p \notin \{2,3,5,7,13\}; let W be a Weierstrass curve over \mathbb Z with \Delta \neq 0 satisfying the semistability condition that no prime q dividing \Delta divides c_4; let Q be a point of W base-changed along \mathbb Z \to \mathbb Q and then to \overline{\mathbb Q} (the algebraic closure AlgebraicClosure ℚ), fixed by every \mathbb Q-algebra automorphism of \overline{\mathbb Q} and of exact additive order p. Assume further that 2 \mid \Delta and Q fails W.InZeroComponentAt A for every valuation subring A \subseteq \overline{\mathbb Q} with 2 a nonunit of A, and likewise that 3 \mid \Delta with Q off the zero component at every valuation subring over 3. The conclusion is that for every prime \ell \notin \{2,3,p\} dividing \Delta and every valuation subring A of \overline{\mathbb Q} with \ell a nonunit (the predicate ValuationSubring.LiesOverPrime), Q again fails W.InZeroComponentAt A.

Here W.InZeroComponentAt A P holds when P = 0, or P = (x,y) with either x \notin A, or x, y \in A and the images of x,y in the residue field of A give a nonsingular point of W reduced to that residue field. Thus membership in the "zero component" is a condition on the chosen integral model W and on the valuation subring, expressed by reduction into the smooth locus, not via a Néron model. The behaviour of Q at 2 and at 3 is assumed rather than derived, so the statement is counting-free at those primes.

Relation to Mathlib

Mathlib supplies Weierstrass curves, their affine points, valuation subrings and residue fields; the predicates WeierstrassCurve.InZeroComponentAt and ValuationSubring.LiesOverPrime, as well as the action of \overline{\mathbb Q} \simeq_{\mathbb Q} \overline{\mathbb Q} on points used to express Galois-fixedness, are the project's own.

Where it is used

The proposition packages the input from Mazur's work needed along the route: for a semistable integral model with a rational point of prime order p \notin \{2,3,5,7,13\}, nontrivial behaviour at the bad primes 2 and 3 propagates to all other bad primes away from p. It is stated as a named Prop so that it can be established from further named inputs and then applied in the analysis of the Frey curve's p-torsion.

References

  1. B. Mazur, Modular curves and the Eisenstein ideal, Publications Mathématiques de l'IHÉS 47 (1977), 33–186
  2. B. Mazur, Rational isogenies of prime degree, Inventiones Mathematicae 44 (1978), 129–162
  3. H. Darmon, F. Diamond and R. Taylor, Fermat's Last Theorem, in: Current Developments in Mathematics 1995, International Press, 1995, 1–154

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

Imports

Imported by

Declarations

Source

import Definitions.Def_EllipticCurve_ZeroComponentAt
import Definitions.Def_FLTPrelim_Ramification

set_option autoImplicit false

open WeierstrassCurve WeierstrassCurve.Affine in

def MazurStepThree (p : ℕ) : Prop :=
  p.Prime → p ∉ ({2, 3, 5, 7, 13} : Finset ℕ) →
  ∀ (W : WeierstrassCurve ℤ), W.Δ ≠ 0
    (∀ q : ℕ, q.Prime → (q : ℤ) ∣ W.Δ → ¬ (q : ℤ) ∣ W.c₄) →
    ∀ (Q : ((W.map (Int.castRingHom ℚ))⁄(AlgebraicClosure ℚ)).Point),
      (∀ σ : AlgebraicClosure ℚ ≃ₐ[ℚ] AlgebraicClosure ℚ, σ • Q = Q) →
      addOrderOf Q = p →
      (2 : ℤ) ∣ W.Δ →
      (∀ A : ValuationSubring (AlgebraicClosure ℚ), A.LiesOverPrime 2
        ¬ W.InZeroComponentAt A Q) →
      (3 : ℤ) ∣ W.Δ →
      (∀ A : ValuationSubring (AlgebraicClosure ℚ), A.LiesOverPrime 3
        ¬ W.InZeroComponentAt A Q) →
      ∀ (ℓ : ℕ), ℓ.Prime → ℓ ≠ 2 → ℓ ≠ 3 → ℓ ≠ p → (ℓ : ℤ) ∣ W.Δ →
        ∀ A : ValuationSubring (AlgebraicClosure ℚ), A.LiesOverPrime ℓ →
          ¬ W.InZeroComponentAt A Q

Statements phrased using this module (0)

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