FormalConjectures/ErdosProblems/304.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
19 declarations, 4 contain sorry, 0 declared as axioms
Erdős Problem 304
Reference: erdosproblems.com/304
Imports (1)
- def
Erdos304.unitFractionExpressibleThe set ofkfor whicha / bcan be expressed as a sum ofkdistinct unit fractions line 34 sourceSource documentation
The set of
kfor whicha / bcan be expressed as a sum ofkdistinct unit fractions.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,SetProof uses:
Set.ofPred,Exists,Finset,And,Eq,Finset.card,Membership.mem,GT.gt,OfNat.ofNat,Rat,HDiv.hDiv,Finset.sum,Inv.inv10 instances, coercions and auxiliary constants left out.
def unitFractionExpressible (a b : ℕ) : Set ℕ := …
- lemma
Erdos304.zero_mem_unitFractionExpressible_iffline 38 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Iff,Membership.mem,Set, Erdos304.unitFractionExpressible,OfNat.ofNat,Or,EqProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,Set.ofPred,Exists,Finset,And,Finset.card,LT.lt,Rat,HDiv.hDiv,Finset.sum,Inv.inv,GT.gt,funext,forall_congr,implies_congr_ctx,Eq.refland 7 more38 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos304.unitFractionExpressible_of_zeroline 43 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Or,Eq,OfNat.ofNat,Set, Erdos304.unitFractionExpressible,Singleton.singletonProof uses:
Eq.mpr,And,True,Membership.mem,id,Eq.trans,congrFun',congrArg,eq_true,Rat,HDiv.hDiv,congr,Finset,Finset.card,LT.lt,Finset.sum,Inv.inv,forall_congr,Set.ofPred,Existsand 80 more125 instances, coercions and auxiliary constants left out.
Tactic trace: 11 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos304.unitFractionExpressible_zero_leftline 57 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,Set, Erdos304.unitFractionExpressible,OfNat.ofNat,Singleton.singletonProof uses: Erdos304.unitFractionExpressible_of_zero,
of_eq_true,Or,Eq.trans,True,congrFun',congrArg,eq_self,true_or3 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos304.unitFractionExpressible_zero_rightline 61 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,Set, Erdos304.unitFractionExpressible,OfNat.ofNat,Singleton.singletonProof uses: Erdos304.unitFractionExpressible_of_zero,
of_eq_true,Or,Eq.trans,True,congrArg,eq_self,or_true3 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos304.zero_notMem_unitFractionExpressibleline 65 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Iff,Not,Membership.mem,Set, Erdos304.unitFractionExpressible,OfNat.ofNat,And,NeProof uses:
of_eq_true,Eq,Eq.trans,True,congrFun',congrArg,Or,Set.ofPred,Exists,Finset,Finset.card,LT.lt,Rat,HDiv.hDiv,Finset.sum,Inv.inv,GT.gt,funext,forall_congr,implies_congr_ctxand 8 more39 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos304.eq_inv_of_one_mem_unitFractionExpressibleline 70 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Membership.mem,Set, Erdos304.unitFractionExpressible,OfNat.ofNat,Exists,And,LT.lt,Eq,Rat,HDiv.hDiv,Inv.invProof uses:
Finset,Singleton.singleton,Finset.sum,Eq.mp,Eq.trans,Set.ofPred,Finset.card,congrFun',congrArg,GT.gt,funext,forall_congr,implies_congr,Eq.refl,Exists.intro,And.intro,Finset.sum_singleton,Eq.symm27 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos304.dvd_of_one_mem_unitFractionExpressibleline 78 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Membership.mem,Set, Erdos304.unitFractionExpressible,OfNat.ofNat,Dvd.dvdProof uses:
And,LT.lt,Eq,Rat,HDiv.hDiv,Inv.inv,Exists, Erdos304.eq_inv_of_one_mem_unitFractionExpressible,Ne,False,Eq.mp,Eq.trans,congrFun',congrArg,CharP.cast_eq_zero,div_zero,Eq.symm,Exists.intro,HMul.hMul,castand 48 more87 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- def
Erdos304.smallestCollectionDocumented declaration: smallestCollection line 92 sourceSource documentation
Let $$N(a, b)$$, denoted here by
smallestCollection a bbe the minimal k such that there exist integers $1 < n_1 < n_2 < \dots < n_k$ with $$\frac{a}{b} = \sum_{i=1}^k \frac{1}{n_i}$$standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
InfSet.sInf, Erdos304.unitFractionExpressible1 instances, coercions and auxiliary constants left out.
noncomputable def smallestCollection (a b : ℕ) : ℕ := sInf (unitFractionExpressible a b) …
Mentions: Erdos304.unitFractionExpressible
- lemma
Erdos304.smallestCollection_posin fact(unitFractionExpressible a b).Nonemptyshould always be true, but we do not prove it for now line 97 sourceSource comment
in fact `(unitFractionExpressible a b).Nonempty` should always be true, but we do not prove it for nowstandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Ne,OfNat.ofNat,Set.Nonempty, Erdos304.unitFractionExpressible,LT.lt, Erdos304.smallestCollectionProof uses:
Eq,Membership.mem,Set,Eq.rec,Nat.sInf_mem,False.elim,False,Eq.mp,Eq.trans,Or,congr,congrArg,eq_false,id,Not,or_self,Decidable.byContradiction8 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
lemma smallestCollection_pos {a b : ℕ} (ha : a ≠ 0) (hb : b ≠ 0) (h : (unitFractionExpressible a b).Nonempty) : 0 < smallestCollection a b := by …Mentions: Erdos304.unitFractionExpressible, Erdos304.smallestCollection
- lemma
Erdos304.smallestCollection_left_oneline 106 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat,Eq, Erdos304.smallestCollectionProof uses:
Membership.mem,Set, Erdos304.unitFractionExpressible,Exists.intro,Finset,And,Finset.card,GT.gt,Rat,HDiv.hDiv,Finset.sum,Inv.inv,Singleton.singleton,Eq.mpr,id,Eq.trans,True,congr,congrArg,congrFun'and 19 more35 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos304.eq_one_of_smallestCollection_eq_oneline 114 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, Erdos304.smallestCollection,OfNat.ofNat,Exists,And,LT.lt,Rat,HDiv.hDiv,Inv.invProof uses:
Membership.mem,Set, Erdos304.unitFractionExpressible,Eq.rec,Nat.sInf_mem,Nat.nonempty_of_sInf_eq_succ, Erdos304.eq_inv_of_one_mem_unitFractionExpressible9 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos304.dvd_of_smallestCollection_eq_oneline 120 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, Erdos304.smallestCollection,OfNat.ofNat,Dvd.dvdProof uses:
Membership.mem,Set, Erdos304.unitFractionExpressible,Eq.rec,Nat.sInf_mem,Nat.nonempty_of_sInf_eq_succ, Erdos304.dvd_of_one_mem_unitFractionExpressible4 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos304.smallestCollection_two_fifteenline 126 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, Erdos304.smallestCollection,OfNat.ofNatProof uses:
Membership.mem,Set, Erdos304.unitFractionExpressible,Exists.intro,Finset,And,Finset.card,GT.gt,Rat,HDiv.hDiv,Finset.sum,Inv.inv,Insert.insert,Singleton.singleton,of_eq_true,Eq.trans,True,congr,congrArg,congrFun'and 46 more67 instances, coercions and auxiliary constants left out.
Tactic trace: 12 steps
Open to load the checked before-and-after goal states.
- def
Erdos304.smallestCollectionToWrite $$N(b) = max_{1 \leq a < b} N(a, b)$$ line 139 sourceSource documentation
Write $$N(b) = max_{1 \leq a < b} N(a, b)$$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
SupSet.sSup,Set.ofPred,Exists,And,Membership.mem,Finset,Finset.Ico,OfNat.ofNat,Eq, Erdos304.smallestCollection6 instances, coercions and auxiliary constants left out.
noncomputable def smallestCollectionTo (b : ℕ) : ℕ := …
- theorem
Erdos304.erdos_304.variants.upper_1950In 1950, Erdős [Er50c] proved the upper bound $$N(b) \ll \log b / \log \log b$$ sorry line 147 sourceSource documentation
In 1950, Erdős [Er50c] proved the upper bound $$N(b) \ll \log b / \log \log b$$. [Er50c] Erdős, P., Az ${1}/{x_1} + {1}/{x_2} + \ldots + {1}/{x_n} =A/B$ egyenlet eg'{E}sz sz'{A}m'{u} megold'{A}sairól. Mat. Lapok (1950), 192-210.
depends on sorry what this means
Statement uses:
Asymptotics.IsBigO,Nat,Real,Filter.atTop, Erdos304.smallestCollectionTo,HDiv.hDiv,Real.logProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat15 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_304.variants.upper_1950 : (fun b => (smallestCollectionTo b : ℝ)) =O[atTop] (fun b => Real.log b / Real.log (Real.log b)) := by …Mentions: Erdos304.smallestCollectionTo
- theorem
Erdos304.erdos_304.variants.lower_1950In 1950, Erdős [Er50c] proved the lower bound $$\log \log b \ll N(b)$$ sorry line 157 sourceSource documentation
In 1950, Erdős [Er50c] proved the lower bound $$\log \log b \ll N(b)$$. [Er50c] Erdős, P., Az ${1}/{x_1} + {1}/{x_2} + \ldots + {1}/{x_n} =A/B$ egyenlet eg'{E}sz sz'{A}m'{u} megold'{A}sairól. Mat. Lapok (1950), 192-210.
depends on sorry what this means
Statement uses:
Asymptotics.IsBigO,Nat,Real,Filter.atTop,Real.log, Erdos304.smallestCollectionToProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat9 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_304.variants.lower_1950 : (fun b : ℕ => Real.log (Real.log b)) =O[atTop] (fun b => (smallestCollectionTo b : ℝ)) := by …Mentions: Erdos304.smallestCollectionTo
- theorem
Erdos304.erdos_304.variants.upper_1985In 1985 Vose [Vo85] proved the upper bound $$N(b) \ll \sqrt{\log b}$$ sorry line 167 sourceSource documentation
In 1985 Vose [Vo85] proved the upper bound $$N(b) \ll \sqrt{\log b}$$. [Vo85] Vose, Michael D., Egyptian fractions. Bull. London Math. Soc. (1985), 21-24.
depends on sorry what this means
Statement uses:
Asymptotics.IsBigO,Nat,Real,Filter.atTop, Erdos304.smallestCollectionTo,Real.sqrt,Real.logProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat9 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_304.variants.upper_1985 : (fun b => (smallestCollectionTo b : ℝ)) =O[atTop] (fun b => Real.sqrt (Real.log b)) := by …Mentions: Erdos304.smallestCollectionTo
- theorem
Erdos304.upper_boundIs it true that $$N(b) \ll \log \log b$$? sorry line 176 sourceSource documentation
Is it true that $$N(b) \ll \log \log b$$?
depends on sorry what this means
Statement uses:
Iff,True,Asymptotics.IsBigO,Nat,Real,Filter.atTop, Erdos304.smallestCollectionTo,Real.logProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat9 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem upper_bound : answer(sorry) ↔ (fun b : ℕ => (smallestCollectionTo b : ℝ)) =O[atTop] (fun b : ℕ => Real.log (Real.log b)) := by …Mentions: Erdos304.smallestCollectionTo