FormalConjectures/ErdosProblems/170.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
9 declarations, 2 contain sorry, 0 declared as axioms
Erdős Problem 170
Reference: erdosproblems.com/170
Imports (1)
Imported by 1 file
- def
Erdos170.PerfectRulerDocumented declaration: PerfectRuler line 36 sourceSource documentation
An $N$-perfect ruler is a finite subset $A \subseteq \mathbb{N}$ (the marks), such that each positive integer $k \leq N$ can be measured, that is, expressed as a difference $k = a_1 - a_0$ with $a_0, a_1 \in A$. The set $A$ is then also called a difference basis w.r.t. $N$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,FinsetProof uses:
Membership.mem,Finset.range,HAdd.hAdd,OfNat.ofNat,Exists,And,Eq,HSub.hSub7 instances, coercions and auxiliary constants left out.
def PerfectRuler (N : ℕ) (A : Finset ℕ) : Prop := …
- def
Erdos170.PerfectRulersLengthNWe define the set of all $N$-perfect rulers $A$ of length $N$, i.e. subsets $A \subseteq \{0, \dots, N\}$, s.t line 42 sourceSource documentation
We define the set of all $N$-perfect rulers $A$ of length $N$, i.e. subsets $A \subseteq \{0, \dots, N\}$, s.t. $A$ is $N$-perfect. This is also called a restricted difference basis w.r.t. $N$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,FinsetProof uses:
Finset.filter, Erdos170.PerfectRuler,Finset.range,HAdd.hAdd,OfNat.ofNat,Membership.mem,Exists,And,Eq,HSub.hSub,Finset.powerset10 instances, coercions and auxiliary constants left out.
def PerfectRulersLengthN (N : ℕ) : Finset (Finset ℕ) := (Finset.range (N + 1)).powerset.filter (PerfectRuler N)Mentions: Erdos170.PerfectRuler
- abbrev
Erdos170.TrivialRulerThe trivial ruler with all marks $\{0, \dots, N\}$ line 46 sourceSource documentation
The trivial ruler with all marks $\{0, \dots, N\}$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,FinsetProof uses:
Finset.range,HAdd.hAdd,OfNat.ofNat3 instances, coercions and auxiliary constants left out.
abbrev TrivialRuler (N : ℕ) : Finset ℕ := Finset.range (N+1) …
- lemma
Erdos170.trivial_ruler_is_perfectSanity Check: the trivial ruler is actually a perfect ruler if $K \geq N$ line 50 sourceSource documentation
Sanity Check: the trivial ruler is actually a perfect ruler if $K \geq N$
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Membership.mem,Finset, Erdos170.PerfectRulersLengthN, Erdos170.TrivialRulerProof uses:
Eq.mpr,And,LT.lt,HAdd.hAdd,OfNat.ofNat,Finset.range, Erdos170.PerfectRuler,id,Eq,Eq.trans,Finset.filter,Exists,HSub.hSub,Finset.powerset,congrFun',congrArg,LE.le,And.intro,of_eq_true,Trueand 5 more61 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
lemma trivial_ruler_is_perfect (N : ℕ) : TrivialRuler N ∈ PerfectRulersLengthN N := by …
Mentions: Erdos170.TrivialRuler, Erdos170.PerfectRulersLengthN
- def
Erdos170.FWe define a functionF Nas the minimum cardinality of anN-perfect ruler of lengthNline 55 sourceSource documentation
We define a function
F Nas the minimum cardinality of anN-perfect ruler of lengthN.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
Finset.min',Finset.image,Finset,Finset.card, Erdos170.PerfectRulersLengthN3 instances, coercions and auxiliary constants left out.
def F (N : ℕ) : ℕ := …
- lemma
Erdos170.erdos170The problem is to determine the limit of the sequence $\frac{F(N)}{\sqrt{N}}$ as $N \to \infty$ sorry line 61 sourceSource documentation
The problem is to determine the limit of the sequence $\frac{F(N)}{\sqrt{N}}$ as $N \to \infty$.
depends on sorry what this means
Statement uses:
Filter.Tendsto,Nat,Real,HDiv.hDiv, Erdos170.F,Real.sqrt,Filter.atTop,nhds,sorryAx,Bool.falseProof uses:
Lean.Name,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat19 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma erdos170 : Filter.Tendsto (fun N => F N / √N) Filter.atTop (𝓝 answer(sorry)) := by sorry
Mentions: Erdos170.F
- abbrev
Erdos170.lower_boundA known lower bound to the limit by Leech [Le56], which is $1.56\dots$ line 64 sourceSource documentation
A known lower bound to the limit by Leech [Le56], which is $1.56\dots$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
RealProof uses:
Real.sqrt,SupSet.sSup,Set.ofPred,Exists,And,Ne,OfNat.ofNat,Eq,HMul.hMul,HSub.hSub,HDiv.hDiv,Real.sin15 instances, coercions and auxiliary constants left out.
noncomputable abbrev lower_bound := √(sSup {2 * (1 - Real.sin θ / θ) | θ ≠ 0}) - abbrev
Erdos170.upper_boundA known upper bound obtained by constructing Wichmann's Rulers [Wi63] line 66 sourceSource documentation
A known upper bound obtained by constructing Wichmann's Rulers [Wi63].
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
RealProof uses:
Real.sqrt,OfNat.ofNat3 instances, coercions and auxiliary constants left out.
noncomputable abbrev upper_bound := √3 …
- lemma
Erdos170.erdos170.existing_boundsThe existence of the limit has been proved by Erdős and Gál [ErGa48] sorry line 72 sourceSource documentation
The existence of the limit has been proved by Erdős and Gál [ErGa48]. The lower bound has been proven by Leech [Le56], who refined an argument of Rédei and Rényi. The upper bound is due to Wichmann [Wi63].
depends on sorry what this means
Statement uses:
Exists,Real,And,Membership.mem,Set,Set.Icc, Erdos170.lower_bound, Erdos170.upper_bound,Filter.Tendsto,Nat,HDiv.hDiv, Erdos170.F,Real.sqrt,Filter.atTop,nhdsProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat23 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma erdos170.existing_bounds : ∃ x ∈ Set.Icc lower_bound upper_bound, Filter.Tendsto (fun N => F N / √N) Filter.atTop (𝓝 x) := by sorry …Mentions: Erdos170.lower_bound, Erdos170.upper_bound, Erdos170.F