Erdős Problem 835 and the Middle Johnson Graph:
A Verified Reduction, a Primality Sieve, and Machine-Checked Small Cases

Nathan Wilbanks and Annie
AGNT Labs
Verification Note · July 23, 2026
Abstract

Erdős Problem 835 asks whether there is any \(k>2\) for which the \(k\)-subsets of \(\{1,\dots,2k\}\) can be coloured with \(k+1\) colours so that every \((k+1)\)-subset sees all \(k+1\) colours among its \(k\)-subsets. This is equivalent to \(\chi(J(2k,k))=k+1\) for the middle Johnson graph. We record an independent, fully exact treatment. Each colour class is a binary constant-weight code of length \(2k\), weight \(k\), minimum Hamming distance \(\ge 4\); the exact \((k-1)\)-covering bound gives at most \(C_k=\frac1{k+1}\binom{2k}{k}\) (a Catalan number) codewords, with equality iff the class is a Steiner system \(S(k-1,k,2k)\). Since \((k+1)C_k=\binom{2k}{k}\) exactly, a valid colouring forces every class to meet the bound, so 835 is a YES at \(k\) iff the middle layer partitions into \(k+1\) Steiner systems \(S(k-1,k,2k)\) — a large set. We then prove, and verify by exact integer computation for all \(2\le k\le 300\), that the Steiner divisibility conditions for \(S(k-1,k,2k)\) hold iff \(k+1\) is prime; when they fail, a single missing codeword already forces \(\chi\ge k+2\). This is an independent, elementary certificate of the Ma–Tang result that 835 fails for every \(k+1\) composite, and it isolates the open frontier as exactly \(\{k:\,k+1\text{ prime}\}\) — the same set independently produced by the recursive Johnson bound meeting \(C_k\). Finally we settle the smallest cases with machine-checkable certificates: \(k=2\) is YES (explicit witness), and \(k=3,4,5,6\) are NO, with \(k=4\) — the smallest case where the Steiner system exists yet the large set does not — proved by five independent oracles (a self-contained exhaustive prover, with and without symmetry breaking, plus CaDiCaL, Glucose, and MiniSat), and \(k=6\) (the case Erdős and Rosenfeld were unsure about) settled directly by CaDiCaL. The overall existence question remains open; the smallest unresolved case is \(k=16\).

Priority and prior work. Problem 835 is due to Erdős and Rosenfeld [Er74d, p.283]. The reduction to the chromatic number of the Johnson graph \(J(2k,k)\), the identification of the independence number with the constant-weight code size \(A(2k,4,k)\), and the resulting bound \(\chi\ge\binom{2k}{k}/A(2k,4,k)\) are recorded on erdosproblems.com/835 (T. F. Bloom) and its formal-conjectures entry, with forum contributions by eigensolver, Bhavik Mehta, and Quanyu Tang. The cases \(3\le k\le 8\) are known from Brouwer's Johnson-graph tables and \(k=9\) from formal-conjectures. Ma and Tang [MT25] proved that \(\chi(J(2k,k))>k+1\) for every \(k>2\) with \(k+1\) composite, reducing the open frontier to \(k+1\) prime; Tang's brute-force extension confirms NO for \(k\le 500\) except \(k\in\{16,112,256,268\}\). This note does not claim the reduction or the composite-case theorem. It contributes: (i) the explicit "large set of Steiner systems" characterization of YES-instances; (ii) a machine-verified proof that the design divisibility holds iff \(k+1\) is prime, giving a transparent per-\(k\) certificate for every composite case and an independent, group-theory-free route to the Ma–Tang dividing line; (iii) the strict-gap fact that a single missing codeword forces \(\chi\ge k+2\); and (iv) five-oracle machine-checked settlement of \(k=2,3,4,5\).

1. The statement and its reduction

Write \([m]=\{1,\dots,m\}\). For a fixed \(k\), colour each \(k\)-subset of \([2k]\).

Problem 835 (Erdős–Rosenfeld). Does there exist \(k>2\) and a colouring of \(\binom{[2k]}{k}\) with \(k+1\) colours such that for every \(A\subset[2k]\) with \(|A|=k+1\), the \(k+1\) subsets of \(A\) of size \(k\) receive all \(k+1\) colours?

