A report archived by the project, published as it was written. All reports · Markdown source
Cited as an artefact by: u-prime-certificates-2026-09-27

DRAT certificates for Theorem U′, (R⁺) and (S≥1) on the (L,L,L) torus at L = 4, 5 and 6, with controls, an independent encoding and a corpus check; Theorem H at L = 4, 5, 6 modulo the 2026-09-27 reduction and K_u

Claude (Opus), agent cert, for Lyndon Drake

2026-09-27

Status tags as in the note. certified means: the CNF is written to a file, cadical 3.0.1 refutes it with a DRAT proof, drat-trim prints s VERIFIED, and the control CNF is SAT with its witness decoded and re-checked by arithmetic. All computation ran on the primary Mac in the project .venv, one solver or checker process at a time, each a child process with a hard subprocess.run timeout. No Spark was used, nothing was committed, and no tracked file was edited. New scripts are scratch_h/h280_certlib.py, h281_cagecheck.py, h282_certify.py, h283_symcheck.py, h284_corpus.py and h285_summary.py. Certificates are in scratch_h/certs/h282_*, with results in certs/h28x_results.jsonl and SHA-256 sums in certs/h28x_sha256_2026-09-27.txt.

Notes by the main loop (2026-09-27). (i) The independent check of the reduction has since landed (2026-09-27-opus-check.md: confirmed, no gap), so the first caveat of §6 is met. (ii) Lemma A in §6 (iii) is not needed for H: a state with a type absent has an empty axis. (iii) Main-loop verification of these certificates: drat-trim re-run on two kept proofs (U′ at L = 4, (R⁺) at L = 6, separation 11), s VERIFIED; one proof that was not kept (U′ at L = 5) regenerated with cadical, its SHA-256 equal to the recorded one, s VERIFIED in 4.1 s, its control SAT. (iv) The h282_* files are not committed (738 MB); the hashes and the verdict file are.

1. Verdict table

Each row covers every query of that statement at that L. Times are wall-clock per query (maximum over the row). Proof sizes are in bytes.

statement L queries verdict solve (max) proof size drat-trim control
Theorem U′ 4 16 16 × UNSAT 2.4 s 36.1–44.9 MB 16 × s VERIFIED (≤ 1.8 s) 16 × SAT, witness ok
Theorem U′ 5 16 16 × UNSAT 9.5 s 114–147 MB (not kept) 16 × s VERIFIED (≤ 5.5 s) 16 × SAT, witness ok
Theorem U′ 6 4 4 × UNSAT 22.2 s 315–385 MB (not kept) 4 × s VERIFIED (≤ 12.2 s) 4 × SAT, witness ok
(R⁺) 4 16 16 × UNSAT 0.15 s 22 B – 0.24 MB 16 × s VERIFIED 16 × SAT, witness ok
(R⁺) 5 20 20 × UNSAT 0.9 s 22 B – 1.9 MB 20 × s VERIFIED 20 × SAT, witness ok
(R⁺) 6 24 24 × UNSAT 6.6 s 22 B – 12.2 MB 24 × s VERIFIED 24 × SAT, witness ok
(S≥1) 4 4 (gaps 1–2, A and B) 4 × UNSAT 0.1 s 26–141 kB 4 × s VERIFIED 4 × SAT, witness ok
(S≥1) 5 6 (gaps 1–3, A and B) 6 × UNSAT 0.6 s 89 kB – 1.1 MB 6 × s VERIFIED 6 × SAT, witness ok
(S≥1) 6 8 (gaps 1–4, A and B) 8 × UNSAT 3.8 s 0.67–6.7 MB 8 × s VERIFIED 8 × SAT, witness ok

All 114 certificates are listed individually in certs/h28x_results.jsonl. The finite side facts were also checked:

Timing estimates made before each batch (brief’s rule):

Every batch ran in the foreground, and nothing went to the queue.

Proofs not kept. 20 proofs are larger than 50 MB: U′ at L = 5 (16 proofs) and at L = 6 (4 proofs). Each was deleted after drat-trim verified it. Its SHA-256 and size are recorded, and its CNF is kept.

certs/h282_* is large: 437 MB of CNFs and 301 MB of kept proofs. Of the proofs, 152 MB are the four U′ proofs at L = 4 and most of the rest are (R⁺) at L = 6. Everything is regenerable with h282_certify.py. Before committing, decide whether to commit the files, gzip them, or keep only the hash file and results.

2. What each certificate proves

Models. The encoding is h280_certlib.Model. It was written from the definitions in rods §1, not from a4_typemodel or h213, and has no auxiliary variables.

Theorem U′ (certified at L = 4, 5, 6). Setting: the (L,L,L) torus. Let:

Then no type field of 𝒯 has an odd hexagon. The same therefore holds for every frozen state (§5).

Cage table (finite, re-derived in h281_cagecheck.py). This is the check behind Lemma O at straight holes.

Lemma O at straight holes. An unoriented straight hole carries the full pattern aa/bb or bb/aa. That pattern contains the four literals of U′ for any choice of bridgeheads, so the state has no odd hexagon. Only the trivial direction “full pattern ⇒ four literals” is used; the converse, Lemma U0, is not needed.

(R⁺) (certified at L = 4, 5, 6). In 𝒮: take u ∈ A and w ∈ B with w − u = (s, e₁, e₂) along (k, k+1, k+2), where e₁, e₂ = ±1 and s is odd. There are L residues of s mod 4L per (e₁, e₂), fixed by s + e₁ + e₂ ≡ 3 (mod 4). These are every k-separation that occurs on the torus. Then τ(u) = τ(w) = k together with ε(u) ≠ ε(w) is UNSAT.

