OTHELLO SPECTRAL RESEARCH¶
Instructions for Claude Code¶
What this is¶
Sibling project to docs/chess-maths/. This directory verifies the
§10 "Phase-Space Othello" thesis of the chess notebook
computationally and scaffolds a sequel phase-operator build.
All claims are tagged KNOWN / NOVEL / CONFIRMED / FAILED /
UNDETERMINED. Failures are data, not embarrassments — follow the
logo L7b retraction template where applicable. The research
notebook (othello_spectral_research_notebook.md) is the living
document; results land in results/; research scripts live in
research/.
Steven's cognitive style and working principles¶
Same as chess-maths: Steven has aphantasia, reasons through proprioceptive spatial construction, compresses multiple meanings into single statements, stress-tests ideas through cross-domain analogies, treats the assistant as a peer-level intellectual collaborator. Take informal-sounding intuitions seriously, formalise them, test computationally before accepting or rejecting.
Discovery principle for this project¶
Do not commit to a single fiber-rank arrangement in advance. §10.4
names three candidates (rank-2 by orbit count, rank-6 by irrep
count, rank-8 by individual rays). Phase 1 H6 probed all three; the
rank-2 / rank-4 / rank-8 readings fell out cleanly depending on
construction, but rank-6 did NOT appear as an operator rank (it is
an irrep multiplicity count). The production encoder recommendation
is D = 768 with rank-2 fiber — the cleanest structural reading,
motivated by the §9r polarisation collapse to
(theta-class, r = inf, c = 0).
Theoretical framework (condensed)¶
The board. 8x8 grid with P_8 box P_8 Laplacian. Eigenbasis is the 2D DCT. CONFIRMED to machine precision (§1.1 of notebook); transfers verbatim from chess §2.
Symmetry. D_4 x Z_2 (16 elements, 10 irreps) — Z_2 is EXACT in
Othello (no directional disc), unlike chess where the pawn breaks
Z_2. Character projection formula lifted from
chess-maths/chess_d4_direct.py::project_irrep, extended to the
direct product. CONFIRMED via idempotence, completeness,
orthogonality, Z_2 parity split.
Site fiber. 3-state Blume-Capel {-1, 0, +1} per cell. Empirically validated by the Othello-GPT linear-probe results (Li-Hopkins et al. 2023, Nanda-Lee-Wattenberg 2023 — see §10.9 of chess notebook). The rank-5 piece-species bundle has NO Othello referent (E1 CONFIRMED absence).
8 ray directions. {N, NE, E, SE, S, SW, W, NW}. D_4 character analysis gives Gamma_8 = 2 A_1 + B_1 + B_2 + 2 E. CONFIRMED (H2) and the B_1 / B_2 modes are not just distinct but Frobenius- orthogonal as 64x64 operators (H3).
Dynamic fiber. Othello's flank structure changes with every
move; the natural formal home is a cellular sheaf (Hansen-Ghrist
2019) with dynamic restriction maps. Phase 2 of this session built
a minimal instantiation (research/dynamic_sheaf.py) whose
spectral gap correlates with legal-move count at Spearman +0.765,
p = 1.1e-12 over a 60-move sample game.
Global T-breaking via monotone disc count. Chess has LOCAL T-violation (pawn, Hatano-Nelson); Othello has GLOBAL T-violation (irreversible filling). E7 probe weak at N=1 game; needs aggregate stats (scoped to sequel).
Honest-science principles¶
- Every claim tagged.
- Failed predictions kept with root-cause analysis — see §1.2 of notebook for the B_1/B_2 character-table bug and its fix as a worked example.
- Do not back-rationalise null results. H9 and E8 are UNDETERMINED because the data is absent; mark them so, do not fake proxies.
- If an intuition survives computation, say how. If it doesn't
survive in the stated form, say what did survive. §9r's
polarisation claim survives as the motivation for rank-2 fiber
(E1 confirms the rank-5 absence; H6 orbit-stack confirms rank-2
structure). The
2 A_1 + B_1 + B_2 + 2 Edecomposition claim survives exactly (H2). The rank-6 claim did NOT survive as an operator rank — it remains an irrep multiplicity count. - No emoji, no marketing, no "exciting breakthrough" framing. Report numbers, interpret, stop.
File organisation¶
docs/othello-maths/
OTHELLO_SPECTRAL_INSTRUCTIONS.md (this file)
OTHELLO_SPECTRAL_BUILD_PROMPT.md (build prompt — input)
OTHELLO_PHASE_OP_PREFLIGHT.md (handoff to sequel)
othello_spectral_research_notebook.md (living document)
research/
othello_utils.py (board, rays, signals, OthelloBoard)
d4_z2.py (D4 x Z2, 10 irreps, projectors)
ray_laplacians.py (8 rays, orbit-averaged, directed/undirected)
coprime_generators.py (phase-space row/col generators)
static_fiber_bundle.py (H5 holonomy)
dynamic_sheaf.py (Phase 2 sheaf Laplacian)
consolidated_tests.py (Phase 1 H1-H9 + E1-E8 runner)
__init__.py
results/
phase1_hypotheses.csv (structured status table)
phase1_detail.json (per-hypothesis numerics)
phase2_sheaf_trajectory.json (60-move sheaf spectrum)
session_summary.md (1-page narrative)
figures/ (empty; add only if generated)
How to run¶
# From the docs/othello-maths directory:
cd research
# Phase 0 — sanity on shared infrastructure
python othello_utils.py
python d4_z2.py
python ray_laplacians.py
# Phase 1 — H1-H9 + E1-E8
python consolidated_tests.py
# Phase 2 — minimal sheaf Laplacian
python dynamic_sheaf.py
All scripts use from othello_utils import ..., from d4_z2
import ..., etc., so they are importable as functions (not just
__main__ blocks). Graduation to production
(othello-spectral/python/othello_spectral/) is a module move, not a
rewrite.
Common pitfalls (learned this session)¶
-
D_4 character table must be constant on conjugacy classes. In our permutation numbering the two reflection classes are {g=4, g=5} (axis reflections) and {g=6, g=7} (diagonal reflections). The chess
chess_d4_direct.pytable appears to use a different class assignment that would fail idempotence if used here verbatim. Verified by direct conjugationg_1 * g_4 * g_1^-1 = g_5andg_1 * g_6 * g_1^-1 = g_7. Correct values:B_1 = [1, -1, 1, -1, +1, +1, -1, -1],B_2 = [1, -1, 1, -1, -1, -1, +1, +1]. -
Z_2 group action on functionals. The standard group action
(g, 1) . f = -P_g fis correct for Z_2-odd signals like the magnetisations. For Z_2-even functionals like occupations^2, the natural group action is(g, 1) . f = +P_g f. Using the wrong action trivialises the A_1+ projection. When working with occupation, use the D_4-only projection (8 group elements), not the full D_4 x Z_2 projection. -
Undirected ray Laplacians collapse in pairs.
L_N = L_Setc., so stacking all 8 gives effective rank 4. For rank-8 constructions use the directed variant (non-symmetric operators). -
Coprime generator search must verify 64-phase uniqueness, not just gcd. The first (p, q) pair that is individually coprime to D can still produce phase collisions from small-integer Diophantine relations like
8 * p = -3 * q + k * D. Use exhaustive check over the 64-cell image. -
Snapshot sheaf spectra are not predictive. The logo L7b retraction applies: the fact that
spec(L_F(t))correlates with legal-move count at time t does NOT mean it predicts legal-move count at timet + Δ. Test predictive claims explicitly before asserting them.
Key references (inherited from chess + Othello-specific)¶
Chess-inherited references carry over verbatim — see
chess-maths/CHESS_SPECTRAL_INSTRUCTIONS.md. Othello-specific:
- Takizawa 2023 arXiv:2310.19387 — weak solution (draw with perfect play); needed for H9 / E8.
- Zenodo 10.5281/zenodo.10030906 — complete game-value dataset.
- Blume 1966, Capel 1966, Blume-Emery-Griffiths 1971 — spin-1 Blume-Capel model and the ^3He / ^4He mixture analogy.
- Hansen-Ghrist 2019 — spectral sheaf theory.
- Nussinov-van den Brink 2015, Nussinov-Ortiz 2005 — compass models and subsystem symmetries.
- Wolff 1989, Bouabci-Carneiro 2000 — cluster flip + FK-BC.
- Li-Hopkins-Bau et al. 2023, Nanda-Lee-Wattenberg 2023 — Othello-GPT linear probes validating the 3-state fiber at representation level.
What this project is NOT¶
- Not the phase-operator move engine. That is the sequel, written
against
OTHELLO_PHASE_OP_PREFLIGHT.mdafter this session lands. - Not committed to a single fiber rank. Recommendation is D = 768 with rank-2, but rank-8 (D = 1152) remains supported as an ablation.
- Not an empirical WTHOR analysis. Those tests (T1-T5 of §10.10) are scoped as Phase 4 stretch goals and deferred to the sequel.