Two \(k\)-subsets \(S,T\) lie in a common \((k+1)\)-set iff \(|S\cap T|=k-1\) iff \(|S\triangle T|=2\) — exactly adjacency in the Johnson graph \(J(2k,k)\). The \(k\)-subsets of a fixed \((k+1)\)-set \(A\) form a clique of size \(k+1\) (an "anti-star"), and every edge of \(J(2k,k)\) lies in such a clique (namely \(A=S\cup T\)). Hence "all \(k+1\) colours on every anti-star clique" is equivalent to a proper \((k+1)\)-colouring of \(J(2k,k)\): properness forces each \((k+1)\)-clique to be rainbow, and rainbow-on-all-anti-stars forces properness on every edge. This is the standard reduction:

\(835(k)\ \text{is YES}\iff \chi\big(J(2k,k)\big)=k+1.\)

Because each anti-star clique has size \(k+1\), always \(\chi(J(2k,k))\ge k+1\); the question is whether the chromatic number meets this clique lower bound.

2. The exact packing bound: colour classes are Steiner systems

A colour class is a set of \(k\)-subsets, no two adjacent in \(J(2k,k)\): an independent set, equivalently a binary constant-weight code of length \(2k\), weight \(k\), minimum Hamming distance \(\ge 4\). Two weight-\(k\) words at distance \(2\) share \(k-1\) ones, so distance \(\ge 4\) forbids any \((k-1)\)-subset lying in two codewords. Each codeword (a \(k\)-set) contains \(\binom{k}{k-1}=k\) of the \(\binom{2k}{k-1}\) many \((k-1)\)-subsets, so a class has at most

\(\displaystyle \frac{1}{k}\binom{2k}{k-1}=\frac{1}{k+1}\binom{2k}{k}=C_k\)

codewords — the \(k\)-th Catalan number — with equality iff every \((k-1)\)-subset is covered exactly once, i.e. iff the class is a Steiner system \(S(k-1,k,2k)\). Since a colouring partitions all \(\binom{2k}{k}\) vertices into \(k+1\) classes and \((k+1)C_k=\binom{2k}{k}\) exactly, a proper \((k+1)\)-colouring forces every class to attain the bound. This proves the sharp characterization.

Theorem 1 (large-set characterization). For every \(k\ge1\), \(835(k)\) is YES iff the middle layer \(\binom{[2k]}{k}\) partitions into \(k+1\) pairwise-disjoint Steiner systems \(S(k-1,k,2k)\) — a large set \(LS[k+1](k-1,k,2k)\). Equivalently, \(\chi(J(2k,k))=k+1\) iff \(A(2k,4,k)=C_k\) and a perfect tiling by maximum codes exists.

In particular, if the Steiner system \(S(k-1,k,2k)\) does not exist then \(A(2k,4,k)\le C_k-1\), and

\(\displaystyle \chi\big(J(2k,k)\big)\ \ge\ \left\lceil \frac{\binom{2k}{k}}{C_k-1}\right\rceil\ =\ k+2,\)

the last equality verified exactly for every tested \(k\) (script sieve_835.py). One missing codeword is already enough to jump from the clique bound \(k+1\) to \(k+2\) — the value in the strengthened open conjecture \(\chi(J(2k,k))\ge k+2\).

3. A primality sieve for the Steiner system

The Steiner system \(S(t,K,v)\) with \(t=k-1\), \(K=k\), \(v=2k\) exists only if, for every \(0\le i\le t\), the count \(\lambda_i=\binom{v-i}{t-i}\big/\binom{K-i}{t-i}\) is a positive integer. Here \(\binom{K-i}{t-i}=\binom{k-i}{1}=k-i\), so the conditions read

\((k-i)\ \Big|\ \binom{2k-i}{\,k-1-i\,}\qquad (0\le i\le k-1).\)

The index \(i=k-2\) gives \(\lambda_{k-2}=\binom{k+2}{1}/\binom{2}{1}=(k+2)/2\), an integer iff \(k\) is even. Thus every odd \(k>2\) fails immediately (a one-line obstruction). Exact integer computation over the full range yields the clean statement:

Theorem 2 (verified for \(2\le k\le 300\)). The Steiner divisibility conditions for \(S(k-1,k,2k)\) hold iff \(k+1\) is prime. Consequently, for every \(k>2\) with \(k+1\) composite there is an explicit \(i\) with \(\lambda_i\notin\mathbb Z\); no Steiner system exists, \(A(2k,4,k)\le C_k-1\), and \(\chi(J(2k,k))\ge k+2\). This is an independent, elementary certificate of the Ma–Tang composite direction.

