Andrey Pluzhnik — ORCID 0009-0005-5660-2603 ·
In 1988, on page 699 of Annals of the Institute of Statistical Mathematics 40, Masaaki Sibuya wrote down an inequality about the Stirling numbers of the first kind, said the numbers suggested it was true, and left it there. He printed it as equation (3.4), gave it no theorem number, no proof, and never referred to it again.
This repository contains a proof of it.
"Numerically, it is suggested that the sequence
(3.4) (m-1)(2n+m)/(n-m+1) · [n;m]/[n;m-1], m = 2, 3, ..., n-1,is strictly decreasing and the same for m = n-1 and n, and that [...]"
The sentence continues with a second conjecture, (3.5), for the Stirling numbers of the second kind. That one is still open; see the end of ARTICLE.md.
Here [n;m] is the unsigned Stirling number of the first kind: the number of ways to seat n people at m
round tables. Write p_j = c(n, n-j)/C(n-1, j) for the normalised row. Sibuya's first sentence says exactly
this:
p_j² / (p_{j-1} p_{j+1}) ≥ 1 + 1/(3n - j) for every n ≥ 3 and every 1 ≤ j ≤ n-2,
strict for j ≥ 2, and an exact identity at j = 1, where both sides equal 1 + 1/(3n-1). The identity is his
trailing clause "and the same for m = n-1 and n": those two terms of his sequence equal 6 for every
n ≥ 3. The constant cannot be improved — replacing 1/(3n-j) by 1/(3n-j-1) makes the statement fail at
j = 1 for every n ≥ 3.
Newton proved in 1707 that the left-hand side is at least 1. Sibuya's 1/(3n-j) says how much more than 1
it is. That extra amount cannot come from a general theorem: if all the roots coincide the ratio is exactly 1
at every index, so the universal floor for real-rooted polynomials is 1 and nothing better. Any proof of a
floor above 1 has to be about one family.
Thirty-eight years passed. Under the literature search recorded in
LITERATURE_SIBUYA_PRIORITY_2026-09-07.md, and the adversarial re-search that assumed a prior proof exists and
went looking for it, REDTEAM_SIBUYA_PRIORITY_2026-09-07.md, no proof, disproof, restatement or partial result
was found. That search has named holes; they are listed in LIMITATIONS.md, and one of them can
change the framing of this paper.
The figure: what the bound promised, and what is actually there — one row of the
triangle, exact rationals, the true margin against Sibuya's floor. They touch at the first index and separate
afterwards. A plain-language page for the same result is site/sibuya.html.
uv sync
uv run python scripts/prover_sibuya_final.py
The script prints a verdict and exits 0 or 1. It runs the only two finite parts of the proof, and more of them
than the proof needs: the base of the induction for every N ≤ 12 (the proof needs N ≤ 3), the k = 1
inequality for 2 ≤ N ≤ 3000 (the proof needs 2 ≤ N ≤ 34), and the full statement for every N ≤ 90 and
every index.
Nothing else in the proof is finite, and nothing else in it requires a computer. The base is three integers:
after multiplying by (N!)² they are 0, 44, 0. A reader can confirm them by hand.
Differentiating a real-rooted polynomial leaves the mean of its roots alone and shrinks their relative variance by a factor you can write down. Reversing the coefficient vector turns the roots into their reciprocals, giving a second, mirror-image operation. Both operations are classical: they are Lemmas 2.2 and 2.3 of Niculescu, A new look at Newton's inequalities, JIPAM 1 (2000), no. 2, Article 17, and they are cited as such here, not presented as new. Applying them until two roots are left turns the statement at one index into a statement about one quadratic.
What is new is the induction on the length of the row. Its step uses one application of the Cauchy–Schwarz
inequality to the roots of a derivative of x(x+1)···(x+n-1), and two explicit polynomials, Z and C, whose
positivity is visible from their coefficients:
Z = 8v³ + 12uv² + 64v² + 28uv + 120v + 16u + 64
C = 72u³ + 156u²v + 900u² + 132uv² + 1368uv + 3780u + 40v³ + 584v² + 2968v + 5304
with u = k-2 ≥ 0 and v = N-k-2 ≥ 0 covering the interior of the row. Every coefficient is non-negative, so
there is no threshold in n and no case that grows with the row.
The full argument is in manuscript/main.tex; the plain-language companion is
ARTICLE.md.
Two checkers of different kinds re-derived the argument. Neither read, imported or ran the author's code.
- Theorist kind (
VALIDATION_SIBUYA_INDUCTION_T_2026-09-07.md). The derivation was redone symbolically in a second computer-algebra system and then numerically with every denominator cleared to integers, so a library defect would have to appear twice. About 128 500 exact checks, 0 mathematical failures. Four corrections were returned; one was a false intermediate line, and it was corrected in place. None of the four changed the argument. - Engineer kind (
VALIDATION_SIBUYA_INDUCTION_E_2026-09-07.md). Both certificates were rebuilt from their definitions and recovered by exact interpolation, without looking at the printed polynomials; they came out identical, coefficient by coefficient. The induction step was fed inputs with every hypothesis saturated to equality — it still concludes. 118 927 exact indices up toN = 16002, 0 violations. Thirteen negative controls, twelve of which fired; the one that could not fire is named in the report rather than replaced. - Against a false neighbour. The same certificate machinery was run on the nearest statement that is false
(
1/(3n-j)replaced by1/(3n-j-1)). The certificateZacquires three negative coefficients and falls to-4125, so the machinery refuses to certify it. A certificate that cannot tell a true statement from a nearly-true one proves nothing. - Against the original paper. The 1988 article was read from the publisher's scan, with every formula read from page renders because the scan's text layer garbles them. The translation between Sibuya's printed sequence and the inequality proved here was checked index by index in exact arithmetic — 703 and 990 pairs by the librarian, 946 more by the red team, 0 mismatches.
No human has refereed the proof. LIMITATIONS.md says what that leaves open.
The surface is the excess n(p_j²/(p_{j-1}p_{j+1}) - 1), computed exactly. Left to right runs the index along
the row; into the page runs the row length, doubling each step; up is the excess. The flat plane is 1/3, the
relative variance of the roots 1, 2, ..., n-1 in the limit, and the theorem keeps the surface above it. The
yellow path is the lowest edge — the first index — sinking towards 1/3 without reaching it.
For the centred-square spectrum {(n-2k)² : k = 1..n-1} — the odd squares, each taken twice — the same
phenomenon has a different constant.
Theorem. With M(n,t) = n (p_t²/(p_{t-1}p_{t+1}) - 1), M(n,t) > 4/5 for every odd n ≥ 5 and every
t < n/2. The constant is sharp: M(n,1) decreases to 4/5 and never reaches it.
This spectrum governs partial-wave positivity for the three-parameter family of deformed Veneziano amplitudes of Cheung, Hillman and Remmen (arXiv:2406.02665). Carrying the theorem back to that problem is not done here.
Its proof is a finite decomposition into five machine-checked pieces, not an argument on paper. It is summarised in the manuscript and reproduced by:
uv run python scripts/theorem.py --full # ~7 min
In both cases the floor is the relative variance Var(b)/E(b)² of the spectrum in the limit: 1/3 for
1, 2, 3, ..., and 4/5 for the odd squares. For b_k = k^q the constant is q²/(2q+1).
| file | what it is |
|---|---|
manuscript/main.tex |
the paper: the proof, the two finite checks, the route that cannot work, and what stays open |
| ARTICLE.md | the same in plain language, for a reader who is not a combinatorialist |
| LIMITATIONS.md | what separates this from a refereed theorem, and what would change the framing |
| AI_DISCLOSURE.md | how the proof was produced, role by role |
site/ |
the result page and the interactive figure |
| OUTREACH.md | who works on this subject, with verified affiliations |
| PUBLISH.md | the steps for putting a version on GitHub and Zenodo |
| PAPER.md | the working notebook of 2 September, kept for the routes it records that failed; its statements are superseded by the manuscript |
scripts/ |
prover_sibuya_final.py is the two finite checks of the main theorem; theorem.py and its certificates are the second theorem; the remaining sibuya_*.py scripts are an earlier, purely computational partial route to the main theorem, which the induction supersedes |
data/ |
the two figures |
results/ |
logs of every run and the two independent validations |
LITERATURE_SIBUYA_PRIORITY_2026-09-07.md, REDTEAM_SIBUYA_PRIORITY_2026-09-07.md |
the primary source read at the page images, the citing literature, and the search that tried to break the priority claim |
Everything that decides a claim is exact rational arithmetic (python-flint's fmpq, fmpq_poly,
fmpz_poly) or certified interval arithmetic (arb, acb). Floating point appears only in printing, in the
adaptive choice of box and step sizes, and in loop bookkeeping — never in a comparison a conclusion rests on.
Every run writes a log under results/.
MIT (see LICENSE). Please cite the concept DOI 10.5281/zenodo.22282839, which resolves to the current version, and the ORCID above.
The proof was constructed and the code written with an AI assistant (Claude, Anthropic), under the author's direction. AI_DISCLOSURE.md says which part of the work each role did, and what a human has and has not checked.