FormalConjectures/Wikipedia/ABC.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, Formal Conjectures paper, arXiv v1
8 declarations, 3 contain sorry, 0 declared as axioms
abc conjecture
Reference: Wikipedia
Imports (1)
- def
ABC.radicalThe radical ofndenoted is the product of the distinct prime factors ofnline 33 sourceSource documentation
The radical of
ndenoted is the product of the distinct prime factors ofn.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
Finset.prod,Nat.primeFactors,id1 instances, coercions and auxiliary constants left out.
def radical (n : ℕ) : ℕ := n.primeFactors.prod id …
- theorem
ABC.radical_16line 36 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, ABC.radical,OfNat.ofNatProof uses:
Finset,Nat.primeFactors,Singleton.singleton,Eq.mpr,HPow.hPow,id,congrArg,of_decide_eq_true,Bool,Decidable.decide,Bool.true,Eq.refl,Nat.primeFactors_pow,Ne,of_eq_true,Eq.trans,True,congrFun',Nat.Prime.primeFactors,Mathlib.Meta.NormNum.isNat_prime_2and 10 more13 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- theorem
ABC.radical_17line 44 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, ABC.radical,OfNat.ofNatProof uses:
Eq.mpr,Finset.prod,Nat.primeFactors,id,congrArg,ABC.radical.eq_1,Singleton.singleton,Finset,Nat.Prime.primeFactors,Mathlib.Meta.NormNum.isNat_prime_2,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Bool,Bool.true,Mathlib.Meta.NormNum.isNat_minFac_4,Mathlib.Meta.NormNum.IsNat.raw_refl,Mathlib.Meta.NormNum.minFacHelper_3,Bool.false,Mathlib.Meta.NormNum.minFacHelper_0,Finset.prod_singletonand 1 more5 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- theorem
ABC.radical_12line 48 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, ABC.radical,OfNat.ofNatProof uses:
Eq.mpr,Finset.prod,Nat.primeFactors,id,congrArg,ABC.radical.eq_1,HMul.hMul,HPow.hPow,Eq.refl,Union.union,Finset,Nat.primeFactors_mul,Mathlib.Meta.NormNum.isNat_eq_false,Mathlib.Meta.NormNum.isNat_pow,Mathlib.Meta.NormNum.isNat_ofNat,Mathlib.Meta.NormNum.IsNatPowT.run,Mathlib.Meta.NormNum.IsNatPowT.bit0,Bool,Bool.false,Nat.primeFactors_powand 8 more15 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- def
ABC.qualityQualityq(a, b, c)of the triple(a, b, c)is defined asq(a,b,c) = log (c) / log (rad(abc))line 57 sourceSource documentation
Quality
q(a, b, c)of the triple(a, b, c)is defined asq(a,b,c) = log (c) / log (rad(abc)).standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,RealProof uses:
HDiv.hDiv,Real.log, ABC.radical,HMul.hMul7 instances, coercions and auxiliary constants left out.
noncomputable def quality (a b c : ℕ) : ℝ := (c : ℝ).log / (radical <| a * b * c : ℝ).log …
Mentions: c, ABC.radical
- theorem
ABC.abcFor every positive real numberε, there exist only finitely many triples(a, b, c)of coprime positive integers, witha + b = c, such thatc > rad(abc)^(1+ε)sorry line 63 sourceSource documentation
For every positive real number
ε, there exist only finitely many triples(a, b, c)of coprime positive integers, witha + b = c, such thatc > rad(abc)^(1+ε)depends on sorry what this means
Statement uses:
Real,LT.lt,OfNat.ofNat,Set.Finite,Prod,Nat,Set.ofPred,ABC.abc.match_1,And,Set.Pairwise,Insert.insert,Set,Singleton.singleton,Nat.Coprime,Eq,HAdd.hAdd,HPow.hPow, ABC.radical,HMul.hMulProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous36 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem abc (ε : ℝ) (hε : 0 < ε) : {(a, b, c) : ℕ × ℕ × ℕ | 0 < a ∧ 0 < b ∧ 0 < c ∧ ({a, b, c} : Set ℕ).Pairwise Nat.Coprime ∧ a + b = c ∧ (radical <| a * b * c : ℝ)^(1 + ε) < c}.Finite := by …Mentions: c, ABC.radical
- theorem
ABC.abc.variants.lt_constant_mulFor every positive real number ε, there exists a constantK_εsuch that for all triples (a, b, c) of coprime positive integers, with a + b = c we havec < K_ε rad(abc)^(1+ε)sorry line 72 sourceSource documentation
For every positive real number ε, there exists a constant
K_εsuch that for all triples (a, b, c) of coprime positive integers, with a + b = c we havec < K_ε rad(abc)^(1+ε).depends on sorry what this means
Statement uses:
Real,LT.lt,OfNat.ofNat,Exists,Nat,Set.Pairwise,Insert.insert,Set,Singleton.singleton,Nat.Coprime,Eq,HAdd.hAdd,HMul.hMul,HPow.hPow, ABC.radicalProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous38 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem abc.variants.lt_constant_mul (ε : ℝ) (hε : 0 < ε) : ∃ K, ∀ (a b c : ℕ), 0 < a → 0 < b → 0 < c → ({a, b, c} : Set ℕ).Pairwise Nat.Coprime → a + b = c → c < K * (radical <| a * b * c : ℝ)^(1 + ε) := by …Mentions: c, ABC.radical
- theorem
ABC.abc.variants.qualityFor every positive real number ε, there exist only finitely many triples(a, b, c)of coprime positive integers witha + b = csuch thatq(a, b, c) > 1 + εsorry line 81 sourceSource documentation
For every positive real number ε, there exist only finitely many triples
(a, b, c)of coprime positive integers witha + b = csuch thatq(a, b, c) > 1 + ε.depends on sorry what this means
Statement uses:
Real,LT.lt,OfNat.ofNat,Set.Finite,Prod,Nat,Set.ofPred,ABC.abc.match_1,And,Set.Pairwise,Insert.insert,Set,Singleton.singleton,Nat.Coprime,Eq,HAdd.hAdd,GT.gt, ABC.qualityProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous24 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem abc.variants.quality (ε : ℝ) (hε : 0 < ε) : {(a, b, c) : ℕ × ℕ × ℕ | 0 < a ∧ 0 < b ∧ 0 < c ∧ ({a, b, c} : Set ℕ).Pairwise Nat.Coprime ∧ a + b = c ∧ quality a b c > (1 + ε)}.Finite := by …Mentions: c