A new best-known dominating set for the twelfth Fibonacci cube, and a month-long solver run that returned no answer
A network puzzle: pick as few points as possible so that every point is picked or linked to a picked one. A search I ran with Claude found a smaller set than any published.
The network is called the twelfth Fibonacci cube, and the new set is now the best known, listed in the OEIS. A month-long solver run that tried to raise the lower end of the known range for the true minimum was stopped before it answered, so the range is unchanged.
The question
Picture a network of points joined by links, and suppose you want to place guards on as few points as possible so that every point either has a guard or is linked to a point that does. A set of guarded points like that is called a dominating set, and the question is how small it can be.
The network here is the twelfth Fibonacci cube. Each of its points is a string of twelve 0s and 1s with no two 1s next to each other, and two points are linked when their strings differ in exactly one place. It has points and links. A 2018 paper by Azarija, Klavžar, Rho and Sim showed that any dominating set needs at least points, and found one with . The OEIS (the Online Encyclopedia of Integer Sequences, a public database of number sequences) records that range in entry .
A smaller covering set
In August 2026, Claude, the AI model I work with, ran a solver search that found a dominating set of points. Before trusting it, I had it checked by a separate program written directly from the definition, sharing no code with the search, and it covers every point. That set is now listed in as the best known, so the range is to . This is the main result. The search that found it did not find anything smaller, and a separate attempt at 57 points was cut off before it finished.
The month-long run
The bottom of the range is harder. The solvers used in that August search, an integer-programming solver (SCIP) and Google's CP-SAT, report a rising lower bound as they work, but their best lower bound stopped climbing at about 51, below the that was already published. So I tried a different approach: ask a SAT solver, a program that settles yes-or-no logic puzzles, the single question "is there a dominating set of at most points?" A yes would have settled the problem at . A proven no would have narrowed the range to 55 to . There are more than 10^66 ways to choose of the points, so checking them one by one was never an option.
The run started on August 21, 2026, on one core of my laptop. Run the way I ran it, the solver printed nothing until it had an answer, so there was no way to tell how close it was.
On September 3, a Claude agent doing a read-only audit of my project records flagged that the run had no rule for when to stop. I set day , September 11, as the point to decide. On that day an agent laid out the options for me (stop, keep going, or restart in a form that could resume after a crash), none with a reliable time estimate. I chose to keep going and asked for everything about the run to be recorded. Because the solver kept all its progress in memory, a reboot would have lost every hour of it, so the exact question was saved and a small watcher program was attached to capture any answer the moment the solver stopped. No reboot happened.
On September 20, 2026, after , the solver had still printed nothing, and I ended the run and asked for everything we had to be published. The watcher confirmed it stopped without an answer.
What the run did and did not show
A solver stopped before it answers proves nothing, however long it ran. The run did not show that points are impossible, and its length is not evidence either way. The range is still to .
What I now decide before a long run
Three things should be settled before a long job starts: when to stop, how progress gets saved, and whether the program keeps a proof log, so that a final "no" comes with a proof anyone can check rather than the solver's word for it. Only the stopping rule can be added once the job is running. In this run it was added weeks in, and the other two were missing throughout. The plan written up for a next attempt fixes both: it splits the question into many small pieces, saves each piece's answer to disk as soon as it is found, and logs a proof, so a crash would cost one piece instead of a month.
What I published
The same night the run ended, everything needed to check or repeat the work went into a public repository: the -point set with its own checker, the exact question the solver was given, the run record, and the plan for a next attempt. It is archived on Zenodo with a DOI (a permanent, citable identifier): . Its README describes it the same way this post does: a documented attempt that changes no bound, whose result is the verified set.
For specialists
First round (August 2026): OR-Tools CP-SAT minimization and SCIP ILP, with reversal symmetry breaking, reproduced A291295 for n = 1 to 10 with optimality proved by both routes; on Γ_12 the best solver lower bound stalled near 51 and the incumbent reached (a size-≤59 feasibility run); the CP-SAT run that found it found nothing smaller, and a size-57 push was cut off by the environment's background-job limit. An independent 2-packing gives only γ ≥ 41.
Encoding of the decision run: closed-neighborhood covering clauses over the
vertex variables, PySAT's seqcounter cardinality
encoding for at most chosen vertices, and lex-leader symmetry
breaking on the bit-reversal involution. The symmetry breaking
is sound for UNSAT because every solution orbit retains its lex-leader. The instance has
variables and clauses,
as stated in its DIMACS header and printed by the process at launch. (An earlier
planning note quotes larger figures; they describe an encoding that was replaced before
launch.) It was regenerated from the encoder twice after launch, byte-identical
both times, and its SHA-256 hash is stored beside it in the deposit. As a launch-night check,
the same encoder at k = 70 returned SAT in ▲ seconds and
the witness was verified as dominating; the witness file itself was not kept, and the deposit
says so.
Solver: CaDiCaL 1.9.5 through PySAT, one process, one core, no proof log, no checkpoint (learned clauses live in memory only). Started 2026-08-21, terminated by SIGTERM on 2026-09-20 at the author's instruction; the last process-table line shows elapsed and CPU-hours. The watcher recorded no answer file. Without DRAT output even an UNSAT verdict would have been the solver's report rather than a checkable proof. The follow-up method in the deposit is cube-and-conquer with DRAT logging: a lookahead splitter divides the instance into cubes, each cube's verdict is appended to disk as found, and an UNSAT result becomes checkable with drat-trim.
The deposit holds files: the 59-set with a verifier sharing no code with the search, the k = 54 CNF with its hash and the script that regenerates it, the run record, saved copies of the OEIS entry and the source paper (Azarija, Klavžar, Rho, Sim, "On domination-type invariants of Fibonacci cubes and hypercubes", Ars Mathematica Contemporanea 14 (2018) 387-395, Table 3), a manifest, and a script that rechecks all of it on a fresh clone. Code under the MIT license; data and text under an open license.
Notes on the numbers marked ▲
- seconds the same encoding took to find a dominating set of size seventy, the launch-night sanity check that the encoder was asking the right question: The size-seventy witness file itself was not kept; the check is known from the run plan and the ledger only, and the deposit says so.
These notes appear in every version of this page.
How to cite this
Tyler Satchel Orden (2026). A new best-known dominating set for the twelfth Fibonacci cube, and a month-long solver run that returned no answer. Cyborg Mathematics. https://cyborgmathematics.com/writing/thirty-days-no-answer (updated October 22, 2026)
This page has no DOI of its own. Cite the URL and the date.
BibTeX
@misc{orden2026thirtydaysnoanswer,
author = {Tyler Satchel Orden},
title = {A new best-known dominating set for the twelfth Fibonacci cube, and a month-long solver run that returned no answer},
year = {2026},
howpublished = {Cyborg Mathematics},
url = {https://cyborgmathematics.com/writing/thirty-days-no-answer}
}See also
- A dropped digit sat in an OEIS entry for years until a Claude agent spotted it. What that means for anyone who copies values from reference tables.What a long-standing error in a math database means for anyone who copies reference values
- When you hand someone results made with AI agents, they need to know what they can check from what you gave them and what they have to take on trust. An editor of a public math database asked me exactly that about a count I had added. The honest answer was "at least this many", not "exactly this many".I called my evidence "certificates." An OEIS editor asked what they proved.
- Every run first had to reproduce the expert's published tables exactly. That let him check the new work on his own machines instead of taking my word for it.Extending an expert's tables for unsolved take-away games in a way he could check himself
- An entrance test for an AI-built search program caught a rule that would have thrown away the very solid it was looking for. Then a reviewer's pointer showed the "new" solid had been printed, unnamed, in a 2016 survey.Before my AI pipeline could hunt for new shapes, it had to rebuild a known one