bench: pre-register the Tseitin torus ladder + resumable long-run harness - #68
Merged
Merged
Conversation
…ness
Registered before any ladder data is collected, so the predictions in
benchmarks/TSEITIN_LADDER.md can actually be falsified.
The ladder separates two axes that the 3x3/4x4 points conflate. Tseitin
refutations need size 2^Omega(expansion) and for an r x c torus that is
governed by min(r, c), so the square cases (3x3, 4x4, 5x5) are the
exponential axis while 4x4..4x7 grow the formula at fixed expansion.
Predicted: 5x5 >= 20x the 4x4 resolutions, each 4xN step only 1.3x-5x,
and peak_learnts growing sub-linearly in resolutions.
The harness is built for this box's daily ~05:57 reboot, which wipes /tmp
and kills whatever is running:
* results land under ~/eigenminisat-runs, never /tmp
* each case is a separate timeout-capped process appending as it goes
* cases already in banked.log are skipped, so re-running resumes; a
@reboot cron entry does that automatically
* flock keeps the cron resume from racing a manual run (4GB box, one
heavy job at a time)
* progress lines every 300s via stdbuf -oL, so a case killed mid-run
still leaves a conflicts-vs-time trajectory rather than nothing
DRAT recording is off for the ladder: proofs buffer whole in memory and a
multi-million-step refutation would exhaust RAM.
Verified: the runner reproduces the banked 3x3 numbers exactly
(673 conflicts / 1974 resolutions) through the budgeted-session path,
cross-validating it against the one-shot solve; driver smoke-tested for
resume-skip, timeout recording, and idempotent banking.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pre-registration, committed before any ladder data is collected so the predictions can be falsified rather than fitted after the fact.
Why a ladder
The two Tseitin points banked so far (3×3 = 1,974 resolutions; 4×4 = 95,516) conflate two axes. Tseitin refutations need size 2^Ω(expansion), and for an
r × ctorus expansion is governed bymin(r, c):min(r,c)stays 4, so hardness should grow much more slowly.Predictions (registered)
peak_learntsgrows sub-linearly inresolutions. If space tracks size proportionally, learnt-DB reduction isn't working — that would be a solver finding, not a proof-complexity one.Harness: built for the daily reboot
This box reboots ~05:57 (mac80211 CSA kernel bug), wiping
/tmpand killing whatever runs. A plainnohupwould lose the night. So:~/eigenminisat-runs, never/tmptimeout-capped process, appending as it goesbanked.logare skipped → re-running resumes; a@rebootcron entry does it automaticallyflockstops the cron resume racing a manual run (4GB box — one heavy job at a time)stdbuf -oL, so a killed case leaves a conflicts-vs-time trajectory instead of nothingDRAT recording is off for the ladder — proofs buffer whole in memory (see GAPS.md) and a multi-million-step refutation would exhaust RAM.
Verification
DONEline after repeated runs)bash -ncleanNo changes to the solver, the suite, or any existing bench mode — this is additive harness plus a registration document.
🤖 Generated with Claude Code