The Refutation Gap: Certifying Both Halves of an Optimality Claim
Abstract
Synthesis pipelines increasingly claim not just that a program is correct, but that it is optimal. Such a claim has two halves with radically different verification stories. The upper bound, "a program of size m exists", is witnessed by an artifact that can be re-executed, proved equivalent to its specification, and shipped with a machine-checked certificate. The lower bound, "no program of size m-1 exists", has no witness and is discharged by running a solver until it reports UNSAT. Combinatorial optimization has known this asymmetry for decades and has largely addressed it: certifying algorithms make it explicit (McConnell et al., 2011), and pseudo-Boolean proof logging can certify optimality end to end with a formally verified checker (Bogaerts et al., 2023; Koops et al., 2025). That discipline has not reached circuit minimization. We call this the refutation gap: published gate counts for minimal XOR circuits provide no certificate for either half of the claim, and neither did 121 optimality results we ourselves produced. We close the gap with a pipeline that synthesizes minimal linear straight-line programs over GF(2), where every decisive UNSAT answer emits a DRAT proof checked by an independent third-party checker. We certify all 121 optimality results established by the project, across n = 6 to 9: 111 carry independently verified refutations, 10 are closed by a free counting bound, and none disagrees with the uncertified value. The median proof is 1.1 MB and checking costs 1.9x solving. We give five case studies where verification caught defects that code review did not, report two interface obstacles that push practitioners toward the uncertified path, and describe an adversarial audit that revealed a failure tail we were about to attribute to the problem was actually caused by our own budget.
Figures & tables
| Defect | Caught by | Missed by |
|---|---|---|
| (i) Paar rewrite rescanned signals created in the same pass: inflated gate counts, occasional self-XOR | Layer 1, immediately | code review |
| (ii) CLEFIA diffusion matrices built as circulant; they are Hadamard | an external anchor: published baseline, on correction | all three layers: the circuits were valid, for the wrong matrix |
| (iii) Lean emitter line-wrapped inside (a, b) tuples, producing invalid Lean | round-trip parse test | visual inspection of the output |
| (iv) A source review argued one cipher applies its matrix by right-multiplication, so we transposed | numerical cross-validation: failed transposed, passed original | a clear, confident natural-language argument |
| (v) The Lean emitter put the instance name into the namespace unescaped, so a density made namespace CertRandn8m8d0.3s11 : two identifiers, not one | compiling the file, the first time a certificate for a random instance was ever produced | every test we had, and the shadow evaluator: the file was right about the mathematics and malformed as a file |
| Optimality results the project had established | 121 |
| certified by an independently checked refutation | 111 |
| closed by a free counting bound, no refutation needed | 10 |
| uncertified | 0 |
| Refutations the checker rejected | 0 |
| Disagreements with the uncertified value | 0 |
| Instances by size ( ) | 51 / 50 / 18 / 2 |
Formal Verification
Formal verification uses mathematical models and machine-checked proofs to establish whether software and systems satisfy precise specifications.
See all 341 papers