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

Independent check of the signed moments (Lemmas 11 and 12, Theorems 16 to 19 of the note) and of package dfour (Theorem H on the family (2a’, 2b’, 2c’) without K_u)

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

2026-09-28

Verdicts

item verdict one sentence
Lemma 11 CONFIRMED The families supported at a character are the pairs in the blocks of the partition of \(\{0,1,2,3\}\) by \(\lambda\), and the five partition types give exactly the five listed cases.
Lemma 12 CONFIRMED Redone by hand for all four families of \(y\) and \(z\) at an A-hole; the inversion and the coordinate permutations carry it to B-holes and the other axes; law × generator \(= 0\) holds over \(\mathbb Z\) on 16 cells.
Theorem 16 CONFIRMED The symbol, determinant, factorisations, the condition \(M=0\), the case analysis and the inclusion–exclusion count were all redone; exact ranks agree with the formula on 16 cells × 3 axes, and a per-character evaluation of the law reproduces the symbol on four cells.
Theorem 17 CONFIRMED WITH CORRECTIONS All five cases and the dimension count are right, and exact ranks agree on 16 cells; the remark ‘no constant on a sublattice occurs’ is right only in the sense that no \(\sigma_v\)-type constant occurs, since a constant field on all vertices is a sum of currents (correction 5).
Theorem 18 CONFIRMED The pairs of directions and the weights \(\tfrac12(f\pm g)\) reproduce the chain’s contributions to the types and to \(n\) for \(\{0,1\}\) and \(\{2,3\}\), and the other families are the same by permutation.
Theorem 19 CONFIRMED WITH CORRECTIONS The averaging argument and the six shifts on B are right, and the theorem holds exactly, with the constants, on 837 odd states of 9 cells, 2 of them not members, with negative controls; the sum on A needs no added constant (correction 6).
L0 CONFIRMED The list of six slack vectors is complete and the labels are right; on sampled states every sublattice with three types had one of the six vectors (1,148 sublattice cases).
L1 CONFIRMED The translation by \(8e_k\) fixes every chain of the other two axes on every member, thin ones included, because each pair of extents has gcd 2; the full-line case correctly uses Theorem U at the straight holes.
L2 CONFIRMED (B) re-derived from Theorem 19, and its gauge invariance checked term by term for all three gauge constants; exact on 784 member states.
L3 CONFIRMED Lemma 4 applies as used: non-negative, separable on a full product, product zero by L1, neither identically zero when the axis is two-way; its conclusion is that both functions depend on the same single coordinate.
L4 CONFIRMED The means agree because \(y\mp1\) runs over all even residues as \(y\) runs over the odd ones; exact on every state.
L5 CONFIRMED WITH CORRECTIONS All four formulas were re-derived for both signs, the induction round the circle is right, and the case ‘B is not (ii)\(_y\)’ was written out in full and holds; the constancy of the \(y\)-part of \(\sigma^B_x\) is not needed (correction 3).
L6 CONFIRMED The circle argument makes \(F_-\) and \(U_-\) constant, and then (B) gives \(\sigma^B_z = \sigma^A_z\) directly, so the inversion is not even needed.
L7 CONFIRMED WITH CORRECTIONS I derived all four rows of the class table, not just the two in the report, and the facts, \((\star)\) and the final contradiction for both residues of \(z_0\) mod 4; the permutation reduction is right; the remark that the planes \(z_0\pm2\) ‘may coincide’ is false but unused (correction 1).
Assembly §2.10 CONFIRMED Every pair (label of A, label of B) is covered: a (i) on A by L5b, a (i) on B by the inversion, equal (ii) by L6, mixed (ii) by L7.
Periodicity §2.11 CONFIRMED (conditional on the record) The logic holds given Theorem H, Lemma A and the curl note’s Theorem P; the flux identity can be replaced by the definition of zero flux (correction 4).
Thin members §3 CONFIRMED Every step holds at extent 2. Theorem M′ at extent 2 is still a solver fact, not a proof: I reproduced it as UNSAT on four thin members, with controls.

No gap was found in Part I or Part II. Six corrections are listed in §4; none of them affects a conclusion.

1. Part I, read by hand (T1)

The symbol of \(P^x\)

Lemma 11

The complementary pairs are exactly the two families of one axis, and a triple \(\{0,1,2,3\}\setminus\{\ell\}\) contains one family of each axis. Equality of all four \(\lambda\) makes \(\chi\) trivial on \(\Lambda\), which is generated by the \(d_i - d_j\). CONFIRMED.

Lemma 12

At the A-hole, each family leaves two terms that must be the same chain (four families; each pair lies on one chain):

