FLT/Basic/Lemmas.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned project documentation, Pinned FLT blueprint introduction
3 declarations, 0 contain sorry, 0 declared as axioms
The reduction of FLT to the p>=5 prime case.
Imported by 3 files
- theorem
Nat.three_dvd_or_four_dvd_or_prime_dvdline 22 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Or,Dvd.dvd,Exists,And,Nat.PrimeProof uses:
Odd,Nat.four_dvd_or_exists_odd_prime_and_dvd_of_two_lt,Eq,Ne,eq_or_ne,Eq.symm,Or.inr,Exists.intro,And.intro14 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- lemma
FermatLastTheorem.of_p_ge_5It suffices to prove FLT for primes at least 5 line 38 sourceSource documentation
If Fermat's Last Theorem is true for primes
p ≥ 5, then FLT is true.L4DEL explanation
Any exponent n at least 3 is divisible by 3, by 4, or by a prime at least 5, and FLT for a divisor implies FLT for the multiple.
- Split on the arithmetic fact that n is divisible by 3, or by 4, or by some prime p at least 5.
- If 3 divides n, use Euler's theorem fermatLastTheoremThree from Mathlib and monotonicity along divisibility.
- If 4 divides n, use Fermat's theorem fermatLastTheoremFour from Mathlib in the same way.
- Otherwise a prime p at least 5 divides n and the hypothesis H gives FLT for p, which passes up to n.
Prerequisites: Nat.three_dvd_or_four_dvd_or_prime_dvd
See also: FLT.Bosses.B2_implies_B1
Sources and attribution: Pinned Lean source (f6c6a2fe9796)
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,GE.ge,OfNat.ofNat,Nat.Prime,FermatLastTheoremFor,FermatLastTheoremProof uses:
Dvd.dvd,Or,Exists,And,LE.le, Nat.three_dvd_or_four_dvd_or_prime_dvd,FermatLastTheoremFor.mono,fermatLastTheoremThree,fermatLastTheoremFour8 instances, coercions and auxiliary constants left out.
Tactic trace: 11 steps
Open to load the checked before-and-after goal states.
lemma FermatLastTheorem.of_p_ge_5 (H : ∀ p ≥ 5, p.Prime → FermatLastTheoremFor p) : FermatLastTheorem := by … - theorem
PNat.pow_add_pow_ne_pow_of_FermatLastTheoremFermat's Last Theorem as stated in mathlib (a statementFermatLastTheoremabout naturals) implies Fermat's Last Theorem stated in terms of positive integers line 60 sourceSource documentation
Fermat's Last Theorem as stated in mathlib (a statement
FermatLastTheoremabout naturals) implies Fermat's Last Theorem stated in terms of positive integers.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
FermatLastTheorem,PNat,Nat,GT.gt,OfNat.ofNat,Ne,HAdd.hAdd,HPow.hPowProof uses:
id,Eq.mp,Not,Eq,congrArg,of_eq_true,Eq.trans,False,True,not_false_eq_true28 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
theorem PNat.pow_add_pow_ne_pow_of_FermatLastTheorem : FermatLastTheorem → ∀ (a b c : ℕ+) (n : ℕ) (_ : n > 2), a ^ n + b ^ n ≠ c ^ n := by …