problems / ulam-sequence

Also in this folder: compute/ · figures/

Research log — Density of the Ulam sequence

Statement (as attacked)

Green 100 #7 (December 2025 update): does the classical Ulam sequence U(1,2)U(1,2) have positive density? Can one explain Steinerberger’s Fourier spike at α≈2.5714474995\alpha\approx 2.5714474995?

Erdős #342 (Bloom, accessed 2026-08-17): still open, “cannot be resolved with a finite computation”, zero claimed proofs. Additional questions in Guy C4 / Erdős–Graham: infinitely many pairs a,a+2a,a+2? Eventually periodic differences? Density zero?

Tonight’s allowed dent, per the house prompt: a certified finite advance (exact prefix, covering/automaton certificate, or a spectral fact with a verifier). Density is not to be claimed unless proved.

Sources fetched

Computational records we did not beat: Gibbs–McCranie, a(2.8⋅1010)=378485625853a(2.8\cdot 10^{10})=378485625853; McCranie 2.57144749846<α<2.571447498502.57144749846<\alpha<2.57144749850.

Published theorems used

  1. The sequence is infinite, and an+1≤an+an−1a_{n+1}\le a_n+a_{n-1}.
  2. Eggleton (in Recamán, AMM 1973): an+1≤an+an−2a_{n+1}\le a_n+a_{n-2}, hence an≤ρEna_n\le\rho_E^n with ρE\rho_E the real root of x3−x2−1=0x^3-x^2-1=0 (ρE≈1.4655712318767682\rho_E\approx 1.4655712318767682).
  3. Clément–Steinerberger 2025, Lemma 1–2 and Theorem 1: Eggleton cannot hold twice in a row (once there are enough previous terms); if the next term is not Eggleton it is at most max⁡(an+an−3,an−1+an−2)\max(a_n+a_{n-3},a_{n-1}+a_{n-2}); the resulting majorant is a product of T1,T2,T3T_1,T_2,T_3 with no consecutive T3T_3; L=15L=15 gives an≤1.454na_n\le 1.454^n for large nn. The same method cannot prove a base below ρ(T3T12)1/3≈1.4146717609798722\rho(T_3T_1^2)^{1/3}\approx 1.4146717609798722.
  4. Regularity theorems of Finch, Schmerl–Spiegel, Cassaigne–Finch: not applicable to U(1,2)U(1,2).
  5. Hinman et al.: dens⁡U(1,n)≤(n+1)/(3n)\operatorname{dens} U(1,n)\le(n+1)/(3n). For n=2n=2 this is 1/21/2, too weak to move Green #7.

What this folder proves

Theorem. Let ana_n be the Ulam sequence with a1=1a_1=1, a2=2a_2=2. Then

an≤(14431000)nfor every integer n≥1,a_n\le\Bigl(\frac{1443}{1000}\Bigr)^n \quad\text{for every integer }n\ge 1,

and

an≤(14421000)nfor every integer n≠3.a_n\le\Bigl(\frac{1442}{1000}\Bigr)^n \quad\text{for every integer }n\neq 3.

This is the Clément–Steinerberger majorant with a longer admissible word and with the Frobenius norm in place of the operator 2-norm. The L=15L=15 2-norm maximum was independently recomputed as 1.4539022020434931.453902202043493, matching the published 1.45391.4539 that they rounded to 1.4541.454. The first LL at which the exact Frobenius maximum beats 1.4541.454 is L=16L=16 (F2=150408F_2=150408, CF≈1.451408682527C_F\approx 1.451408682527). The strongest run is L=22L=22 (F2=9690750F_2=9690750, CF≈1.441387826311C_F\approx 1.441387826311).

The all-nn statement at 1.4431.443 uses the L=21L=21 majorant from n=3304n=3304 and a direct integer check of an≤(1443/1000)na_n\le(1443/1000)^n on 1≤n≤33041\le n\le 3304. The almost-all statement at 1.4421.442 uses the L=22L=22 majorant from n=1635n=1635; the only prefix failure is a3=3a_3=3.

Record beaten. Clément–Steinerberger, CR Math. 363 (2025), Theorem 1. Record not beaten. Any published prefix length, any published digit of α\alpha, any statement about density.

Not claimed. Existence of lim⁡an/n\lim a_n/n; positivity of that limit; any explanation of α\alpha.

Finite spectral fact (not a dent by itself)

On an independently generated prefix of 20 00020\,000 terms, cos⁡(2.5714474995 an)<0\cos(2.5714474995\,a_n)<0 except {2,3,47,69}\{2,3,47,69\}, and the same four exceptions persist throughout the McCranie bracket on α\alpha. Mean cosine ≈−0.7934\approx -0.7934. Replay: compute/verify_spectral.py and the spectral check inside compute/verify_all.py. This is Steinerberger’s observation, re-verified, not a new theorem.

How to replay

cd problems/ulam-sequence/compute
python3 verify_all.py

That script does not re-enumerate 4.3⋅1094.3\cdot 10^9 words. It does:

To rebuild the large maxima from scratch (minutes to a few minutes per length):

cc -O3 -o search_cs_F search_cs_F.c -lm
./search_cs_F 16
./search_cs_F 22

The full 2-norm enumerator (used to reproduce CS at L=15L=15) is search_cs_bound.c. Matrices are in cs_matrices.py.

What is still open

Green #7 / Erdős #342, in full. The CS method, even at infinite LL, stops at ≈1.4146\approx 1.4146 unless a new combinatorial prohibition on words is proved. The actual sequence appears to grow linearly with slope about 13.5213.52 and density about 0.0740.074; that remains experimental. The hidden frequency α\alpha remains an experimental constant.

Files

path role
PROBLEM.md statement
ATTACK.md chronological log
WALKTHROUGH.md discovery narrative
RESEARCH.md this file
compute/ulam.py exact generator
compute/cs_matrices.py T1,T2,T3T_1,T_2,T_3
compute/search_cs_bound.c 2-norm + Frobenius enumerator
compute/search_cs_F.c exact Frobenius enumerator
compute/search_F_python.py independent Python enumerator
compute/certify_bound.py integer certificate for one word
compute/bounds_table.py table and exact N0N_0
compute/verify_all.py one-command replay
compute/certificate_L{16,21,22}.json winning words
compute/bounds_table.json L=1..22L=1..22 table
compute/b002858.txt OEIS b-file
figures/cs_growth_constants.png CLC_L versus LL