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

Case I easier

FltRegular.caseI_easier

Plain-language statement

Case I with additional assumptions.

Exact Lean statement

theorem caseI_easier {a b c : ℤ} (hreg : IsRegularPrime p) (hp5 : 5 ≤ p)
    (hgcd : ({a, b, c} : Finset ℤ).gcd id = 1) (hab : ¬a ≡ b [ZMOD p])
    (caseI : ¬↑p ∣ a * b * c) :
    a ^ p + b ^ p ≠ c ^ p

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
theorem caseI_easier {a b c : } (hreg : IsRegularPrime p) (hp5 : 5  p)    (hgcd : ({a, b, c} : Finset ).gcd id = 1) (hab : ¬a ≡ b [ZMOD p])    (caseI : ¬↑p ∣ a * b * c) :    a ^ p + b ^ p  c ^ p := by  set ζ := zeta p  R  have:= zeta_spec p  R  intro H  obtain k₁, k₂, hcong, hdiv := ex_fin_div hp5 hreg hζ hgcd caseI H  have key : ↑(p : ) ∣ ∑ j  range p, f a b k₁ k₂ j • ζ ^ j := by    convert! hdiv using 1    have h01 : 0  1 := zero_ne_one    have h0k₁ := aux0k₁ hpri.out hp5 hζ caseI hcong hdiv    have h0k₂ := aux0k₂ hpri.out hp5 hζ hab hcong hdiv    have h1k₁ := aux1k₁ hpri.out hp5 hζ hab hcong hdiv    have h1k₂ := aux1k₂ hpri.out hp5 hζ caseI hcong hdiv    have hk₁k₂ : (k₁ : )  (k₂ : ) := auxk₁k₂ hpri.out hcong    simp_rw [f, ite_smul, sum_ite, filter_filter,  Ne.eq_def, ne_and_eq_iff_right h01, and_assoc,      ne_and_eq_iff_right h1k₁, ne_and_eq_iff_right h0k₁, ne_and_eq_iff_right hk₁k₂,      ne_and_eq_iff_right h1k₂, ne_and_eq_iff_right h0k₂, Finset.range_filter_eq]    simp only [hpri.out.pos, hpri.out.one_lt, if_true, zsmul_eq_mul, sum_singleton, _root_.pow_zero,      mul_one, pow_one, Fin.is_lt, neg_smul, sum_neg_distrib, Ne, zero_smul, sum_const_zero,      add_zero]    ring  rw [sum_range] at key  refine caseI (Dvd.dvd.mul_right (Dvd.dvd.mul_right ?_ _) _)  exact dvd_coeff_cycl_integer hpri.out hζ (auxf hp5 a b k₁ k₂) key    0, hpri.out.pos
Project
FLT for regular primes
License
Apache-2.0
Commit
1741c80894f4
Source
FltRegular/CaseI/Statement.lean:226-252

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 II

FltRegular.caseII

Plain-language statement

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

number theorycyclotomic fieldsFermat's Last Theorem

Source project: FLT for regular primes

Person-level attribution pending.

View proof record