APNOutputs/ErdosProblems/erdos_125.variants.positive_lower_density.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: Google DeepMind published the AlphaProof Nexus proof artifacts. The pinned repository identifies the mathematical sources and collaborators, including OEIS, Erdős Problems, Gergely Bérczi, and Mario Krenn; those source records remain the authority for individual credit.
Project sources: Pinned AlphaProof Nexus results documentation, AlphaProof Nexus paper, Pinned human-written natural-language proof companions
19 declarations, 0 contain sorry, 0 declared as axioms
Imports (1)
FormalConjectures.Util.ProblemImports
- lemma
Erdos125.zero_in_AZero belongs to the base-3 digit set line 91 sourceL4DEL explanation
The natural number
0belongs toAbecause its base-3 expansion contains no digit outside{0,1}.- This supplies the additive identity used to place zero in the sumset.
Sources and attribution: Pinned Lean source (0647711a7118)
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Membership.mem,Nat,Set,setOf,HasSubset.Subset,Finset,List.toFinset,Nat.digits,OfNat.ofNat,Insert.insert,Singleton.singletonProof uses:
of_eq_true,Eq.trans,True,List.nil,congrArg,List,Nat.digits_zero,eq_true,True.intro12 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma zero_in_A : 0 ∈ A := by …
- lemma
Erdos125.zero_in_BZero belongs to the base-4 digit set line 94 sourceL4DEL explanation
The natural number
0belongs toBbecause its base-4 expansion contains no digit outside{0,1}.- Together with
zero_in_A, this gives a concrete representation of zero inA+B.
Sources and attribution: Pinned Lean source (0647711a7118)
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Membership.mem,Nat,Set,setOf,HasSubset.Subset,Finset,List.toFinset,Nat.digits,OfNat.ofNat,Insert.insert,Singleton.singletonProof uses:
of_eq_true,Eq.trans,True,List.nil,congrArg,List,Nat.digits_zero,eq_true,True.intro12 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma zero_in_B : 0 ∈ B := by …
- Together with
- lemma
Erdos125.zero_in_A_plus_BThe sumset contains zero line 97 sourceL4DEL explanation
Since
0∈Aand0∈B, the equality0=0+0witnesses0∈A+B.- This fact is used when the final lower-density argument needs a nonempty filtered interval.
Sources and attribution: Pinned Lean source (0647711a7118)
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Membership.mem,Nat,Set,HAdd.hAdd,setOf,HasSubset.Subset,Finset,List.toFinset,Nat.digits,OfNat.ofNat,Insert.insert,Singleton.singletonProof uses: Erdos125.zero_in_A, Erdos125.zero_in_B,
Exists.intro,And,Exists,Eq,And.intro,Eq.refl17 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma zero_in_A_plus_B : 0 ∈ A + B := by …
- lemma
Erdos125.A_max_kThe largest k-digit base-3 number using only zero and one line 102 sourceL4DEL explanation
the maximum possible value for abot is the integer consisting of k ones in base 3
If
x∈Aandx<3^k, thenx≤(3^k-1)/2, the number whose firstkbase-3 digits are all one.- The geometric sum
1+3+⋯+3^(k-1)equals(3^k-1)/2. - The proof inducts over digit positions and uses membership in
Ato exclude a base-3 digit equal to two.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written proof companion for Erdős 125
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,HPow.hPow,OfNat.ofNat,Membership.mem,Set,setOf,HasSubset.Subset,Finset,List.toFinset,Nat.digits,Insert.insert,Singleton.singleton,LE.le,HDiv.hDiv,HSub.hSubProof uses:
Eq.mpr,Finset.sum,Finset.range,id,Eq,congrArg,Eq.trans,HMul.hMul,HAdd.hAdd,Mathlib.Meta.NormNum.isNat_le_true,Mathlib.Meta.NormNum.isNat_ofNat,Nat.cast_one,Eq.refl,Mathlib.Meta.NormNum.instAtLeastTwo,Bool,Bool.true,Mathlib.Meta.NormNum.IsNat.to_eq,Mathlib.Meta.NormNum.isNat_natSub,mul_div_cancel_right₀,Mathlib.Meta.NormNum.isNat_eq_falseand 42 more125 instances, coercions and auxiliary constants left out.
Tactic trace: 11 steps
Open to load the checked before-and-after goal states.
lemma A_max_k (k x : ℕ) (hx : x < 3^k) (hA : x ∈ A) : x ≤ (3^k - 1) / 2 := by …
- The geometric sum
- lemma
Erdos125.B_max_mThe largest m-digit base-4 number using only zero and one line 107 sourceL4DEL explanation
yielding the analogous bound
If
y∈Bandy<4^m, theny≤(4^m-1)/3, the number whose firstmbase-4 digits are all one.- The geometric sum
1+4+⋯+4^(m-1)equals(4^m-1)/3. - The digit restriction eliminates residues two and three at every base-4 position.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written proof companion for Erdős 125
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,HPow.hPow,OfNat.ofNat,Membership.mem,Set,setOf,HasSubset.Subset,Finset,List.toFinset,Nat.digits,Insert.insert,Singleton.singleton,LE.le,HDiv.hDiv,HSub.hSubProof uses:
Iff.mpr,HMul.hMul,Nat.le_div_iff_mul_le,of_decide_eq_true,id,Eq,Bool,Decidable.decide,Bool.true,Eq.refl,Nat.le_pred_of_lt,Nat.sub,Nat.rec,of_eq_true,Eq.trans,True,forall_congr,implies_congr,congrArg,pow_zeroand 45 more110 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
lemma B_max_m (m y : ℕ) (hy : y < 4^m) (hB : y ∈ B) : y ≤ (4^m - 1) / 3 := by …
- The geometric sum
- lemma
Erdos125.A_B_gapA common digit-scale gap in the sumset line 112 sourceL4DEL explanation
If
xis below both3^kand4^mbut exceeds(3^k-1)/2+(4^m-1)/3, thenx∉A+B.- Any representation
x=a+bforcesa<3^kandb<4^m;A_max_kandB_max_mthen make their sum too small. - This lemma isolates the gap mechanism, while the stronger density proof below tracks top digits as well as the gap.
Sources and attribution: Pinned Lean source (0647711a7118)
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,HAdd.hAdd,HDiv.hDiv,HSub.hSub,HPow.hPow,OfNat.ofNat,Not,Membership.mem,Set,setOf,HasSubset.Subset,Finset,List.toFinset,Nat.digits,Insert.insert,Singleton.singletonProof uses:
And,Exists,Eq,False,Iff.mp,Set.mem_add,Or,LE.le,Decidable.byContradiction, Erdos125.A_max_k, Erdos125.B_max_m46 instances, coercions and auxiliary constants left out.
Tactic trace: 17 steps
Open to load the checked before-and-after goal states.
lemma A_B_gap (k m x : ℕ) (hx_gt : (3^k - 1) / 2 + (4^m - 1) / 3 < x) (hx_lt_A : x < 3^k) (hx_lt_B : x < 4^m) : x ∉ A + B := by …
- Any representation
- lemma
Erdos125.A_decompSplit a base-3 digit string into top and bottom blocks line 125 sourceL4DEL explanation
we can decompose it at the k-th digit into a top and bottom part
Every
a∈Acan be writtena=a1*3^k+a0, where botha1anda0remain inAanda0<3^k.- Choose
a1=a/3^kanda0=a mod 3^k. - Division discards the first
kdigits and remainder keeps exactly those digits, so neither operation introduces a digit outside{0,1}.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written proof companion for Erdős 125
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Membership.mem,Set,setOf,HasSubset.Subset,Finset,List.toFinset,Nat.digits,OfNat.ofNat,Insert.insert,Singleton.singleton,Exists,And,LT.lt,HPow.hPow,Eq,HAdd.hAdd,HMul.hMulProof uses:
Exists.intro,HDiv.hDiv,HMod.hMod,Nat.rec,Eq.rec,Eq.symm,Nat.div_one,Nat.casesAuxOn,GT.gt,Or,Nat.eq_zero_or_pos,Or.inl,of_eq_true,Eq.trans,True,implies_congr_ctx,List.nil,congrArg,List,Nat.digits_zeroand 75 more134 instances, coercions and auxiliary constants left out.
Tactic trace: 28 steps
Open to load the checked before-and-after goal states.
lemma A_decomp (k a : ℕ) (ha : a ∈ A) : ∃ a1 a0 : ℕ, a1 ∈ A ∧ a0 ∈ A ∧ a0 < 3^k ∧ a = a1 * 3^k + a0 := by …
- Choose
- lemma
Erdos125.B_decompSplit a base-4 digit string into top and bottom blocks line 136 sourceL4DEL explanation
applying the exact same logic to any b ∈ B at scale m
Every
b∈Bcan be writtenb=b1*4^m+b0, where both pieces remain inBandb0<4^m.- The quotient
b/4^mretains the top digits and the remainderb mod 4^mretains the bottommdigits. - Because the original digits are only zero or one, both resulting digit strings satisfy the same restriction.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written proof companion for Erdős 125
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Membership.mem,Set,setOf,HasSubset.Subset,Finset,List.toFinset,Nat.digits,OfNat.ofNat,Insert.insert,Singleton.singleton,Exists,And,LT.lt,HPow.hPow,Eq,HAdd.hAdd,HMul.hMulProof uses:
Exists.intro,HDiv.hDiv,HMod.hMod,Nat.rec,Eq.rec,Eq.symm,Nat.div_one,Nat.casesAuxOn,of_eq_true,Eq.trans,True,implies_congr_ctx,List.nil,congrArg,List,Nat.digits_zero,Nat.zero_div,Eq.refl,Or,List.consand 77 more143 instances, coercions and auxiliary constants left out.
Tactic trace: 42 steps
Open to load the checked before-and-after goal states.
lemma B_decomp (m b : ℕ) (hb : b ∈ B) : ∃ b1 b0 : ℕ, b1 ∈ B ∧ b0 ∈ B ∧ b0 < 4^m ∧ b = b1 * 4^m + b0 := by …
- The quotient
- lemma
Erdos125.log_ratio_irrationalThe logarithms of four and three have irrational ratio line 152 sourceL4DEL explanation
log 4 / log 3is irrational; otherwise a rational relation would force a nontrivial equality between a power of three and a power of four.- Clearing a hypothetical rational denominator and exponentiating gives
3^u=4^vfor positive integers. - The left side is odd and the right side is even, so the equality is impossible.
Sources and attribution: Pinned Lean source (0647711a7118)
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Irrational,HDiv.hDiv,Real,Real.log,OfNat.ofNat,NatProof uses:
Membership.mem,Set,Set.range,Rat,Exists.elim,Eq,False,Iff.mpr,Ne,HMul.hMul,Iff.ne,eq_div_iff,of_eq_true,Not,Eq.trans,True,congrArg,Or,Neg.neg,congrand 64 more135 instances, coercions and auxiliary constants left out.
Tactic trace: 11 steps
Open to load the checked before-and-after goal states.
lemma log_ratio_irrational : Irrational (Real.log 4 / Real.log 3) := by use(·.elim fun and x =>(eq_div_iff (by norm_num)).ne.2 (and.num_div_den▸ne_of_eq_of_ne (by rw [Rat.cast_div,div_mul_eq_mul_div]) ((div_eq_iff (by norm_num)).ne.2 fun and=>?_)) x) …
- Clearing a hypothetical rational denominator and exponentiating gives
- lemma
Erdos125.exists_small_pos_lin_comb_helpA positive irrational has arbitrarily small positive integer linear combinations line 157 sourceL4DEL explanation
For positive irrational
αand everyδ>0, there are positive naturalsm,kwith0<m*α-k<δ.- The proof starts from infinitely many rational approximations to
αand handles approximants on either side so the final error is positive. - Scaling or reflecting a sufficiently accurate approximation produces the required positive integer pair.
Sources and attribution: Pinned Lean source (0647711a7118)
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,Irrational,LT.lt,OfNat.ofNat,Exists,Nat,And,HSub.hSub,HMul.hMulProof uses:
Set.Infinite,Rat,setOf,abs,HDiv.hDiv,HPow.hPow,Rat.den,Real.infinite_rat_abs_sub_lt_one_div_den_sq_of_irrational,Eq.mpr,Eq.refl,by_contradiction,Not,Function.comp,GE.ge,Min.min,Set.Finite,False,Exists.elim,Filter.Eventually.exists_forall_of_atTop,Filter.Tendsto.eventually_lt_constand 265 more319 instances, coercions and auxiliary constants left out.
Tactic trace: 64 steps
Open to load the checked before-and-after goal states.
lemma exists_small_pos_lin_comb_help (α : ℝ) (hα : Irrational α) (hα_pos : 0 < α) (δ : ℝ) (hδ : 0 < δ) : ∃ m k : ℕ, 0 < m ∧ 0 < k ∧ 0 < (m : ℝ) * α - (k : ℝ) ∧ (m : ℝ) * α - (k : ℝ) < δ := by …
- The proof starts from infinitely many rational approximations to
- lemma
Erdos125.exists_small_pos_lin_combMake m log 4 minus k log 3 positive and arbitrarily small line 187 sourceL4DEL explanation
Because the ratio of logarithms ln(4)/ ln(3) is irrational
For every
δ>0, positive naturalsm,ksatisfy0<m*log 4-k*log 3<δ.- Apply
exists_small_pos_lin_comb_helptoα=log 4/log 3, then multiply through by the positive numberlog 3.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written proof companion for Erdős 125
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,LT.lt,OfNat.ofNat,Exists,Nat,And,HSub.hSub,HMul.hMul,Real.logProof uses:
Irrational,HDiv.hDiv, Erdos125.log_ratio_irrational,div_pos,Mathlib.Meta.Positivity.log_pos_of_isNat,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Meta.NormNum.instAtLeastTwo,Bool,Bool.true, Erdos125.exists_small_pos_lin_comb_help,id,Eq.mp,congrArg,funext,congr,Eq.trans,mul_div,div_sub',ne_of_gtand 1 more82 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
lemma exists_small_pos_lin_comb (δ : ℝ) (hδ : 0 < δ) : ∃ m k : ℕ, 0 < m ∧ 0 < k ∧ 0 < (m : ℝ) * Real.log 4 - (k : ℝ) * Real.log 3 ∧ (m : ℝ) * Real.log 4 - (k : ℝ) * Real.log 3 < δ := by …
- Apply
- lemma
Erdos125.exists_small_pos_lin_comb_large_kObtain the logarithmic approximation beyond any requested scale line 196 sourceL4DEL explanation
The exponents in the small positive logarithmic combination can also be chosen so that
3^kexceeds any real thresholdK.- Choose a positive multiplier
Nwith3^N≥K, find an error belowδ/N, and multiply both exponents byN. - Scaling preserves positivity, keeps the total error below
δ, and makes the base-3 power large enough.
Sources and attribution: Pinned Lean source (0647711a7118)
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,LT.lt,OfNat.ofNat,Exists,Nat,And,LE.le,HPow.hPow,HSub.hSub,HMul.hMul,Real.logProof uses:
Exists.intro,Nat.succ,Nat.ceil,And.intro,Nat.succ_pos,le_of_lt,cast,Eq.symm,congrArg,Nat.lt_of_ceil_lt,LT.lt.le,Nat.lt_pow_self,of_decide_eq_true,id,Eq,Bool,Decidable.decide,Bool.true,Eq.refl,HDiv.hDivand 21 more122 instances, coercions and auxiliary constants left out.
Tactic trace: 21 steps
Open to load the checked before-and-after goal states.
lemma exists_small_pos_lin_comb_large_k (δ : ℝ) (hδ : 0 < δ) (K : ℝ) : ∃ m k : ℕ, 0 < m ∧ 0 < k ∧ K ≤ (3^k : ℝ) ∧ 0 < (m : ℝ) * Real.log 4 - (k : ℝ) * Real.log 3 ∧ (m : ℝ) * Real.log 4 - (k : ℝ) * Real.log 3 < δ := by …
Mentions: K
- Choose a positive multiplier
- lemma
Erdos125.dirichlet_approxChoose nearby powers of three and four at a large scale line 211 sourceL4DEL explanation
Dirichlet’s Approximation Theorem guarantees that we can find arbitrarily large integers k and m
For every
ε>0, positivek,mcan be chosen with3^k≤4^m≤3^k*(1+ε)and3^k*ε≥3.- Make
m*log 4-k*log 3lie between zero andlog(1+ε), then exponentiate both inequalities. - The large-scale refinement ensures the additive error budget used in the counting step is at least three.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written proof companion for Erdős 125
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,LT.lt,OfNat.ofNat,Exists,Nat,And,LE.le,HPow.hPow,HMul.hMul,HAdd.hAdd,GE.geProof uses:
Real.log,Real.log_pos,lt_of_not_ge,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,HSub.hSub,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.add_congr,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Int.rawCast,Int.negOfNat,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.cast_zero,Mathlib.Meta.NormNum.isNat_ofNat,Nat.cast_zero,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.sub_pf,Mathlib.Tactic.Ring.neg_addand 56 more129 instances, coercions and auxiliary constants left out.
Tactic trace: 25 steps
Open to load the checked before-and-after goal states.
lemma dirichlet_approx (ε : ℝ) (hε : 0 < ε) : ∃ k m : ℕ, 0 < k ∧ 0 < m ∧ (3^k : ℝ) ≤ 4^m ∧ (4^m : ℝ) ≤ (3^k : ℝ) * (1 + ε) ∧ (3^k : ℝ) * ε ≥ 3 := by …
- Make
- lemma
Erdos125.hz_eq_lemmaRewrite a sum using the smaller common scale line 225 sourceL4DEL explanation
When
3^k≤4^m, decompositions ofaandbgivex=(a1+b1)*3^k+z, withz=a0+b0+b1*(4^m-3^k).- Replace
4^mby3^k+(4^m-3^k)and collect the two top-digit terms multiplying3^k. - The remainder records both bottom digit blocks and the small mismatch between the nearby powers.
Sources and attribution: Pinned Lean source (0647711a7118)
standard axioms: Quot.sound, propext what this means
Statement uses:
Nat,LE.le,HPow.hPow,OfNat.ofNat,Eq,HAdd.hAdd,HMul.hMul,HSub.hSubProof uses:
Decidable.byContradiction,Not,Trans.trans,congrArg,Nat.mul_add,Nat.add_mul26 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
lemma hz_eq_lemma (x a b a1 a0 b1 b0 k m : ℕ) (h1 : 3^k ≤ 4^m) (h3 : x = a + b) (h4 : a = a1 * 3^k + a0) (h5 : b = b1 * 4^m + b0) : x = (a1 + b1) * 3^k + (a0 + b0 + b1 * (4^m - 3^k)) := by …
- Replace
- lemma
Erdos125.scale_stepReduce density by a fixed factor at a larger scale line 236 sourceL4DEL explanation
the density up to M · N0 is less than or equal to the density up to N0
We want to go from density <δ at scale N to density <cδ at some bigger scale MN
If the count below
Nis at mostC*N, then at a suitable scaleN'=N*3^kthe count is at most(11/12)*C*N'.- Choose
3^kand4^mwithin relative errorε≤1/(24N)and split every sum belowN*3^kinto a top sumy<Nand a bounded remainderz. - The top coordinate has at most
C*Nchoices; digit maxima and the power mismatch give fewer than3^k*(5/6+2εN)remainder choices. - Since
5/6+2εN≤11/12, multiplying the two coordinate counts produces the uniform density contraction.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written proof companion for Erdős 125, GTSoukalas, Erdős Problems 125 discussion, 30 March 2026
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat,Real,LE.le,Finset.card,Finset.filter,Membership.mem,Set,HAdd.hAdd,setOf,HasSubset.Subset,Finset,List.toFinset,Nat.digits,Insert.insert,Singleton.singleton,Finset.Ico,HMul.hMul,Existsand 3 moreProof uses:
Exists.intro,And.intro,div_pos,Mathlib.Meta.Positivity.pos_of_isNat,Mathlib.Meta.NormNum.isNat_ofNat,Nat.cast_one,Eq.refl,Bool,Nat.ble,mul_pos,Mathlib.Meta.NormNum.instAtLeastTwo,Iff.mpr,Nat.cast_pos',le_rfl,HPow.hPow,GE.ge, Erdos125.dirichlet_approx,pow_pos,Eq,Iff.mpand 220 more222 instances, coercions and auxiliary constants left out.
Tactic trace: 90 steps
Open to load the checked before-and-after goal states.
lemma scale_step (N : ℕ) (hN : 0 < N) (C : ℝ) (hC : (((Finset.Ico 0 N).filter (· ∈ A + B)).card : ℝ) ≤ C * (N : ℝ)) : ∃ N' > 0, (((Finset.Ico 0 N').filter (· ∈ A + B)).card : ℝ) ≤ (11/12 : ℝ) * C * (N' : ℝ) := by …
- Choose
- lemma
Erdos125.density_multi_scaleIterate the contraction through arbitrarily many scales line 301 sourceL4DEL explanation
After r iterations, the density of the set up to the scale Nr is bounded by (0.99)r
After
dscale steps, some positive cutoffNhas normalized count at most(11/12)^d.- The base case uses
N=1; the successor case feeds the current bound intoscale_step. - The new factor multiplies the previous geometric bound, yielding the next power of
11/12.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written proof companion for Erdős 125
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Exists,And,GT.gt,OfNat.ofNat,LE.le,Real,Finset.card,Finset.filter,Membership.mem,Set,HAdd.hAdd,setOf,HasSubset.Subset,Finset,List.toFinset,Nat.digits,Insert.insert,Singleton.singleton,Finset.Icoand 3 moreProof uses:
Nat.recAux,Exists.intro,And.intro,Mathlib.Meta.NormNum.isNat_lt_true,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Bool,Bool.false,Eq.mpr,id,Eq,congrArg,Eq.trans,pow_zero,one_mul,Finset.card_filter_le,rfl,Nat.cast_one,Eq.mp, Erdos125.scale_step and 83 more138 instances, coercions and auxiliary constants left out.
Tactic trace: 27 steps
Open to load the checked before-and-after goal states.
lemma density_multi_scale (d : ℕ) : ∃ N > 0, (((Finset.Ico 0 N).filter (· ∈ A + B)).card : ℝ) ≤ ((11/12 : ℝ)^d) * (N : ℝ) := by …
- The base case uses
- lemma
Erdos125.limit_11_12Powers of eleven twelfths fall below every positive threshold line 328 sourceL4DEL explanation
For every
ε>0, some natural exponentdsatisfies(11/12)^d≤ε.- This is geometric decay for a real base strictly between zero and one.
Sources and attribution: Pinned Lean source (0647711a7118)
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,GT.gt,OfNat.ofNat,Exists,Nat,LE.le,HPow.hPow,HDiv.hDivProof uses:
Exists.imp,LT.lt,le_of_lt,exists_pow_lt_of_lt_one,Mathlib.Meta.NormNum.isNNRat_lt_true,Mathlib.Meta.NormNum.isNNRat_div,Mathlib.Meta.NormNum.isNNRat_mul,HMul.hMul,Inv.inv,Eq.refl,Mathlib.Meta.NormNum.IsNat.to_isNNRat,Mathlib.Meta.NormNum.isNat_ofNat,Mathlib.Meta.NormNum.instAtLeastTwo,Mathlib.Meta.NormNum.isNNRat_inv_pos,Nat.mul,Nat.cast_one,Bool,Bool.true75 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma limit_11_12 (ε : ℝ) (hε : ε > 0) : ∃ d : ℕ, (11/12 : ℝ)^d ≤ ε := by …
- lemma
Erdos125.density_tends_to_zeroFind a cutoff with density below any positive epsilon line 331 sourceL4DEL explanation
proving that the lower density of A + B is 0
For every
ε>0, there is a positiveNwith|(A+B)∩[0,N)|≤εN.- Choose
dso(11/12)^d≤ε, then use the cutoff supplied bydensity_multi_scale d. - This is the quantified subsequence estimate needed to force the lower density to zero.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written proof companion for Erdős 125
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,GT.gt,OfNat.ofNat,Exists,Nat,And,LE.le,Finset.card,Finset.filter,Membership.mem,Set,HAdd.hAdd,setOf,HasSubset.Subset,Finset,List.toFinset,Nat.digits,Insert.insert,Singleton.singleton,Finset.Icoand 1 moreProof uses:
HPow.hPow,HDiv.hDiv, Erdos125.limit_11_12, Erdos125.density_multi_scale,Exists.intro,And.intro,LE.le.trans,mul_le_mul_of_nonneg_right,Nat.cast_nonneg58 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
lemma density_tends_to_zero (ε : ℝ) (hε : ε > 0) : ∃ N > 0, (((Finset.Ico 0 N).filter (· ∈ A + B)).card : ℝ) ≤ ε * (N : ℝ) := by …
- Choose
- theorem
Erdos125.target_theorem_0Erdős problem 125: the base-3 plus base-4 digit sumset has zero lower density line 342 sourceL4DEL explanation
We show that the answer is no, the lower density is zero.
have positive density? positive upper density? For example, what about set {3, 4}?
I was surprised to discover that the lower asymptotic density is zero
Let
Acontain the nonnegative integers using only digits 0 and 1 in base 3, andBthe analogous set in base 4. Their sumset does not have positive lower density: along suitable scales its proportion can be made arbitrarily small.- Split base-3 and base-4 expansions into top and bottom digit blocks at independently chosen scales.
- Irrationality of
log 4/log 3supplies arbitrarily close powers3^kand4^m, so the number of possible remainders grows by a factor strictly below the ambient scale. - The Lean proof uses the explicit contraction
11/12rather than the companion's expository0.99; either fixed factor below one yields geometric decay. density_tends_to_zerois converted to(A+B).lowerDensity=0, making both sides ofanswer(False) ↔ 0<lowerDensityfalse.- Historical provenance: Burr, Erdős, Graham, and Li asked the density question in 1996. The current Erdős Problems record explains why the formal target adopts the lower-density interpretation.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written proof companion for Erdős 125, Erdős Problems 125 source record, Burr, Erdős, Graham, and Li (1996), p. 137, Erdős Problems 125 discussion (Giuseppe Melfi and contributors)
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Iff,False,LT.lt,Real,OfNat.ofNat,Set.lowerDensity,Nat,HAdd.hAdd,Set,setOf,HasSubset.Subset,Finset,List.toFinset,Nat.digits,Insert.insert,Singleton.singleton,Set.univProof uses:
GT.gt,Exists,And,LE.le,Finset.card,Finset.filter,Membership.mem,Finset.Ico,HMul.hMul, Erdos125.density_tends_to_zero,Eq,id,Eq.mpr,Filter.liminf,Set.partialDensity,Filter.atTop,SupSet.sSup,Nat.digitsAux,congrArg,Filter.Eventuallyand 131 more171 instances, coercions and auxiliary constants left out.
Tactic trace: 33 steps
Open to load the checked before-and-after goal states.
theorem target_theorem_0 : answer( -- EVOLVE-VALUE-START False -- EVOLVE-VALUE-END ) ↔ 0 < (A + B).lowerDensity := by …