family first term second term difference
\(\{0,2\}\) \(a+(0,-2,-2)\) \(a+(4,-2,2)\) \(2u_{02}\)
\(\{1,3\}\) \(a+(0,2,2)\) \(a+(2,2,0)\) \(u_{13}\)
\(\{0,3\}\) \(a+(0,-2,-2)\) \(a+(4,2,-2)\) \(2u_{03}\)
\(\{1,2\}\) \(a+(0,2,2)\) \(a+(2,0,2)\) \(u_{12}\)

CONFIRMED.

Theorem 16

CONFIRMED.

Theorem 17

Theorem 18

Take the family \(\{0,1\}\), with (C) contributions \(f\) to \(Y\) and \(-f\) to \(Z\), and \(n\) contribution \(g(0,1,1)\). Then \(D_{\pm y} = \tfrac12(f\pm g)\) and \(D_{\pm z} = \tfrac12(-f\pm g)\).

CONFIRMED.

Theorem 19

2. Part II, read by hand (T2)

3. Computations (T3)

My own scripts are h530 to h539 in scratch_h.

command what it tested verdict wall
h531_ranks.py 1,1,1 1,1,2 2,2,2 Th 16 (3 axes), Th 17, laws/bond implications, \(e_x\mathbf1_A\) all OK; bond ⇒ laws only on (1,1,1) 0.8 s
h531_ranks.py 1,2,3 2,3,3 3,3,3 2,2,4 same all OK 1.1 s
h531_ranks.py 2,4,6 4,3,3 6,2,3 5,2,4 4,4,4 same all OK 5.8 s
h531_ranks.py 1,1,5 2,2,6 4,4,6 2,6,10 same all OK 20.9 s
h532_symbol.py 1,2,3 2,2,2 3,3,3 2,4,6 sympy identities; law applied to \(\chi\mathbf1_A\), \(\chi\mathbf1_B\) for every extension \(\chi\) = the symbol; \(M=0\) / \(\det=0\) ⇔ support conditions; \(\sum\dim\ker/16\) = formula ALL OK (0 mismatches in 5,696 extensions) 2.5 s
h533_states.py 2,2,2 (h451, h471 odd) --sym full battery (U, joint system, L1, Th 19 with 2 negative controls, (B), L4, profiles, L0, L3, labels, S, L5/L6 facts, symmetry images) 78 states: all pass; S 63/63; NEG all-shifts fails 77/78, NEG \(y\)-shifts fails 43/78 1.1 s
h533_states.py 2,4,6 (h451, h471) --sym same 88 states all pass; S 71/71; NEG 87/88, 62/88 1.6 s
h533_states.py 2,6,10 (h482) same 118 all pass; S 90/90; NEG 118/118 3.1 s
h533_states.py 2,2,6 (h482) --sym; 2,2,4 (h451) --sym; 4,6,10 (h451, h471, h482); constrained (h482c) on 2,2,2 / 2,4,6; exit code 1 at the end because a named file h482c…2_2_6_s1 did not exist same 145, 56, 41 (13 inputs without sign field skipped), 51, 66 states all pass; S 111/111, 42/42, 11/11, 30/30, 38/38 < 2 s each
h533_states.py 2,2,6 (h482c s2) same, case (ii)\(_z\) 54 pass; S 41/41; L6 facts 41/41 0.3 s
h534_sample.py 4,2,6 3 60 900 pre-flight, own odd samples 3 SAT 1.1 s
h534_sample.py 4,2,6 120 280 901 own odd samples (T2 + sign + odd, random type assumptions) 84 SAT, 36 UNSAT, 0 TIMEOUT 9.7 s
h533_states.py 4,2,6 (own) --sym full battery on own states 87 states all pass; S 77/77; NEG 87/87, 42/87 < 2 s
h534_sample.py 3,3,3 3 60 902; 3,3,3 40 200 903 non-member samples for Th 19 3; 39 SAT 1.1 s; 2.1 s
h534_sample.py 4,3,3 3 60 904 (6 assumptions); 4,3,3 30 200 905 2 non-member samples 0 SAT (3 UNSAT); 14 SAT, 16 UNSAT, 11 distinct 1.7 s; 51.9 s
h533_states.py 3,3,3 (own; first run crashed on an unlabelled slack, script fixed) Th 19, U, joint system on a cubic cell 42 states: U, joint system, Th 19, L4 all pass; NEG 42/42 0.3 s
h533_states.py 4,3,3 (own) Th 19 on a cell with a coprime pair 11 states all pass; NEG 11/11 0.1 s
h535_l7.py 2,2,2 120 L7: 6 ordered mixed pairs, 6 controls without the third type, 3 equal-pair controls 6 UNSAT, 9 SAT, models re-checked 1.2 s
h535_l7.py C 280, C = 2,4,6 / 4,2,6 / 2,6,10 same 0 deviations each 1.3, 1.3, 2.4 s
h535_l7.py 4,6,10 280 same, thick member 0 deviations 8.0 s
h536_breakS.py 2,2,2 120 (three runs while the controls were designed) Statement S: odd + sign + three types on A and B + ‘sets of constant profiles differ’ Q UNSAT; C1, C3 (×3), C5 SAT with exact labels matching the encoding 0.6 s each
h536_breakS.py C 280, C = 2,4,6 / 4,2,6 / 2,2,6 (one loop) same Q UNSAT on all three (37.2, 41.8, 1.9 s); all controls SAT; C2 and C4 UNSAT (no expectation) 57.3, 68.2, 6.6 s
h537_constsets.py on saved states of 4 cells encoding control: are there states whose sets of constant profiles differ? yes, only in states with two types per sublattice 2 s
h538_mprime.py 2,2,2 120 M′ at extent 2 (type model), 6 queries + 12 controls 6 UNSAT, 12 SAT 0.9 s
h538_mprime.py C 250, C = 2,4,6 / 4,2,6 / 2,6,10 (one loop) same 0 deviations each 10.0, 10.0, 62.0 s
h539_classtable.py the L7 class table for all four B classes every group is \(\pm b^c_x\) < 1 s

