Documentation

LeanPool.FltRegular.CaseI.Statement

The first case of Fermat's Last Theorem for regular primes #

This file proves the first case of Fermat's Last Theorem for regular primes, reducing the final statement to a normalized version and establishing the required cyclotomic ideal factorization.

Statement of case I with additional assumptions.

Equations
Instances For

    Statement of case I.

    Equations
    Instances For

      It suffices to prove Case I under the additional normalized hypotheses.

      theorem FltRegular.ab_coprime {p : } {a b c : } (H : a ^ p + b ^ p = c ^ p) (hpzero : p 0) (hgcd : {a, b, c}.gcd id = 1) :

      In a normalized Fermat solution, a and b are coprime.

      A p-th-power principal ideal has a generator that is a unit times a p-th power.

      theorem FltRegular.exists_ideal {p : } [hpri : Fact (Nat.Prime p)] {a b c : } (h5p : 5 p) (H : a ^ p + b ^ p = c ^ p) (hgcd : {a, b, c}.gcd id = 1) (caseI : ¬p a * b * c) {ζ : NumberField.RingOfIntegers (CyclotomicField p )} ( : ζ Polynomial.nthRootsFinset p 1) :

      The cyclotomic ideal generated by a + ζ * b is a p-th power.

      theorem FltRegular.is_principal {p : } [hpri : Fact (Nat.Prime p)] {a b c : } {ζ : NumberField.RingOfIntegers (CyclotomicField p )} (hreg : IsRegularPrime p) (hp5 : 5 p) (hgcd : {a, b, c}.gcd id = 1) (caseI : ¬p a * b * c) (H : a ^ p + b ^ p = c ^ p) ( : IsPrimitiveRoot ζ p) :

      The cyclotomic factor a + ζ * b is a unit times a p-th power.

      theorem FltRegular.ex_fin_div {p : } [hpri : Fact (Nat.Prime p)] {a b c : } {ζ : NumberField.RingOfIntegers (CyclotomicField p )} (hp5 : 5 p) (hreg : IsRegularPrime p) ( : IsPrimitiveRoot ζ p) (hgcd : {a, b, c}.gcd id = 1) (caseI : ¬p a * b * c) (H : a ^ p + b ^ p = c ^ p) :
      ∃ (k₁ : Fin p) (k₂ : Fin p), k₂ k₁ - 1 [ZMOD p] p a + b * ζ - a * ζ ^ k₁ - b * ζ ^ k₂

      Two exponents whose associated cyclotomic linear combination is divisible by p.

      theorem FltRegular.caseI_easier {p : } [hpri : Fact (Nat.Prime p)] {a b c : } (hreg : IsRegularPrime p) (hp5 : 5 p) (hgcd : {a, b, c}.gcd id = 1) (hab : ¬a b [ZMOD p]) (caseI : ¬p a * b * c) :
      a ^ p + b ^ p c ^ p

      Case I with additional assumptions.

      theorem FltRegular.caseI {a b c : } {p : } [Fact (Nat.Prime p)] (hreg : IsRegularPrime p) (caseI : ¬p a * b * c) :
      a ^ p + b ^ p c ^ p

      Case I.