Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Erdős's separation question: rk(n)/rk+1(n)→0r_k(n)/r_{k+1}(n) \to 0rk​(n)/rk+1​(n)→0 for some k≥3k \ge 3k≥3

Open
Erdos142.exists_ratio_tendsto_zero

by Zexuan Liu · Sep 10, 2026 · Mathlib 0df444a (Lean v4.33.1)

additive-combinatoricsarithmetic-progressionscombinatoricsnumber-theory

There exists k≥3k \ge 3k≥3 such that

rk(n)rk+1(n)  ⟶  0(n→∞).\frac{r_k(n)}{r_{k+1}(n)} \;\longrightarrow\; 0 \qquad (n \to \infty).rk+1​(n)rk​(n)​⟶0(n→∞).

In words: for at least one progression length k≥3k \ge 3k≥3, allowing progressions of length k+1k+1k+1 rather than kkk lets a progression-free set be larger by an unbounded factor. Erdős observed in [Er80, p.92] that this is not known for any single k≥3k \ge 3k≥3 (here [Er80] is the erdosproblems.com bibliography key for Erdős's 1980 paper, not a reference to Erdős Problem #80) — the ratio is bounded below by a positive constant times 111 only by the trivial monotonicity rk≤rk+1r_k \le r_{k+1}rk​≤rk+1​, and no separation at all has been established.

The question is a weakening of the main problem that isolates one specific consequence any asymptotic formula would have. If the formulas for rkr_krk​ and rk+1r_{k+1}rk+1​ were known, comparing them would settle the ratio immediately; the fact that no separation is known for any kkk measures precisely how little is understood about the dependence of rkr_krk​ on kkk. It is included in the mission as the smallest concrete open target attached to the problem.

Formalization Note. The existential quantifier over kkk renders Erdős's phrase "for any k≥3k \ge 3k≥3" in the context "we do not even know whether ... for any k≥3k \ge 3k≥3", i.e. it suffices to exhibit one such kkk. Real division is Lean's, so the quotient is 000 wherever rk+1(n)=0r_{k+1}(n) = 0rk+1​(n)=0; this affects only n=0n = 0n=0 and is invisible to the atTop filter.

Preamble
import Mathlib
import Definitions.Def_Erdos142Basic
Formal statement
namespace Erdos142

theorem exists_ratio_tendsto_zero :
    ∃ k : ℕ, 3 ≤ k ∧
      Filter.Tendsto (fun n : ℕ => (r k n : ℝ) / (r (k + 1) n : ℝ))
        Filter.atTop (nhds 0) := by sorry

end Erdos142
Source
Erdős Problem #142, https://www.erdosproblems.com/142 (cited there as [Er80, p.92], [Er81, p.4], [Er97c], [Va99, 1.27]); specifically the remark 'In [Er80] he remarks that we do not even know whether rk(n)/rk+1(n)→0r_k(n)/r_{k+1}(n)\to 0rk​(n)/rk+1​(n)→0 for any k≥3k\geq 3k≥3' (Erdos [Er80], p.92; [Er80] is the erdosproblems.com bibliography key for Erdos's 1980 paper, NOT Erdos Problem #80).
Read-back

What the Lean code literally says, in plain math · claude-opus-5

Read-back: Erdos142.exists_ratio_tendsto_zero

What the statement asserts

The theorem is a single existence claim, with no free variables and no hypotheses:

There exists a natural number kkk such that k≥3k \ge 3k≥3 and

lim⁡n→∞r(k,n)r(k+1,n)=0,\lim_{n \to \infty} \frac{r(k,n)}{r(k+1,n)} = 0 ,n→∞lim​r(k+1,n)r(k,n)​=0,

where the quotient is formed in R\mathbb{R}R after casting the two natural numbers r(k,n)r(k,n)r(k,n) and r(k+1,n)r(k+1,n)r(k+1,n) to reals, and the limit is the limit of the sequence indexed by n∈Nn \in \mathbb{N}n∈N along the "eventually large nnn" filter, converging to the real number 000 in the standard topology of R\mathbb{R}R.

Unwinding the filter statement: for every ε>0\varepsilon > 0ε>0 there is an index NNN such that for all natural n≥Nn \ge Nn≥N,

∣r(k,n)r(k+1,n)∣<ε.\left| \frac{r(k,n)}{r(k+1,n)} \right| < \varepsilon .​r(k+1,n)r(k,n)​​<ε.

Note that the claim is existential in kkk, not universal: it suffices that one single value k≥3k \ge 3k≥3 has the stated limiting behaviour. Nothing is asserted about any other kkk, and no such kkk is exhibited. The two quantities compared are indexed by consecutive parameters kkk and k+1k+1k+1; since k≥3k \ge 3k≥3, the denominator's parameter satisfies k+1≥4k+1 \ge 4k+1≥4.

The quantity r(k,N)r(k,N)r(k,N) (custom definition from the bundle)

rrr is a function N×N→N\mathbb{N} \times \mathbb{N} \to \mathbb{N}N×N→N defined as a supremum taken inside N\mathbb{N}N:

r(k,N)  =  sup⁡{ ∣S∣  ∣  S a finite subset of N,  S⊆{1,2,…,N},  Free(S,k) },r(k,N) \;=\; \sup \Bigl\{\, |S| \;\Big|\; S \text{ a finite subset of } \mathbb{N},\; S \subseteq \{1, 2, \dots, N\},\; \mathrm{Free}(S, k) \,\Bigr\},r(k,N)=sup{∣S∣​S a finite subset of N,S⊆{1,2,…,N},Free(S,k)},

where ∣S∣|S|∣S∣ is the cardinality of the finite set SSS, the interval {1,…,N}\{1,\dots,N\}{1,…,N} is the integer interval from 111 to NNN inclusive (empty when N=0N = 0N=0), and Free(S,k)\mathrm{Free}(S,k)Free(S,k) is the bundle's progression-freeness predicate described below, applied to SSS viewed as a subset of N\mathbb{N}N and to the length kkk cast into the extended naturals N∪{∞}\mathbb{N} \cup \{\infty\}N∪{∞}.

The supremum is the one for natural numbers, which returns a junk value of 000 for an empty or unbounded set of naturals. Here neither degeneracy is triggered by the definition itself: the empty set S=∅S = \varnothingS=∅ always belongs to the collection (it is contained in every interval and, by a lemma in the bundle, is progression-free for every length), so the collection contains 000 and is nonempty; and every admissible SSS satisfies ∣S∣≤N|S| \le N∣S∣≤N, so the collection is bounded. Hence r(k,N)r(k,N)r(k,N) is the largest cardinality of an admissible set. In particular r(k,0)=0r(k,0) = 0r(k,0)=0 for every kkk, since {1,…,0}=∅\{1,\dots,0\} = \varnothing{1,…,0}=∅.

The freeness predicate Free(s,l)\mathrm{Free}(s, l)Free(s,l)

For a set sss in an additive commutative monoid and a length l∈N∪{∞}l \in \mathbb{N} \cup \{\infty\}l∈N∪{∞}:

Free(s,l)  :⟺  ∀ t⊆s,IsAP(t,l)  ⇒  l≤1.\mathrm{Free}(s,l) \;:\Longleftrightarrow\; \forall\, t \subseteq s,\quad \mathrm{IsAP}(t,l) \;\Rightarrow\; l \le 1 .Free(s,l):⟺∀t⊆s,IsAP(t,l)⇒l≤1.

The conclusion l≤1l \le 1l≤1 does not depend on ttt; it is the fixed parameter lll. Consequently, whenever l≥2l \ge 2l≥2 the predicate is equivalent to: no subset ttt of sss satisfies IsAP(t,l)\mathrm{IsAP}(t,l)IsAP(t,l). Whenever l≤1l \le 1l≤1 the predicate holds vacuously-by-conclusion for every set sss. In the theorem the lengths used are k≥3k \ge 3k≥3 and k+1≥4k+1 \ge 4k+1≥4, so the second regime does not occur there.

Here IsAP(t,l)\mathrm{IsAP}(t,l)IsAP(t,l) means: there exist aaa and ddd in the ambient monoid (for rrr, in N\mathbb{N}N, so a,d≥0a, d \ge 0a,d≥0) with both of the following:

  1. the cardinality of ttt, measured in N∪{∞}\mathbb{N} \cup \{\infty\}N∪{∞}, equals lll; and
  2. ttt is exactly equal to the set { a+n⋅d  :  n∈N,  n<l }\{\, a + n \cdot d \;:\; n \in \mathbb{N},\; n < l \,\}{a+n⋅d:n∈N,n<l} (comparison n<ln < ln<l taken in the extended naturals; n⋅dn \cdot dn⋅d is the nnn-fold sum of ddd, i.e. ordinary multiplication in N\mathbb{N}N).

So ttt must be a set of the form {a, a+d, a+2d, …, a+(l−1)d}\{a,\, a+d,\, a+2d,\, \dots,\, a+(l-1)d\}{a,a+d,a+2d,…,a+(l−1)d} when lll is finite (and {a,a+d,a+2d,… }\{a, a+d, a+2d, \dots\}{a,a+d,a+2d,…} when l=∞l = \inftyl=∞), and have exactly lll elements. The clause ∣t∣=l|t| = l∣t∣=l is what excludes the degenerate difference d=0d = 0d=0: for d=0d = 0d=0 the displayed set is the singleton {a}\{a\}{a}, whose cardinality is 111, so condition 1 fails unless l=1l = 1l=1. There is no separate hypothesis d>0d > 0d>0 and no separate hypothesis d≠0d \ne 0d=0; non-degeneracy is enforced solely through the cardinality clause. Likewise t=∅t = \varnothingt=∅ can satisfy IsAP\mathrm{IsAP}IsAP only when l=0l = 0l=0.

Putting this together, for k≥2k \ge 2k≥2:

Free(S,k)  ⟺  no subset of S is a k-element set of the exact form {a,a+d,…,a+(k−1)d}.\mathrm{Free}(S,k) \;\Longleftrightarrow\; \text{no subset of } S \text{ is a } k\text{-element set of the exact form } \{a, a+d, \dots, a+(k-1)d\}.Free(S,k)⟺no subset of S is a k-element set of the exact form {a,a+d,…,a+(k−1)d}.

Since ddd ranges over N\mathbb{N}N, the progressions considered are non-decreasing; the extremes aaa and a+(k−1)da + (k-1)da+(k−1)d both lie in S⊆{1,…,N}S \subseteq \{1,\dots,N\}S⊆{1,…,N}, so in fact a≥1a \ge 1a≥1 for any nonempty admissible SSS.

Junk values and edge cases the statement silently includes

  • Real division by zero. The expression r(k,n)/r(k+1,n)r(k,n) / r(k+1,n)r(k,n)/r(k+1,n) uses real division, which in this setting is a total function returning 000 when the denominator is 000. So at any index nnn where r(k+1,n)=0r(k+1,n) = 0r(k+1,n)=0 — for instance n=0n = 0n=0, where both numerator and denominator are 000 — the term of the sequence is literally 000, not undefined. The claim therefore never requires the denominator to be nonzero, and never asserts that it is.
  • The limit is along n→∞n \to \inftyn→∞ only. Any finite set of indices, including all degenerate small nnn, is irrelevant to the truth of the convergence claim.
  • Casts. r(k,n)r(k,n)r(k,n) and r(k+1,n)r(k+1,n)r(k+1,n) are natural numbers; both are cast into R\mathbb{R}R before dividing, so the quotient is a genuine real quotient, not natural-number (truncating) division. The quotient is always ≥0\ge 0≥0, so the absolute value in the ε\varepsilonε-characterisation is immaterial.
  • No claim of positivity, monotonicity, or growth. The statement says nothing about r(k,n)r(k,n)r(k,n) or r(k+1,n)r(k+1,n)r(k+1,n) individually — not that either is positive, increasing in nnn, or increasing in kkk — only about the limit of their ratio for one unspecified k≥3k \ge 3k≥3.
  • Unused bundle material. The bundle also defines an elementary predicate "AAA contains a kkk-term progression" (existence of aaa and ddd with d>0d > 0d>0 and a+id∈Aa + i d \in Aa+id∈A for all i<ki < ki<k) and its negation, but the statement of this theorem does not refer to them; the notion of freeness actually used by rrr is the set-equality-plus-cardinality one described above. The bundle's auxiliary lemmas (the empty set is free for every length; every free subset of {1,…,N}\{1,\dots,N\}{1,…,N} has at most r(k,N)r(k,N)r(k,N) elements; r(k,N)≤Nr(k,N) \le Nr(k,N)≤N) are likewise not part of what this theorem asserts.
  • The proof is omitted. The declaration's body is a placeholder, so the file contains an assertion, not a verified derivation.

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactJoin Slack© 2026 Prove2Me