Totals

Observations

These are not needed for the verdicts.

4. Corrections and gaps

  1. (dfour §2.10, ‘Which members’). ‘In L7 the planes \(z_0\pm2\) may coincide (extent 2 along \(z\), 8 planes)’ is false. On every member \(4c \ge 8\), and \(z_0 + 2 \not\equiv z_0 - 2\). The statement is not used.
  2. (dfour §2.4, the remark). ‘\(\sigma_k^S = 0\) on that plane (L1)’: L1 is not needed, since \(|\sigma_k| \le a_k\) always.
  3. (dfour L5b). The constancy of the \(y\)-part of \(\sigma^B_x\) (in (ii)\(_z\)), and of the \(z\)-part (in (ii)\(_y\)), is derived but not used. The contradiction follows from \(|\sigma^B_z| = \tfrac12\) (respectively \(|\sigma^B_y| = \tfrac12\)) alone. This is a simplification, not an error.
  4. (dfour §2.11). The flux identity is not needed. The curl note defines zero flux as equal numbers of \(+\) and \(-\) moments on each axis of each sublattice, which excludes a one-way axis with a vertex at once.
  5. (note, after Theorem 17). ‘No constant on a sublattice occurs’ should say that no constant on one sublattice alone (no \(\sigma_v\) term, unlike (C)) occurs. A constant vector field on all vertices is a solution and a sum of currents, for example \(e_x = \tfrac12\sum_{C\in\{0,2\}\cup\{1,3\}}\tfrac12u_C\mathbf 1_C\).
  6. (note, after Theorem 19). ‘Their sum on A is \(2F_{01}(x)+2U_{02}(y)+2W_{03}(z)\) up to a constant’: the identity is exact, with no constant.
  7. (note, Theorem 16 proof; wording). The case \(M=0\) is written for both families of \(y\). The case of both families of \(z\) (\(\lambda_0 = \lambda_3\), \(\lambda_1 = \lambda_2\)) is the same and should be named.
  8. (dfour L6, simplification). The inversion is not needed in L6: with \(F_\pm\) and \(U_\pm\) constant, (B) gives \(\sigma^B_z = \sigma^A_z\).

No gap.

5. What I could not check

6. Rules

  1. Wrong Python, once. I once used the system python3 (not the .venv) for a text substitution in my own new script h536. No computation was run with it.
  2. Worst-case run length. Two shell loops ran three solver batches in sequence, with caps summing to more than ten minutes: h536 (3 × 280 s) and h538 (3 × 250 s). They actually took 132 s and 82 s. The pre-flight for h536 was on (2,2,2) only (0.6 s), which under-predicted (2,4,6) by a factor of about 100. Each batch was a single solver process, one at a time.
  3. Edits to my own new scripts. I edited h536 with sed -i and the Edit tool. No existing file was modified or deleted. Git was not touched.
  4. Other rules.
    • One attempt to run ps was refused by the sandbox (harmless).
    • No heredocs, no python -, and nothing written to /tmp; states and this report are in <repo>/.tmp.
    • cubethree’s scripts and report were not read, run or touched.
    • No query of the form ‘odd and all six directions’, or equivalent to Theorem H, was run. The Statement S search asks for different sets of constant profiles on A and B, which is a condition on types.