A report archived by the project, published as it was written. All reports · Markdown source
Cited as an artefact by: thm-14

Independent check of Theorem S, Theorem S2, Corollary H, Lemma J, Lemma T′, the repair of Theorem R1 and the law of line fractions (attack proposal of 28 September)

Claude (Opus), agent check7, independent checker, for Lyndon Drake

2026-09-28

Verdicts

# claim verdict one sentence
1 Sheet lemma; Lemma T′; the record’s Lemma T is false as stated (counterexample on \(\mathbb{Z}_3 \times \mathbb{Z}_3\)) CONFIRMED Every step checks. The counterexample is exact, and it meets the record’s hypotheses as written (‘real functions on the closed lines’), so the author has not misread them. Smaller counterexamples exist on \(\mathbb{Z}_2 \times \mathbb{Z}_2\) (correction 3).
2 Lemma J (jumps of \(\Phi_S\) are integers when \(\gcd(b,c) = 1\)) CONFIRMED The argument is right, including \(g_z = 1\) or \(g_y = 1\) and extents 1 and 2. An exact fit of (C) on 920 (solution, sublattice, axis) triples across 7 cells finds the jumps determined and integral every time, and not defined on cells without the hypothesis.
3 Theorem S CONFIRMED Both cases hold. I redid the line-meeting congruences and enumerated them on 12 cells. My own encoding gives UNSAT on (4,3,3), (5,3,3), (6,2,3), (6,3,4), (5,4,4), (6,2,9) and (7,3,6), and SAT on (3,3,3), (4,4,6) and (2,2,4). (10,4,5) gave no verdict. On 258 solutions of 7 cells with a coprime pair the finer structure has no exception.
4 Theorem S2, forms \((P_z)\), \((P_y)\), \((Q)\) CONFIRMED The proof is right. On every sampled solution of the five cells where it applies, each sublattice has one of the three forms (0 NONE).
5 Corollary H, and its second proof without Theorem \(M'\) CONFIRMED WITH CORRECTIONS The logic is right: the rods are in \(S\) and of two types, and Theorem \(M'\) is used exactly as the note states it. The geometry of \(b_x\), \(b_y\), \(b_z\) in the second proof is right. But the Summary’s ‘needs … no certificate’ is wrong: Theorem \(M'\) rests on finite lemmas with DRAT certificates (correction 1).
6 Theorem R1 survives with Lemma T′ + Lemma J in place of Lemma T CONFIRMED Both uses in R1 (the grids \(Y_q\) and \(Z_p\)) have \(F_x = \Phi(x)\) with \(\gcd(b,c) = 1\). So Lemma J applies, and Lemma T′ gives the same three alternatives (Z1–Z3, Y1–Y3) that R1 uses.
7 Law of line fractions CONFIRMED The derivation from (C) and (S1)-type averaging is right. I checked it exactly with rationals on 495 solutions of 10 non-cubic cells, including (2,2,4), (2,4,6) and (4,4,6), which have no coprime pair, and 28 of (3,3,3), with no violation. In every run the number of states with a fractional line equalled the number of odd states (I compared counts, not state by state).

No gap was found. The corrections below are about wording and scope. None affects a theorem.

T1. Reading, step by step

Ingredients

Lemma T′

CONFIRMED.

The failure of Lemma T (T2)

CONFIRMED by exact rationals (h430).

Lemma J

Task point b. CONFIRMED. Redone:

  1. Since \(c(k_0) - q(m) \in \mathbb{Z}\) for all \(m\) (take \(n = k_0 - m\)), every \(q(m) \equiv \theta\). Then every \(c(k) \equiv \theta\).
  2. Each has zero sum over its period (period \(2a\) for \(c\), \(g_z\) for \(q\)) and no integral value. So each has a value \(\geq \theta\) and a value \(\leq \theta - 1\).
  3. \(\max c \leq 1 + \min q \leq \theta\) and \(\min c \geq \max q - 1 \geq \theta - 1\). So both take only the values \(\theta\) and \(\theta - 1\).
  4. Then \(g_z \theta \in \mathbb{Z}\). On a plane \(y = y_0\) the same jumps \(c\) occur, because \(x\) runs over every value of the parity of \(S\) there too, with \(-c\) in place of \(c\). That gives \(g_y \theta \in \mathbb{Z}\).
  5. \(\gcd(g_y, g_z) = \gcd(a,b,c)\), which divides \(\gcd(b,c) = 1\).

Edge cases:

Numerical check (h432). I solved (C) by least squares on each sampled solution and computed the null space. For each jump \(\Phi_S(x+2) - \Phi_S(x)\) I tested that it is orthogonal to the null space, so it is determined by the solution, and that it is integral. Result: \(\Phi_S\) well defined, jumps determined and jumps integral in 920 of 920 (solution, sublattice, coprime axis) cases. The cells were (6,2,3), (4,3,3), (6,3,4), (2,1,3), (1,2,3), (6,2,1) and (2,3,2), on every axis with coprime transverse extents. As a control, on (4,4,6) and (3,3,3) \(\Phi_S\) is not a function of the plane: 0 of 276 well defined.

Theorem S

Absorption of constants (task point d): CONFIRMED.

Case 1: CONFIRMED.

Case 2 (task point c): CONFIRMED. I redid the congruences.

Enumeration (h430): every line \(q + t(2, \pm 2, 0)\) of \(S\) was tested against every line \(r + s(2, 0, \pm 2)\) of \(S\), on both sublattices:

cells \(\gcd(b,c)\) pairs of lines that do not meet
(6,2,3), (6,3,4), (4,2,3), (2,1,3) 1 0
(4,3,3), (5,3,3), (3,4,4) 3, 3, 4 0
(3,3,3) 3 864
(4,4,6) 2 1536
(2,2,4) 2 256
(4,2,4) 2 512
(6,3,6) 3 3456

The lines meet exactly when \(\gcd(a,b,c) = 1\) (observation, correction 2).

Theorem S2

CONFIRMED.

Corollary H

Task point e. CONFIRMED.

Corollary of Theorem S2 without Theorem M′

Task point f. CONFIRMED.

Theorem R1 with Lemma T′ and Lemma J

CONFIRMED.

Law of line fractions

CONFIRMED.

T3. Computations

Every command was run from scratch_h with the project .venv, PYTHONPATH and TMPDIR as instructed. Every SAT query went through h32_cap (one or run_batch), one process at a time, with a cap of at most 300 s per query. The scripts are my own:

They import only icemix.lattice, a4_typemodel.TypeModel (one-hot + (T2)) and h32_cap. I did not read or import h420–h423. Every SAT model from h431 was re-checked against (T2) in Python.

Encodings of the negation of Theorem S (‘A has a vertex of each type’), by translation and the half-turns

command tested verdict wall
h430_geom.py Lemma T counterexample and search on \(\mathbb{Z}_n^2\), \(n = 2,3,4\); (S1) on 12 cells; line meeting on 12 cells; products on 6 cells as reported above 2.8 s
h431_sl.py 4,3,3 plain --cap 120 SL, controls UNSAT 4.6 s; controls SAT 6.4 s
h431_sl.py 4,3,3 plain --lawc --cap 120 the same with Law C UNSAT 4.0 s; controls SAT 5.0 s
h431_sl.py 4,3,3 pair --lawc --cap 120 9 pair queries 9 UNSAT (1.1–4.1 s); controls 7 SAT, 2 UNSAT (predicted) 24.7 s
h431_sl.py 5,3,3 plain --lawc --cap 120 SL UNSAT 10.5 s; controls SAT 11.9 s
h431_sl.py 6,2,3 plain --lawc --cap 120 SL UNSAT 2.4 s; controls SAT 3.5 s
h431_sl.py 3,3,3 plain --lawc --cap 120 negative control SAT 0.1 s (model: all three types on A and B, (T2) ok) 1.3 s
h431_sl.py 4,4,6 plain --lawc --cap 120 negative control SAT 1.3 s (the same) 2.4 s
h431_sl.py 2,2,4 plain --lawc --cap 120 negative control SAT 0.2 s (the same) 1.4 s
h431_sl.py 6,3,4 plain --lawc --cap 250 SL UNSAT 37.2 s; controls SAT 38.4 s
h431_sl.py 5,4,4 plain --lawc --cap 300 SL UNSAT 198.3 s (the author had no verdict at 120 s); controls SAT 199.4 s
h431_sl.py 6,2,9 plain --lawc --cap 300 SL no verdict (cap 300 s); controls SAT 301 s
h431_sl.py 6,2,9 pair --lawc --cap 150 --only 0,1,2 pair 0–2 UNSAT 38.0, 86.2, 31.7 s; controls SAT 158 s
… 6,2,9 … --only 3,4,5 pair 3–5 UNSAT 55.9, 30.3, 40.5 s; controls SAT 129 s
… 6,2,9 … --only 6,7,8 pair 6–8 UNSAT 63.5, 75.3, 14.7 s; controls SAT, SAT, UNSAT (predicted) 170 s
(6,2,9) SL: UNSAT (all 9 cases)
h431_sl.py 7,3,6 pair --lawc --cap 180 --only 0,1,2 pair 0–2 pair 0 UNSAT 94.9 s (control UNSAT 64.5 s, predicted); pair 1 and 2 no verdict (cap 180 s) 521 s
… 7,3,6 … --cap 280 --only 1 pair 1 UNSAT 212.8 s; control SAT 214 s
… 7,3,6 … --cap 280 --only 2,3 pair 2–3 UNSAT 251.8, 126.6 s; controls SAT 380 s
… 7,3,6 … --cap 280 --only 4,5 pair 4–5 UNSAT 72.2 s (control UNSAT, predicted), UNSAT 252.0 s 395 s
… 7,3,6 … --cap 280 --only 6,7 pair 6–7 UNSAT 165.7, 220.7 s; controls SAT 388 s
… 7,3,6 … --cap 280 --only 8 pair 8 UNSAT 118.3 s; control SAT 120 s
(7,3,6) SL: UNSAT (all 9 cases)
h431_sl.py 10,4,5 pair --lawc --cap 280 --only 0 pair 0 UNSAT 147.7 s; control SAT 150 s
… 10,4,5 … --only 1,2 pair 1–2 pair 1 no verdict (cap 280 s); pair 2 UNSAT 168.0 s 449 s
… 10,4,5 … --only 3,4 pair 3–4 pair 3 no verdict (cap 280 s); pair 4 UNSAT 175.3 s 457 s
(10,4,5) SL: no verdict (4 cases UNSAT, 2 capped, 3 not run)
h432_sample.py 6,2,3 30 1 --cap 120 (run twice, the second time with the non-vacuity count) sampling, S structure, law, Lemma J 20 solutions; see below 2.5 s
h432_sample.py 6,2,3 60 2 --odd --cap 120 the same, with odd hexagons 21 solutions, all odd 4.7 s
h432_sample.py 4,3,3 60 3 --cap 120 the same, plus S2 36 solutions 14.1 s
h432_sample.py 4,3,3 60 4 --odd --cap 120 the same, odd 11 solutions 36.8 s
h432_sample.py 6,3,4 60 5 --cap 150 (run twice, the same) the same 45 solutions 57 s
h432_sample.py 6,3,4 40 6 --odd --cap 150 the same, odd 16 solutions 83 s
h432_sample.py C 40 7 and … 40 8 --odd for C = (2,1,3), (1,2,3), (6,2,1), (2,3,2), run twice (the second time for the Lemma J lines) thin cells 22+0, 24+0, 27+4, 28+4 solutions. With --odd, all 40 queries were UNSAT on the pairwise-coprime (2,1,3) and (1,2,3), consistent with R1 under 1 s each
h432_sample.py C 40 9 and … 40 10 --odd for C = (2,2,4), (2,4,6), (4,4,6) law on cells with no coprime pair 36+35, 38+34, 37+39 solutions 0.5 s to 61 s
h432_sample.py 4,4,6 30 11 --odd --cap 150 --forceaxes --sanity sanity: checks where the hypotheses fail; law and (C) on random fields 18 solutions; 9 sampling queries capped (the batch cap), which is not a result 155 s
h432_sample.py 3,3,3 30 12 --odd --cap 100 --forceaxes sanity on a cubic cell 28 solutions 1.4 s

Finer structure on sampled solutions

The cells have a coprime pair. For each axis \(k\) whose transverse extents are coprime I applied Theorem S with \(k\) in the role of \(x\). The case prediction (\(\Phi_S\) non-constant) was read off the line fractions: \(h_i/\ell_i\) depends on \(x_k\).

cell (axes tested) solutions (sol, sublattice, axis) triples S holds case 1: (i) holds case 2: lines in a chain direction for both types, and S lacks \(i\) or \(j\) S2 forms (axis)
(6,2,3) (\(x\)) 41 82 82 22/22 60/60 –
(4,3,3) (\(y\), \(z\)) 47 188 188 45/45 143/143 26 \((P_j)\), 19 \((P_i)\), 49 \((Q)\), 0 NONE (\(x\))
(6,3,4) (\(x\)) 61 122 122 36/36 86/86 –
(2,1,3) (all) 22 132 132 43/43 89/89 0 NONE (every axis)
(1,2,3) (all) 24 144 144 46/46 98/98 0 NONE
(6,2,1) (\(x\), \(y\)) 31 124 124 34/34 90/90 0 NONE (\(z\))
(2,3,2) (\(x\), \(z\)) 32 128 128 34/34 94/94 0 NONE (\(y\))

The first three rows have at least 20 distinct solutions each, diversified by random type assumptions on 1–3 vertices of each sublattice and, in the --odd runs, an odd selector on a random hexagon.

Exceptions: none.

Non-vacuity:

Law of line fractions

Exact, with fractions.Fraction. The checks were:

cells solutions satisfying the law
(6,2,3), (4,3,3), (6,3,4), (2,1,3), (1,2,3), (6,2,1), (2,3,2) (coprime pair) 258/258
(2,2,4), (2,4,6), (4,4,6) (no coprime pair) 237/237, including 18 from the --forceaxes run
(3,3,3) (cubic) 28/28

That is 495 solutions on 10 non-cubic cells with 0 violations. Sanity: 3 random type fields on (4,4,6) violate the law (20 violations each) and fit (C) with residual about 1.

(S1) by enumeration of chains

Done on 12 cells (h430), not just four: (4,3,3), (5,3,3), (6,2,3), (6,3,4), (5,4,4), (4,2,3), (3,3,3), (4,4,6), (2,2,4), (1,2,3), (2,1,1) and (7,3,6). For all six families the number of chains per pair of planes equals the gcd of the transverse extents.

Corrections and gaps

No gap.

  1. Summary item 2 (‘This needs no \(K_u\), no Theorem U, no Theorem R1 and no certificate’) is wrong in its last clause. Corollary H uses Theorem \(M'\). Theorem \(M'\) is proved (note, line 460; check6 §1) with finite lemmas on four hexagons that carry DRAT certificates: PLAQ_K, K4 and, for the first proof, PLAQ_C and EDGE_X. The certificates are window lemmas that pull back to every torus, so they do not limit the scope, but the corollary is not certificate-free. The route through Theorem S2 is free of \(M'\) and of certificates, but only on cells with \(\gcd(a,b) = \gcd(a,c) = 1\).
  2. Scope observation (not an error). In Case 2 of Theorem S the two lines meet whenever \(\gcd(a,b,c) = 1\): enumerated on (4,3,3), (5,3,3) and (3,4,4), where \(\gcd(b,c) \geq 3\). The last step of Lemma J likewise needs only \(\gcd(g_y, g_z) = \gcd(a,b,c) = 1\). The hypothesis \(\gcd(b,c) = 1\) is used essentially only through (S1), which is what makes \(F_x\) a function of the plane. The proof as written is correct. This locates what fails on cells without a coprime pair: (S1), not the meeting.
  3. The counterexample to Lemma T can be smaller. On \(\mathbb{Z}_2 \times \mathbb{Z}_2\) every 0/1 function is tri-separable (the span has rank 4). For example, \(\varepsilon = \delta_{(0,0)}\) with \(\alpha = \beta = (1/2, 0)\) and \(\gamma = (0, -1/2)\). Exhaustively, the failing 0/1 patterns number 8, 36 and 96 on \(\mathbb{Z}_2^2\), \(\mathbb{Z}_3^2\) and \(\mathbb{Z}_4^2\). The author’s \(\mathbb{Z}_3\) example is correct. The record should say that Lemma T fails on every square torus tried, and that its proof is right only for integer jumps.
  4. Minor (wording in the S2 proof). ‘$Z = - F_x + $ const’ is correct but relies on the reader identifying \(\upsilon\) with \(F_y\) up to a constant. It would read more safely as ‘\(Z = F_y - F_x + \sigma\beta\), and \(F_y\) is constant on \(S\)’.
  5. Thin cells (the author’s caveat 4) are not a problem for any step I read:
    • (T2) is taken on the lattice-derived hexagons of lattice.build, which raises on a degenerate hexagon and did not on (1,2,3), (2,1,3), (6,2,1) or (2,3,2).
    • Lemma 1’s forward direction survives \(O + 2e_x = O - 2e_x\).
    • Every structural claim held on the thin-cell samples.

What I could not check

Rules

I believe none was broken: