All proofs
Project-declaredLean 4.33.0-rc1 · mathlib@3bc2a180

Case II

FltRegular.caseII

Plain-language statement

Case II of Fermat's Last Theorem for regular primes.

Exact Lean statement

theorem caseII {a b c : ℤ} {p : ℕ} [hpri : Fact p.Prime] (hreg : IsRegularPrime p)
    (hodd : p ≠ 2) (hprod : a * b * c ≠ 0)
    (hgcd : ({a, b, c} : Finset ℤ).gcd id = 1) (caseII : ↑p ∣ a * b * c) :
    a ^ p + b ^ p ≠ c ^ p

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
theorem caseII {a b c : } {p : } [hpri : Fact p.Prime] (hreg : IsRegularPrime p)    (hodd : p  2) (hprod : a * b * c  0)    (hgcd : ({a, b, c} : Finset ).gcd id = 1) (caseII : ↑p ∣ a * b * c) :    a ^ p + b ^ p  c ^ p := by  intro e  simp only [ne_eq, mul_eq_zero, not_or] at hprod  obtain ⟨⟨a0, b0, c0 := hprod  have hodd' := Nat.Prime.odd_of_ne_two hpri.out hodd  obtain hab | hc := (Nat.prime_iff_prime_int.mp hpri.out).dvd_or_dvd caseII  · obtain ha | hb := (Nat.prime_iff_prime_int.mp hpri.out).dvd_or_dvd hab    · refine not_exists_Int_solution' hreg hodd b, -c, -a, ?_, ?_, ?_, ?_      · simp only [ hgcd, Finset.gcd_insert, id_eq,  Int.coe_gcd, Int.neg_gcd,           LawfulSingleton.insert_empty_eq, Finset.gcd_empty, Int.gcd_left_comm _ a]      · rwa [dvd_neg]      · rwa [ne_eq, neg_eq_zero]      · simp [hodd'.neg_pow,  e]    · refine not_exists_Int_solution' hreg hodd ⟨-c, a, -b, ?_, ?_, ?_, ?_      · simp only [ hgcd, Finset.gcd_insert, id_eq,  Int.coe_gcd, Int.neg_gcd,           LawfulSingleton.insert_empty_eq, Finset.gcd_empty, Int.gcd_left_comm _ c]      · rwa [dvd_neg]      · rwa [ne_eq, neg_eq_zero]      · simp [hodd'.neg_pow,  e]  · exact not_exists_Int_solution' hreg hodd a, b, c, hgcd, hc, c0, e
Project
FLT for regular primes
License
Apache-2.0
Commit
1741c80894f4
Source
FltRegular/CaseII/Statement.lean:87-109

Reuse this declaration

Bring the exact result into your workflow

The import identifies the source module. Your project still needs the pinned package dependency shown on this page.

What this badge means

This completion status comes from the project or community source. It has not yet been represented here as an independent rebuild and axiom audit.

Continue in this project

Related declarations

Project-declaredLean 4.33.0-rc1

Dvd card class Group of unramified is Cyclic

dvd_card_classGroup_of_unramified_isCyclic

Plain-language statement

This is the second part of Hilbert Theorem 94, which states that if L/K is an unramified cyclic finite extension of number fields of odd prime degree, then the degree divides the class number of K.

number theorycyclotomic fieldsFermat's Last Theorem

Source project: FLT for regular primes

Person-level attribution pending.

View proof record
Project-declaredLean 4.33.0-rc1

Eq pow prime of unit of congruent

eq_pow_prime_of_unit_of_congruent

Plain-language statement

A regular prime criterion: if a unit of the cyclotomic field is congruent to an integer modulo p, then it is a p-th power.

number theorycyclotomic fieldsFermat's Last Theorem

Source project: FLT for regular primes

Person-level attribution pending.

View proof record
Project-declaredLean 4.33.0-rc1

Case I easier

FltRegular.caseI_easier

Plain-language statement

Case I with additional assumptions.

number theorycyclotomic fieldsFermat's Last Theorem

Source project: FLT for regular primes

Person-level attribution pending.

View proof record