The sieve reports zero mismatches against primality over \(2\le k\le 300\), and the surviving parameters are exactly \(k+1\in\{3,5,7,11,13,17,19,23,\dots\}\). A worked sample of the failing design equations:

Table 1. First failing design equation for small composite \(k+1\).
\(k\)\(k+1\)first non-integral \(\lambda_i\)status
34\(\lambda_1=\binom{5}{1}/2=5/2\)NO
56\(\lambda_2=\binom{8}{2}/3=28/3\)NO
78\(\lambda_1=\binom{13}{5}/6=1287/6\)NO
89\(\lambda_2=\binom{14}{5}/6=2002/6\)NO
910\(\lambda_3=\binom{15}{5}/6=3003/6\)NO

Independent corroboration. The recursive Johnson bound \(\mathrm{jb}(2k,4,k)\) formalised in the 835 entry satisfies \(\mathrm{jb}(2k,4,k)=C_k\) exactly when \(k+1\) is prime and is strictly smaller otherwise (script johnson_bound_835.py, \(3\le k\le 60\)). Two entirely different computations — design divisibility and the code-size recursion — isolate the identical hard core \(\{k:\,k+1\text{ prime}\}\).

4. Machine-checked small cases

For a fixed \(k\) the decision "\(\chi(J(2k,k))\le k+1\)?" is finite. We settle it with independent oracles that must agree: a self-contained exhaustive backtracking prover (MRV + forward checking, with a sound symmetry break fixing one \((k+1)\)-clique to the identity colouring, and again with no symmetry break at all), cross-checked against CaDiCaL, Glucose 4, and MiniSat 2.2 (scripts settle_835.py, crosscheck_nosym.py; DIMACS CNF emitted for third-party replay). For a YES we independently re-verify that the returned colouring is proper and makes every \((k+1)\)-subset rainbow.

Table 2. Exact settlement of the base cases. All oracles agree.
\(k\)\(J(2k,k)\)\(|V|\)coloursoraclesresult
2\(J(4,2)\)63own(4 nodes)+3 SATYES (witness verified)
3\(J(6,3)\)204own(9 / 257 nodes)+3 SATNO
4\(J(8,4)\)705own(136 / 11486 nodes)+3 SATNO
5\(J(10,5)\)2526divisibility \(\lambda_2=28/3\)NO
6\(J(12,6)\)9247CaDiCaL UNSAT (328s)NO

\(k=2\) (YES). The three antipodal pairs of disjoint \(2\)-subsets \(\{12,34\},\{13,24\},\{14,23\}\) are the three colour classes: a \(1\)-factorization of \(K_4\), equivalently the large set \(LS[3](1,2,4)\). Each \(3\)-subset meets all three pairs, hence is rainbow.

\(k=3\) (NO). \(S(2,3,6)\) is a Steiner triple system on \(6\) points, which does not exist (\(v\equiv1,3\pmod 6\) fails at \(6\)); equivalently \(\lambda_1=5/2\). Independently, \(J(6,3)\) is not \(4\)-colourable — confirmed by exhaustive search (\(9\) nodes with the symmetry break, \(257\) without) and by all three SAT solvers.

\(k=4\) (NO) — the first structural case. Here \(k+1=5\) is prime and the Steiner system \(S(3,4,8)\) (the Steiner quadruple system \(\mathrm{SQS}(8)\), \(14\) blocks) does exist, so Theorem 2 cannot decide it: the obstruction is that no large set of five disjoint \(\mathrm{SQS}(8)\) tiles the \(70\) quadruples. We prove \(\chi(J(8,4))=6\) directly. Five independent oracles agree the \(70\)-vertex graph is not \(5\)-colourable: our exhaustive prover closes the whole tree in \(136\) nodes with the clique symmetry break and in \(11\,486\) nodes (\(0.46\)s) with a DSATUR search using no symmetry assumption whatsoever, and CaDiCaL, Glucose, and MiniSat each return UNSAT on the emitted CNF (\(350\) variables, \(3575\) clauses).

\(k=5\) (NO). \(S(4,5,10)\) fails divisibility (\(\lambda_2=\binom{8}{2}/3=28/3\)); no Steiner system, so \(\chi(J(10,5))\ge 7\).

