Erdős problem #238 — live-page audit, exact reduction, and exhaustive data through \(10^9\)
Access/research date: 2026-07-26 UTC.
Claim labels used throughout:
- (a) elementary-rigorous: a complete proof is given here.
- (b) rigorous-modulo-named-theorem: the claim follows from the
named and linked theorem/source.
- (c) plausible/structural-unverified: a heuristic, conditional
route, or literature-search diagnosis; not a theorem.
- (d) computational-only: an exhaustive finite calculation; not an
asymptotic result.
0. Mandatory live-page gate
I fetched the rendered [live problem
page](https://www.erdosproblems.com/238), its LaTeX view, and the
with the Bright Data residential browser. Direct datacenter curl was
not used for this gate.
The live page's statement, verbatim, is:
> Let \(c_1,c_2>0\). Is it true that, for any sufficiently large \(x\),
> there exist more than \(c_1\log x\) many consecutive primes \(\leq x\)
> such that the difference between any two is \(>c_2\)?
Live status and collision markers:
- Status: OPEN.
- Last page edit: 16 July 2026.
- Claimed proofs: 0.
- “Currently working on this problem”: None.
- “Interested in collaborating”: None.
- The other reaction/worker fields are also all None.
- The page has ten comments.
Thus the mandatory stop condition does not apply.
The only result asserted in the body of the live page is:
> Erdős [Er49c] proved this is true for any \(c_2>0\) if \(c_1>0\)
> is sufficiently small (depending on \(c_2\)).
This is (b) and the quantifier “depending on \(c_2\)” is important.
Content audit of all ten live comments
The website warns that comments are not verified. The following records
their content without endorsing it.
1. Zach Hunter, 2026-02-18. Corrected an earlier page typo:
“depending on \(c_1\)” should be “depending on \(c_2\).”
2. Will Sawin, 2026-07-15. Noted that the first correction had not
yet appeared on the page. It has appeared in the live page read for
this report.
3. Terence Tao, 2025-08-31. Suggested that a sufficiently uniform
prime-tuples conjecture should imply the answer.
4. Przemek Chojecki, 2026-01-13. Gave a detailed conditional route:
use intervals of length \(A(\log x)^2\), concentration of their prime
counts, and Poisson statistics for prime pairs at distance at most
\(\lfloor c_2\rfloor\). A positive proportion should have no such
pair and about \(A\log x\) primes.
5. Yongxi Lin, 2026-01-10 17:31. Asked whether the known result has
one \(\epsilon\) uniform in \(c_2\), or an \(\epsilon\) depending on
\(c_2\).
6. Dogmachine, 2026-01-10 19:44. Initially read Erdős's wording as
the stronger, uniform-in-\(c_2\) interpretation.
7. Terence Tao, 2026-01-10 20:06. Explained the weaker result:
standard sieve bounds give
\(O(c_2x/\log^2x)\) gaps of size at most \(c_2\), so pigeonhole gives
\(\gg_{c_2}\log x\) consecutive larger gaps; in particular the
resulting \(c_1\) depends on \(c_2\).
8. Yongxi Lin, 2026-01-10 21:34. Said the quantifier mattered for a
Lean formalisation and asked for the 1949 Erdős and 1955 Cugiani
papers.
9. Terence Tao, 2026-01-10 22:00. Linked the two requested papers.
10. Yongxi Lin, 2026-01-11. Reported that Theorem 3 of Erdős's
paper proves the weaker quantifier order
\(\forall c_2\,\exists\epsilon(c_2)\,\forall c_1<\epsilon(c_2)\).
No comment claims an unconditional proof of the live question.
1. Primary-source check and literature search
1.1 Erdős's theorem
The archival scan of P. Erdős, [*On some applications of Brun's
method*](https://acta.bibl.u-szeged.hu/13658/1/math_013_fasc_001_057-063.pdf),
Acta Univ. Szeged. Sect. Sci. Math. 13, 57–63, is the page's [Er49c].
Its Theorem 3 fixes an arbitrary constant \(c_5\) and produces
\(\asymp_{c_5}\log n\) consecutive primes below \(n\), all of whose
adjacent gaps exceed \(c_5\). Its proof invokes the bound
\[ \#\{m:p_{m+1}-p_m\leq c_5,\ p_m\leq n\} \ll_{c_5}\frac{n}{(\log n)^2} \]and compares it with \(\pi(n)\gg n/\log n\). (b)
This directly confirms both the result quoted on the live page and the
dependence of the allowed \(c_1\) on \(c_2\).
1.2 Related chain results and their quantifier mismatch
- Marco Cugiani's 1955 paper [*Nuovi Risultati sulle « Catene » di
Numeri Primi*](https://doi.org/10.1007/BF02413524), Annali di
Matematica 38, 309–320, does exist. Its publisher abstract says it
studies chains of consecutive primes whose adjacent gaps are bounded
above or below by expressions of type \(\alpha\log \xi\), and bounds
maximal chain extent and chain counts. The full paper was
subscription-only in this search, so I do not infer an uninspected
theorem from the abstract. **(b) for metadata/abstract; search miss
for full theorem text**
- Helmut Maier, [*Chains of large gaps between consecutive
primes*](https://doi.org/10.1016/0001-8708(81)90003-7), Adv. Math.
39 (1981), 257–269, proves large-gap chains when the number of gaps
is fixed. (b)
- Kevin Ford, James Maynard, and Terence Tao, [*Chains of large gaps
between primes*](https://arxiv.org/abs/1511.04468), define
\[ G_k(X)=\max_{p_{n+k}\leq X}\min_{1\leq i\leq k} (p_{n+i}-p_{n+i-1}) \]
and prove, for every fixed \(k\) and sufficiently large \(X\),
\[ G_k(X)\gg \frac1{k^2} \frac{\log X\,\log_2X\,\log_4X}{\log_3X}. \tag{1} \]
The implied constant is absolute and effective, but the threshold
for \(X\) may depend on \(k\). (b)
Equation (1) does not settle #238. The required chain length is
\(k\asymp c_1\log X\), not fixed. Even if one were allowed to insert
that growing \(k\) into (1), its right side would become
\[ \asymp \frac{\log_2X\,\log_4X}{\log X\,\log_3X}\longrightarrow0, \]so it would not force even one fixed lower gap threshold. (a)
1.3 Honest search miss
Exact-statement searches, searches for logarithmically long runs of
isolated primes, and forward searches around the Maier and
Ford–Maynard–Tao chain results found fixed-\(k\) chain theorems and
large-prime-gap results, but no primary source in which the chain
length grows as \(c\log X\). This is a search result, not proof that no
such source exists. It agrees with the live page's OPEN status as of
2026-07-26. (c)
2. Exact reformulation and the first-moment barrier
Let \(p_1=2 For primes at least \(3\), every adjacent gap is even. If \(c_2\geq2\), put Then, for primes at least \(3\), If \(0 exceed \(c_2\), so the question is immediate from the prime number theorem. Thus only even thresholds \(D\geq2\) matter. **(a), using PNT only for the trivial \(c_2<2\) conclusion** Define difference: non-adjacent differences are sums of positive adjacent gaps. (a) The live problem is therefore equivalent to Indeed, (3) is exactly the assertion “for every \(c_1>0\), eventually \(R_D(X)>c_1\log X\).” (a) Call an index \(i\) bad when \(g_i\leq D\). If the bad indices among \(1,\ldots,n-1\) are2.1 The real parameter \(c_2\) is discrete
2.2 A gap problem inside the prime-index sequence
Consequently \(R_D(X)\), for \(n=\pi(X)\), is exactly the largest
quantity in (4). (a)
This isolates the open issue: it is not the total density of small
prime gaps, but unusually long holes in their prime-index set.
Using the prime number theorem, \(\log p_n\sim\log n\), (3) is
equivalent to saying that the running maximum hole in the bad-index
set, divided by \(\log n\), tends to infinity. (b), modulo PNT
2.3 Why Erdős's counting argument stops at a fixed constant
Equation (4) gives the exact pigeonhole bound
\[ R_D(X)\geq \left\lceil\frac{\pi(X)}{B_D(X)+1}\right\rceil, \qquad B_D(X)=\#\{i:p_{i+1}\leq X,\ g_i\leq D\}. \tag{5} \]The Brun/Selberg upper bound
\[ B_D(X)\ll_D\frac{X}{(\log X)^2} \]together with PNT yields \(R_D(X)\gg_D\log X\), which is precisely the
known small-\(c_1\) result. (a) from the two named inputs
No improvement of constants in this first-moment calculation can
give (3): it always yields only one fixed multiple of \(\log X\).
An order improvement \(B_D(X)=o(X/\log^2X)\) would make (5) sufficient,
but Hardy–Littlewood heuristics predict a positive main term of order
\(X/\log^2X\), already from each admissible fixed short gap. Thus the
needed gain must come from irregular spacing of the bad indices, not
from their global count. **(a) for the limitation of (5); (c) for the
Hardy–Littlewood prediction**
3. Exact computation through \(10^9\)
3.1 Result
The following table gives the exact value of \(R_D(X)\) for seven gap
thresholds and seven decade endpoints. (d)
| \(D\) | \(10^3\) | \(10^4\) | \(10^5\) | \(10^6\) | \(10^7\) | \(10^8\) | \(10^9\) |
|---:|---:|---:|---:|---:|---:|---:|---:|
| 2 | 20 | 24 | 54 | 103 | 103 | 151 | 204 |
| 4 | 9 | 10 | 30 | 36 | 63 | 83 | 119 |
| 6 | 6 | 7 | 15 | 22 | 42 | 42 | 52 |
| 10 | 3 | 4 | 10 | 17 | 23 | 28 | 37 |
| 20 | 1 | 2 | 4 | 6 | 10 | 13 | 15 |
| 50 | 1 | 1 | 2 | 3 | 4 | 5 | 6 |
| 100 | 1 | 1 | 1 | 2 | 2 | 3 | 3 |
Explicit maximizing blocks at \(X=10^9\) are:
| \(D\) | length | first prime | last prime | minimum internal gap |
|---:|---:|---:|---:|---:|
| 2 | 204 | 698542489 | 698547257 | 4 |
| 4 | 119 | 393970099 | 393972427 | 6 |
| 6 | 52 | 841120493 | 841121779 | 8 |
| 10 | 37 | 904257881 | 904258903 | 12 |
| 20 | 15 | 313688491 | 313689043 | 24 |
| 50 | 6 | 107282507 | 107282867 | 54 |
| 100 | 3 | 72546143 | 72546391 | 108 |
For example, the last two explicit blocks are
\[ \begin{aligned} D=50:\quad& 107282507,107282561,107282657,107282719,107282779,107282867,\\ D=100:\quad& 72546143,72546283,72546391. \end{aligned} \]The checker independently trial-divides every odd integer between the
reported endpoints, so these are verified blocks of globally
consecutive primes, not merely selected prime tuples. (d)
For context, the exact numbers of bad adjacent gaps through \(10^9\)
are:
| \(D\) | \(B_D(10^9)\) |
|---:|---:|
| 2 | 3424507 |
| 4 | 6849186 |
| 6 | 12938977 |
| 10 | 19118853 |
| 20 | 33073547 |
| 50 | 47884119 |
| 100 | 50706210 |
The independently reproduced prime count is
\(\pi(10^9)=50847534\). (d)
3.2 A sharp finite-range form
The computation also enumerated every record increase of \(R_D(x)\).
Between record primes, \(R_D(x)\) is constant and
\(R_D(x)/\log x\) decreases. At a record prime it jumps upward by one.
It follows that the infimum over a real interval is attained at the
right endpoint or approached immediately below a record prime. (a)
The resulting exact infima on \(10^6\leq x\leq10^9\) are:
| \(D\) | \(\inf R_D(x)/\log x\) | decimal |
|---:|---:|---:|
| 2 | \(103/\log(17384201)\) | 6.178366799446 |
| 4 | \(36/\log(1020683)\) | 2.601911343876 |
| 6 | \(22/\log(1974541)\) | 1.517676112479 |
| 10 | \(17/\log(4656809)\) | 1.107214799970 |
| 20 | \(6/\log(2082463)\) | 0.412397723449 |
| 50 | \(3/\log(3021367)\) | 0.201055946691 |
| 100 | \(2/\log(72546391)\) | 0.110498844436 |
Every displayed infimum is approached from below at the indicated
prime boundary. Hence, for example, for every real
\(10^6\leq x\leq10^9\) there are more than
\(1.1\log x\) consecutive primes with all gaps \(>10\); and there are
more than \(0.11\log x\) consecutive primes with all gaps \(>100\).
These are sharp for that finite interval when \(1.1\) and \(0.11\) are
replaced by the exact displayed constants. (a)+(d)
This is finite evidence only. It neither proves monotonicity of the
normalised ratios nor supplies the limit (3).
3.3 Reproduction and independent checks
The standalone verifier is
Run:
python3 runs/erdos238_wave5o_verify.py
The final reference run printed:
odd_sieve_sha256=74d176c4598da9365337436398bedd09312587810e7355be4038cebb449d804f
pi(1000000000)=50847534
elapsed_seconds=34.003
VERIFIED
Under /usr/bin/time -v, wall time was 34.19 seconds and maximum
resident set size was 2,641,576 KiB.
The verification layers are:
1. An odd-only Eratosthenes sieve constructs every prime through
\(10^9\); the seven known values \(\pi(10^j)\) are asserted.
2. A bounded-memory streaming automaton computes every table entry.
3. A second representation materialises the complete prime-gap array,
cuts it at every gap \(\leq D\), and recomputes every length and
witness. The two complete tables must agree exactly.
4. A separately built ordinary integer sieve supplies trial divisors;
scalar trial division enumerates every prime in every reported
witness interval.
5. A deliberately slow scan over every integer through \(200000\)
independently checks the formula used for the sharp real-interval
infima.
6. The full reference table and the 500-million-byte sieve hash are
embedded as assertions.
The core second calculation is:
primes = materialize_primes(odd_prime_flags)
gaps = np.diff(primes)
for D in (2, 4, 6, 10, 20, 50, 100):
bad = np.flatnonzero(gaps <= D)
# If m gaps occur before X, retain only bad indices b < m.
b = bad[:np.searchsorted(bad, m)]
lengths = np.r_[b[0] + 1, np.diff(b), m - b[-1]]
R_D_X = int(lengths.max())
The linked verifier handles the no-bad-gap case, recovers endpoints,
streams all checkpoints, enumerates record events, hashes arrays, and
performs the independent scalar checks.
4. Exact missing lemma and why the standard routes stall
Fix \(D\) and \(c_1\), choose \(A>c_1\), and put
\[ T=A(\log X)^2. \]Partition \([X/2,X]\) into intervals \(I\) of length \(T\), and define
\[ N(I)=\#\{p\in I:p\text{ prime}\},\qquad Y_D(I)=\#\{pThe following two estimates would suffice: \[ \#\{I:N(I)\leq c_1\log X\}=o(X/T), \tag{6} \] \[ \#\{I:Y_D(I)=0\}\geq\delta_{A,D}X/T \quad\text{for some }\delta_{A,D}>0. \tag{7} \]Indeed, (6) and (7) force an interval satisfying both
\(N(I)>c_1\log X\) and \(Y_D(I)=0\). All primes between its first and
last prime lie in the same interval, so they are globally consecutive;
\(Y_D(I)=0\) says all their pairwise differences exceed \(D\). This
would prove the desired assertion at \(X\). **(a), conditional on
(6)–(7)**
A short-interval, shift-uniform Hardy–Littlewood tuple conjecture at
scale \(T\asymp(\log X)^2\) is expected to imply (6), and to give
Poisson statistics for \(Y_D(I)\) with a finite mean depending on
\(A,D\); its zero probability would then be positive. This is the
conditional route described in the live comments. (c)
The precise unconditional wall is the zero-event estimate (7)
simultaneously with the lower-tail estimate (6):
- Brun/Selberg bounds control the first moment of \(Y_D\). Markov's
inequality can force a zero only while the expected number of short
pairs is less than one, which corresponds to a small fixed \(A\) and
recovers only the known small-\(c_1\) regime.
- For arbitrary \(c_1\), \(A\) is arbitrarily large. One needs
high-order joint information showing that short-gap events leave a
positive proportion of empty intervals, rather than being spaced
almost regularly. Global counts such as (5) contain no such
information.
- Existing prime-tuple asymptotics are not available uniformly in
intervals as short as \((\log X)^2\), even before imposing the joint
no-short-pair event.
- Maier/Ford–Maynard–Tao produce chains for fixed \(k\); their
\(k^{-2}\) loss makes their quantitative lower bound vanish when
\(k\asymp\log X\).
Thus the exact unresolved object is a logarithmically long hole in the
bad-gap index set, or equivalently a result such as (6)–(7). More
computation cannot supply the missing uniform asymptotic step. **(a)
for the reductions; (c) for the assessment of current machinery**
For scale, a dense extension to \(10^{10}\) would extrapolate to about
6–10 minutes and roughly 20–25 GiB because the independent
prime/gap/bad-index arrays also scale. That exceeds the requested
few-minute budget and would only add one finite row. At a nominal
\$0.05–\$0.20 per core-hour its CPU cost is small
(\(\$0.01\)–\(\$0.04\)), but the high-memory allocation dominates.
It was not run because it cannot address (6)–(7). **(c), engineering
estimate**
PARTIAL: Exhaustive dual-algorithm computation gives exact R_D(10^j) tables through 10^9 and sharp finite-range constants, while the open asymptotic is reduced to logarithmically long holes in the short-gap index set (equivalently the joint short-interval estimates (6)–(7)), which fixed-moment sieves and fixed-k chain theorems do not provide.