Erdős Problem #489
Erdős ProblemThe problem
Let be a set such that . LetIf then is it true thatexists (and is finite)?
(Erdős Problem #489 — number theory — https://www.erdosproblems.com/489)
Result
Yes. For every A ⊆ ℕ with |A ∩ [1,x]| = o(√x), whenever the positive integers divisible by no member of A form an infinite set B = {b₁ < b₂ < ⋯}, the quantity x⁻¹ Σ_{bᵢ<x}(bᵢ₊₁-bᵢ)² converges to a finite real limit.
/-- A positive answer to Erdős Problem 489. -/
theorem erdos489_statement :
∀ A : Set ℕ,
(fun x : ℕ => (((Finset.Icc 1 x).filter (· ∈ A)).card : ℝ))
=o[atTop] (fun x : ℕ => Real.sqrt (x : ℝ)) →
(sievedSet A).Infinite →
∃ L : ℝ,
Tendsto (fun x : ℕ => gapSumSq A x / (x : ℝ)) atTop (𝓝 L)Independent referee
The agent claims a kernel-checked positive answer to Erdős Problem 489: for every A⊆ℕ with |A∩[1,x]|=o(√x) whose sifted set B is infinite (the problem's presupposed enumeration), the normalized squared-gap sum (1/x)Σ_{b_i<x}(b_{i+1}−b_i)² converges to a finite real limit. I audited the formal statement token-by-token against problem.md (definitions sievedSet/gapSumSq elaborate exactly to the problem's B and gap sum; the natural-x cutoff and the infinitude hypothesis are genuinely equivalent reformulations, not weakenings), then independently rebuilt the entire 62-module artifact from source after deleting its build cache — Lean v4.31.0, Mathlib pinned to clean upstream commit fabf563 — and the build succeeded with exit 0. My own axiom audit (#print axioms) shows the theorem depends only on propext, Classical.choice, and Quot.sound; grep confirms zero sorry/admit/native_decide/axiom tokens and no notation/macro/name-shadowing tricks anywhere in the sources, and the 61-entry verified_math ledger is internally consistent with the proof strategy (uniform squared-gap integrability via divisor-witness charging plus periodic finite-sieve approximation, with finite A handled by shifted periodicity).
Report
A Positive Answer to Erdős Problem 489
The problem—and the hidden difficulty
Let be extremely sparse,
and let be the positive integers divisible by no member of . Erdős asked whether
always has a finite limit.
At first sight this resembles a routine finite-sieve approximation. Any sieve using only finitely many forbidden divisors is periodic, so its gap statistics have exact limiting averages. Sparse also forces the reciprocals of its increasing enumeration to be summable. Neither observation is enough: the expression is a second moment, and a tiny amount of mass can escape to increasingly long gaps. Pointwise convergence of every fixed gap-length contribution does not justify exchanging a limit with the infinite sum.
That uniform-integrability obstruction is the real content of the problem.
Where the natural approaches stalled
Several plausible routes fail at exactly this boundary.
- Take larger finite periodic sieves and pass to the limit. This controls every bounded gap pattern, but not the squared mass of gaps whose lengths grow with the cutoff. We formalized an abstract escaping-mass counterexample to this limit-exchange step.
- Sum shifted CRT estimates term by term. Counting one congruence class costs a harmless endpoint error, but paying that error independently for every divisor pair and every shift produces a divergent rank error.
- Use a stronger reciprocal moment. A direct incidence argument works under an extra hypothesis such as , where is the forbidden enumeration. That misses the sharp regime allowed by , including the logarithmic boundary models that make the problem difficult.
- Rely only on a maximum-gap estimate. Thinness does prevent gaps comparable with the whole prefix eventually, but this alone gives no summable control of the collective squared tail.
The successful proof therefore needed two ingredients at once: a global charge for long gaps that does not accumulate CRT endpoint errors, and a separate finite-word argument for bounded gaps.
The breakthrough: charge primitive coprime witness pairs
Write the infinite forbidden set increasingly as . Thinness gives three crucial consequences:
- eventually ;
- ;
- the rank-pair kernel
is summable, with uniformly small high-rank tails.
The task is to make every long actual gap pay into this kernel.
A Mertens-free affine sieve
Inside a long covered gap, we look only at positions
where for a suitably chosen roughness threshold . This coordinate change has two decisive effects.
- Any forbidden modulus sharing a prime factor with is automatically unable to divide such an .
- For the remaining moduli, affine finite-sieve density is the same periodic product density as in the ordinary sieve.
Thus no Mertens estimate is needed. The loss of density contributes a factor , while the bad-pair estimate below gains exactly ; those powers cancel after squaring the candidate density.
A uniform interval-density lemma supplies linearly many affine candidates in every sufficiently long gap. Because the reciprocal mass of remote forbidden ranks is small, a divisor-label counting inequality
forces linearly many distinct high-rank divisor witnesses.
Quadratically many coprime pairs
Among affine positions, pairs with a common prime divisor are rare. A common prime forces their difference to be divisible by , so each prime fiber is widely spaced. Summing the exact fiber bounds shows that the linearly many witnesses contain quadratically many ordered pairs of coprime positions. Quantitatively, each long gap of length receives enough pairs to pay for with one fixed constant.
Coprimality is the key structural move. If positions labelled by are written as
then coprimality of makes the quotient vector primitive. Repeated scalar dilations—the obstruction that defeated the naive pair count—disappear.
Primitive-ray capacity and global charging
For fixed labels , all quotient vectors lie in a thin diagonal strip: their covered coordinates are bounded by the prefix, while their difference is bounded by the gap length. Sorting primitive lattice rays by slope and summing consecutive determinants gives a sharp fan-area estimate. In formal cross-multiplied form, the number of possible occurrences satisfies
Distinct successive gaps inject into distinct quotient pairs, so this is a global capacity bound rather than a separate CRT estimate for each gap. Summing all pair payments yields
The first term is uniformly small for high ranks by kernel summability. The endpoint term is at most the square of the forbidden counting function, hence is . A witness-forced maximum-gap lemma ensures all charged coordinates lie below a controlled multiple of the prefix. Together these facts prove uniform integrability of the actual squared gaps: for every , some makes the normalized contribution of all gaps at least eventually smaller than .
From uniform tails to an actual limit
Long-gap control solves only half the problem. For a fixed cutoff , define a local word cost at an integer : it is when a sieve gap of length starts at , and zero otherwise. Summing these local costs over is exactly the sum of squared enumerated gaps shorter than .
A finite forbidden prefix makes this local word periodic, so its normalized average converges to its one-period mean. The full sieve and a sufficiently remote finite prefix disagree on few points: a canonical tail divisor labels every disagreement, and the same reciprocal-mass inequality bounds their density by
\text{tail reciprocal mass}+rac{A(x)}x.Only starts whose length- window meets such a disagreement can change their local cost. Therefore every fixed truncated full-sieve average is eventually approximated arbitrarily well by a convergent periodic average, and hence converges.
Finally, the exact gap sum is the truncated average plus its long-gap tail. Applying the same uniform-approximation principle a second time gives convergence of the full normalized second moment.
Finite forbidden sets require a small separate argument: the sieve is periodic after the initial point, every gap is at most one product period, and a shifted periodic Cesàro average converges.
Formal verification
The proof was formalized in Lean 4.31.0 against Mathlib revision
fabf563a7c95a166b8d7b6efca11c8b4dc9d911f. It proves the exact statement audited in check_answer/README.md, including the original inclusive counting function, the Nat.nth gap enumeration, and real squared differences.
Two independent project builds passed:
cd workspace/experiments/experiment_1_formal_statement/lean
PATH="$HOME/.elan/bin:$HOME/.cargo/bin:$PATH" LEAN_NUM_THREADS=28 lake build
# Build completed successfully (8618 jobs).
The archival package contains the complete dependency closure:
cd verified_math/F-061_erdos-489-positive-answer
PATH="$HOME/.elan/bin:$PATH" lake update
LEAN_NUM_THREADS=28 lake build
# Build completed successfully (8608 jobs).
A source audit also found no sorry or admit in the F-061 Lean files. The independent referee reran the verification, checked statement fidelity, and accepted the solution.
Download Full Solution & Verify with Your AI
The download contains everything needed to verify this solution independently: the original problem, the formal statement, the complete pinned Lean project, and the verifier script — plus step-by-step instructions for your agent. About 20 minutes, mostly downloading Mathlib.