(S≥1) (certified at L = 4, 5, 6). In 𝒮, no oddness: take v of either sublattice and w = v + 4(g+1)e_k with 1 ≤ g ≤ L − 2. These are all the gaps that occur: g = L − 1 would give w = v. Then τ(v) = τ(w) = k, together with τ(v + 4r e_k) ≠ k for 1 ≤ r ≤ g, and ε(v) ≠ ε(w), is UNSAT.

Controls. Each control is the query without its negated conclusion (U′), or with the conclusion asserted, ε(u) = ε(w) (R⁺ and S≥1). All 114 are SAT. Each witness was decoded and re-checked by arithmetic, not by the CNF: one-hot, (T2) counted per hexagon, the bond rule from positions, and the hypothesis literals. The U′ control witnesses have 0 odd hexagons, as they must. Earlier runs agree with these verdicts: h119 (U′, L = 3, 4, 5), extremal §9 (R⁺, L = 3, 4, 5) and rphand row 14 (S≥1, L = 4, 5). L = 6 is new for all three.

3. Symmetries relied on

A literal permutation σ with σ(F) = F gives: F ∧ H is UNSAT ⟺ F ∧ σ(H) is UNSAT. h283_symcheck.py checks σ(F) = F as a clause-set identity on the full base CNF at L = 4, 5 and 6. The generators are:

generator type + sign type-only + odd
translations (2,2,0), (2,0,2), (0,2,2) ok ok
cyclic permutation C: e_x → e_y → e_z ok ok
transposition y ↔︎ z ok ok
inversion p ↦ (1,1,1) − p (A ↔︎ B; negates ε in 𝒮) ok ok
global sign flip ε ↦ −ε ok –
rotation (x, y, z) ↦ (−x, −y, z) not a literal map on ε (control: fails, as it should) ok

A deliberate non-symmetry was used as a control and is rejected at every L.

What the certificates cover, and which arguments they rest on:

Nothing else is needed at L = 4 and 5, because both sublattices, both orders and every bridgehead choice (U′), every offset (R⁺), and every gap on both sublattices (S≥1) were certified directly.

At L = 6, U′ also uses the orbit computation. All 32 cage-preserving lattice maps were each checked to be automorphisms of the type-only CNF, and they join the 16 U′ hypotheses into one orbit at every L tested (4, 5, 6). So a single certificate would suffice at each L. The 4 direct certificates at L = 6, one per sublattice and order, are redundant on that argument.

4. Independent encoding check (corpus)

h284_corpus.py ran on the whole odd corpus (h38_lib.load_odd_corpus). For every state:

  1. Signs were obtained from the types by BFS on the bond rule. They were always consistent.
  2. Both full base CNFs were evaluated clause by clause, with s(h) = [h odd]. Nothing was falsified, and the clause “some hexagon odd” held.
  3. Every occurrence of each hypothesis, at every position and on every axis, was counted, and the conclusion was checked on it.
  4. For the first occurrence per (state, query, axis), the state was carried by a translation composed with a power of C, plus the flip if needed, so that the occurrence sits at the certificate’s base vertex. The certificate’s own clause sets were then evaluated on the image: the hypothesis-only CNF and the control CNF must be satisfied, and the query CNF must be falsified.

U′’s full pattern cannot occur in an odd state. So for U′ the sub-patterns “rods + one lower a” and “rods + one upper b” (plus “some hexagon odd”) were placed at the base cage and evaluated instead. This checks the rod and bridgehead geometry of the encoding.

An evaluator control (one type changed, or one sign changed) is caught (10, 8 and 4 clauses falsified).

check L = 3 (637 states) L = 4 (720 states)
base CNFs satisfied; some hexagon odd 637 / 637 720 / 720
(R⁺) occurrences / conclusion fails 388 728 / 0 1 533 656 / 0
(R⁺) placed and evaluated / hyp-only, control, query wrong 15 831 / 0, 0, 0 23 535 / 0, 0, 0
(S≥1) occurrences / conclusion fails 25 758 / 0 99 524 / 0
(S≥1) placed and evaluated / wrong 2 232 / 0 4 768 / 0
straight cages; U′ pattern occurrences 60 258; 0 190 470; 0
U′ sub-patterns placed and evaluated / CNF falsified 5 878 / 0 7 360 / 0

So no UNSAT verdict can come from an over-constrained base or hypothesis encoding: real frozen states satisfy every hypothesis-only CNF, and every control CNF, wherever the pattern occurs.

5. Is (T2) part of the model, and are the solutions exactly the frozen states?

(T2) is legitimately part of the model. It is a theorem of frozen states on the torus (Lemma L; the note’s source–sink form, line 588). A match is a vertex where the hexagon’s two bonds are both in or both out, so the matches are the hexagon’s sources and sinks. A non-flippable hexagon has at least one source. Every vertex is the source of exactly two hexagons, so Σ_h #sources = 2|V| = |Hex|, and each hexagon has exactly one source and one sink, hence exactly two matches.

The solutions of 𝒮 are exactly the frozen ice states (rods §1):

𝒯 is a strict superset of the frozen type fields (there is no cocycle condition), so the U′ certificates prove more than Lemma O needs.

“Some hexagon odd” in the certificates is exactly “not curl-free”, by the A-count form κ_h ≡ 1 + #A-rev(h) (mod 2).

6. What can now be written about Theorem H

Theorem H holds on the (L,L,L) torus for L = 4, 5 and 6: in every frozen state in which all six dipole directions occur, every hexagon has even curl. This rests on the following.

Caveats to state with it:

7. What was not reached

Reproduce, from scratch_h with the brief’s environment line:

(U′ at L = 6 was run as h282_certify.py U 6 0,yz,0,0 0,zy,0,0 1,yz,0,0 1,zy,0,0.)