Set up FLT example

This commit is contained in:
Joscha 2025-08-02 16:30:46 +02:00
parent d462aad554
commit 3cf236c5df
6 changed files with 325 additions and 0 deletions

View file

@ -0,0 +1,94 @@
#import "common.typ": *
= Introduction
Fermat's Last Theorem is the statement that if $a, b, c, n$ are positive whole
numbers with $n >= 3$, then $a^n + b^n != c^n$. It is thus a statement about a
family of Diophantine equations ($a^3 + b^3 = c^3, a^4 + b^4 = c^4, ...$).
Diophantus was a Greek mathematician who lived around 1800 years ago, and he
would have been able to understand the statement of the theorem (he knew about
positive integers, addition and multiplication).
Fermat's Last Theorem was explicitly raised by Fermat in 1637, and was proved by
Wiles (with the proof completed in joint work with Taylor) in 1994. There are
now several proofs but all of them go broadly in the same direction, using
elliptic curves and modular forms.
Explaining a proof of Fermat's Last Theorem to Lean is in some sense like
explaining the proof to Diophantus; for example, the proof starts by observing
that before we go any further it's convenient to first invent/discover zero and
negative numbers, and one can point explicitly at places in Lean's source code
#link(
"https://github.com/leanprover/lean4/blob/260eaebf4e804c9ac1319532970544a4e157c336/src/Init/Prelude.lean#L1049",
)[here] and #link(
"https://github.com/leanprover/lean4/blob/260eaebf4e804c9ac1319532970544a4e157c336/src/Init/Data/Int/Basic.lean#L45",
)[here] where these things happen. However we will adopt a more efficient
approach: we will assume all of the theorems both in Lean and in its mathematics
library #link("https://github.com/leanprover-community/mathlib4")[mathlib], and
proceed from there. To give some idea of what this entails: mathlib at the time
of writing contains most of an undergraduate mathematics degree and parts of
several relevant Masters level courses (for example, the definitions and basic
properties of #link(
"https://leanprover-community.github.io/mathlib4_docs/Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.html",
)[elliptic curves] and #link(
"https://leanprover-community.github.io/mathlib4_docs/Mathlib/NumberTheory/ModularForms/Basic.html",
)[modular forms] are in mathlib). Thus our task can be likened to teaching a
graduate level course on Fermat's Last Theorem to a computer.
== Which proof is being formalised?
At the time of writing, these notes do not contain anywhere near a proof of FLT,
or even a sketch proof. Over the next few years, we will be building parts of
the argument, following a strategy constructed by Taylor, taking into account
Buzzard's comments on what would be easy or hard to do in Lean. The proof uses
refinements of the original Taylor--Wiles method by Diamond/Fujiwara,
Khare--Wintenberger, Skinner--Wiles, Kisin, Taylor and others --- one could call
it a 21st century proof of the theorem. We shall furthermore be assuming many
nontrivial theorems without proof, at least initially. For example we shall be
assuming the existence of Galois representations attached to weight 2 Hilbert
modular forms, Langlands' cyclic base change theorem for $"GL"_2$, Mazur's
theorem bounding the torsion subgroup of an elliptic curve over the rationals,
and several other nontrivial results which were known by the end of the 1980s.
The first main goal of the project is to state, and then prove, a modularity
lifting theorem; the proof of such a theorem was the key breakthrough introduced
in Wiles' 1994 paper which historically completed the proof of FLT. We will not
be proving the original Wiles--Taylor--Wiles modularity lifting theorem, but
instead will prove a more general result which works for Hilbert modular forms.
We shall say more about the exact path we're taking in #todo[Chapter 4].
== The structure of this blueprint
The following chapter of the blueprint, @first-reduction, explains how to reduce
FLT to two highly nontrivial statements about the $p$-torsion in a certain
elliptic curve (the Frey curve). It mostly comprises of some basic reductions
and the introduction of the Frey curve.
The chapter after that, #[chapter 3], goes into more details about elliptic
curves, however we need so much material here that somehow the top-down approach
felt quite overwhelming at this point. For example even the basic claim that the
$p$-torsion in the Frey curve curve is a 2-dimensional mod $p$ Galois
representation feels like quite a battle to formalise, and proving that it is
semistable and unramified outside $2p$ is even harder. Several people are
working on the basic theory of elliptic curves, and hopefully we will be able to
make more progress on this "top-down" approach later.
The next chapter, #todo[chapter 4], is an _extremely_ sketchy overview of how
the rest of the proof goes. There is so much to do here that I felt that there
was little point continuing with this; definition after definition is missing.
All of the remaining chapters are experiments, and most of them are what I am
currently calling "mini-projects". A mini-project is a bottom-up project,
typically at early graduate student level, with a concrete goal. The ultimate
goal of many of these projects is to actually get some result into mathlib. We
have had one success so far --- the Frobenius mini-project is currently being
PRed to mathlib by Thomas Browning. Currently most of my efforts are going into
running mini-projects, with the two most active ones currently being the adeles
mini-project and the quaternion algebra mini-project. These projects do not
logically depend on each other for the most part, and one can pick and choose
how one reads them.
We finish with an appendix, which is again very sketchy, and comprises mostly of
a big list of nontrivial theorems many of which we will be assuming without
proof in the FLT project, or at least not prioritising until we have proved the
modularity lifting theorem assuming them.