Fermat Last Theorem in the case n = 3 #
The goal of this file is to prove Fermat's Last Theorem in the case n = 3.
Main results #
fermatLastTheoremThree: Fermat's Last Theorem forn = 3: ifa b c : ℕare all non-zero thena ^ 3 + b ^ 3 ≠ c ^ 3.
Implementation details #
We follow the proof in https://webusers.imj-prg.fr/~marc.hindry/Cours-arith.pdf, page 43.
The strategy is the following:
- The so-called "Case 1", when
3 ∣ a * b * cis completely elementary and is proved using congruences modulo9. - To prove case 2, we consider the generalized equation
a ^ 3 + b ^ 3 = u * c ^ 3, wherea,b, andcare in the cyclotomic ringℤ[ζ₃](whereζ₃is a primitive cube root of unity) anduis a unit ofℤ[ζ₃].FermatLastTheoremForThree_of_FermatLastTheoremThreeGen(whose proof is rather elementary on paper) says that to prove Fermat's last theorem for exponent3, it is enough to prove that this equation has no solutions such thatc ≠ 0,¬ λ ∣ a,¬ λ ∣ b,λ ∣ candIsCoprime a b(where we setλ := ζ₃ - 1). We call such a tuple aSolution'. ASolutionis the same as aSolution'with the additional assumption thatλ ^ 2 ∣ a + b. We then prove that, givenS' : Solution', there isS : Solutionsuch that the multiplicity ofλ = ζ₃ - 1incis the same inS'andS(seeexists_Solution_of_Solution'). In particular it is enough to prove that noSolutionexists. The key point is a descent argument on the multiplicity ofλinc: starting withS : Solutionwe can findS₁ : Solutionwith multiplicity strictly smaller (seeexists_Solution_multiplicity_lt) and this finishes the proof. To constructS₁we go through aSolution'and then back to aSolution. More importantly, we cannot control the unitu, and this is the reason why we need to consider the generalized equationa ^ 3 + b ^ 3 = u * c ^ 3. The construction is completely explicit, but it depends crucially onIsCyclotomicExtension.Rat.Three.eq_one_or_neg_one_of_unit_of_congruent, a special case of Kummer's lemma. - Note that we don't prove Case 1 for the generalized equation (in particular we don't prove that
the generalized equation has no nontrivial solutions). This is because the proof, even if
elementary on paper, would be quite annoying to formalize: indeed it involves a lot of explicit
computations in
ℤ[ζ₃] / (λ): this ring is isomorphic toℤ / 9ℤ, but of course, even if we construct such an isomorphism, tactics likedecidewould not work.
Fermat's Last Theorem for n = 3: if a b c : ℕ are all non-zero then
a ^ 3 + b ^ 3 ≠ c ^ 3.