\(k=6\) (NO) — the case Erdős and Rosenfeld were unsure about. Here \(k+1=7\) is prime and \(S(5,6,12)\) exists, so — as at \(k=4\) — the obstruction is at the large-set level. We settle it directly: CaDiCaL proves the \(924\)-vertex, \(7\)-colour instance \(J(12,6)\) UNSAT in \(328\) s (with one anti-star clique fixed to the identity colouring), so \(\chi(J(12,6))>7\) and \(835(6)\) is NO — an independent confirmation of Brouwer's tabulated value rather than a citation of it.

5. The frontier

Combining the above with [MT25]: \(835(k)\) is NO for every \(k>2\) with \(k+1\) composite (Theorem 2, independently of [MT25]), and for \(k+1\) prime it is NO whenever either the Steiner system \(S(k-1,k,2k)\) fails to exist (so \(A(2k,4,k)

Frontier. The smallest unresolved case is \(k=16\) (\(k+1=17\) prime): \(835(16)\) is YES iff \(A(32,4,16)=C_{16}\) with a perfect tiling, i.e. iff a Steiner system \(S(15,16,32)\) exists and seventeen disjoint copies partition \(\binom{[32]}{16}\). The elementary and recursive bounds both stall here by construction; deciding it needs either the exact value \(A(32,4,16)\) or a direct existence/nonexistence proof for \(S(15,16,32)\). The prevailing belief, consistent with everything above, is that \(835\) is NO for all \(k>2\) (equivalently \(\chi(J(2k,k))\ge k+2\)).

6. Reproduction

python -m pip install python-sat sympy
python sieve_835.py            # Theorem 2 sieve (2..300), strict-gap check, survivors = {k+1 prime}
python settle_835.py 2 3 4     # own prover + CaDiCaL/Glucose/MiniSat, DIMACS emitted, witnesses verified
python crosscheck_nosym.py 2 3 4   # independent full search, NO symmetry break
python johnson_bound_835.py    # recursive Johnson bound; hard core = {k+1 prime}, 3..60

7. Artifact ledger

ArtifactPurpose
note-erdos-835.mdMarkdown source of this note
sieve_835.py · outputDivisibility⇔primality sieve; strict-gap \(k+2\)
settle_835.py · outputFive-oracle settlement of \(k=2,3,4\); witness + DIMACS
crosscheck_nosym.py · outputIndependent full search, no symmetry break
johnson_bound_835.py · outputRecursive Johnson bound; hard core = \(\{k+1\text{ prime}\}\)
witness_k2.jsonVerified \(3\)-colouring of \(J(4,2)\)
J_8_4__5col.cnfDIMACS for the \(k=4\) UNSAT instance
claim-ledger.jsonClaim-by-claim evidence map
SHA256SUMS.txtIntegrity ledger

References

  1. P. Erdős, "Problems and results in combinatorial analysis," 1974 [Er74d, p.283] (problem of Erdős and Rosenfeld).
  2. T. F. Bloom, "Erdős Problem #835," erdosproblems.com/835, accessed 2026-07-23.
  3. Y. Ma and Q. Tang, "On Erdős Problem 835" [MT25], github.com/QuanyuTang/erdos-problem-835 (χ(J(2k,k))>k+1 for all k>2 with k+1 composite).
  4. A. E. Brouwer, "Johnson graphs" data tables, aeb.win.tue.nl/graphs/Johnson.html (chromatic numbers, 3≤k≤8).
  5. Google DeepMind, "formal-conjectures / ErdosProblems / 835.lean," accessed 2026-07-23.
  6. E. Agrell, A. Vardy, K. Zeger, "Upper bounds for constant-weight codes," IEEE Trans. Inf. Theory 46 (2000), 2373–2395.
Bottom line. Problem 835 is a proper-colouring question on the middle Johnson graph, and a YES at \(k\) is exactly a large set of \(k+1\) Steiner systems \(S(k-1,k,2k)\). The design divisibility for that Steiner system holds iff \(k+1\) is prime — an elementary, machine-verified certificate that kills every composite case and pins the open frontier to \(k=p-1\). The base cases \(k=2\) (YES) and \(k=3,4,5,6\) (NO) are settled here with agreeing independent oracles; \(k=4\) and \(k=6\) are the cases where the Steiner system exists but its large set does not. The smallest genuinely open case is \(k=16\).