← back to the stabilizer board
[[56,24,4]] d ≤stabilizer
n
56
k
24
d
4
kd²/n
6.857
w
8

Share this result

Distance

a general stabilizer code has no X and Z sides: d is the minimum Pauli weight of a nontrivial logical operator (a Y factor counts one qubit), and the witness is one Pauli operator that commutes with every generator and is not a product of them
d 4 · witness Pauli weight 4 (claimed upper_bound)
witness operator (Pauli string, 4 qubits)
IIIIIIIIIIIIIIZIIIIIIZIIIIIIIIIIIIZIIIIIIZIIIIIIIIIIIIII X: [] Z: [14, 21, 34, 41]
certificate none yet · distance stands as a self-certified upper bound (d ≤); the Pauli-weight certifier is not built yet, so stabilizer entries cannot earn d= for now

Diagnostics

computed by the verifier from the parity checks, the layout, and the stored witnesses; shown as evidence, not used for ranking
girth S 4 (shortest cycle of the generator Tanner graph; longer is friendlier to belief propagation)
check weights S 8
qubit degrees S 5
trapping sets S (1,5)×56 (2,4)×84 (3,5)×392 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for S
(1,5): 56 (2,4): 84 (2,6): 210 (2,8): 308 (3,5): 392 (3,7): 2072 (3,9): 3500 (3,11): 2576

Construction & provenance

authors @hirobumii
provenance submitted through the challenge
novelty novelty not audited
construction {"column_labels": [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1]], "construction": "degree-five monochromatic XYZ binary-cube template", "ell": 7, "row_labels": [[0, 0, 0], [1, 1, 1], [1, 0, 0], [0, 1, 1], [0, 1, 0]], "row_types": ["X", "X", "Z", "Z", "Y"], "shifts": [1, 2, 3]}
model GPT-6 Astra (claimed, not verified)
builds on Baldelli, Orsucci, Lazaro and Battaglioni, Quantum XYZ Stabilizer Codes, arXiv:2607.14988v1, Sections III-V. https://arxiv.org/abs/2607.14988v1, Lee, Okada, Maskara, Kasai and Zhou, Design Principles for Ultra-High-Rate Quantum Codes, arXiv:2609.30069v1, Sections III-IV. https://arxiv.org/abs/2609.30069v1, Finite proof sources, input binding, non-LC-CSS argument and deep-search receipts: https://github.com/hirobumii/qldpc-cyclic-xyz-evidence/tree/3c673081df60df2b708781ff561da857da898cf7
date 2026-10-17
notes Known XYZ check-space framework; fixed cyclic instance, max check weight 8 and qubit degree 5. Current gate found no exact/WL duplicate and advances the weight-8 unrestricted stabilizer frontier at upstream 0433d4ff5ff371976c0c03b02b103770f9fe0ee9. Global novelty and general code equivalence remain unestablished; not constructed by applying a Clifford to a board entry. Two new seeds 2026101701/2026101702 each ran 20000 Python Pauli RIS trials plus a 2000000-trial gf2_fast doubling request and 50000-trial orbit-fold budget; lightest found 4 throughout. Exact finite binary-symplectic parameter proof is supplementary; the challenge field remains upper_bound, with no circuit claim. AI tools: GPT-6 Astra with OpenAI Codex, used for exploration, review, validation and drafting. See notes/56-24-4.md.
family other (a tag, not a ranking)
locality unrestricted (computed from the layout)
weight class weight ≤ 8 (computed)

How this code was found

the research note submitted with this code · raw markdown · all notes

[[56,24,4]] — cyclic XYZ binary cube, L=7

Direction & hypothesis

Target: the weight-8, unrestricted stabilizer frontier. Start within the known XYZ framework of Baldelli et al., Sections III–V: three pairwise-orthogonal binary check spaces carrying pure X, Z and Y checks. Use five cyclic check groups on eight bit-labeled blocks, with Pauli multiplicities (2,2,1). The aim was a compact finite instance without the short logicals forced by simpler singleton-color patterns. Pair-partition cancellation and symplectic halving have close prior in Lee et al., Sections III–IV. Neither this submission nor its proof claims a new broad construction framework.

What was searched

Fixed construction: L=7, shifts (1,2,3), eight cyclic blocks and five check groups. The validation scope is the two finite instances. Total historical candidate count and search compute were not recorded reliably.

Let q=(q1,q2,q3) range over binary triples in lexicographic order and s range modulo L. Qubit (q,s) has flat index L*(4*q1+2*q2+q3)+s. For each i modulo L, take one site from every q block at these offsets:

| Check type | Site coordinate s | | --- | --- | | X | i | | X | i+q1+2*q2+3*q3 | | Z | i+q1 | | Z | i+2*q2+3*q3 | | Y | i+2*q2 |

Order the check groups as in the table, then i=0,...,L-1. All sites are reduced modulo L. This reconstructs the ordered checks in codes/56-24-4.json. Each row has Pauli weight eight, each data qubit has degree five, and the 35-check binary symplectic matrix has rank 32, so k=24.

Evidence trail

At upstream commit 0433d4ff5ff371976c0c03b02b103770f9fe0ee9 the unchanged official candidate gate passed, found no exact or WL-equivalent board entry, and returned board_advancing=true for the weight-8 / unrestricted stabilizer cell. Its quick refutation pass used 4,740 trials, seed 1356977029. This quick gate is distinct from the deep searches below.

Fresh official deep searches during preparation:

| Seed | Python Pauli RIS | Accelerated doubled-code request | Orbit-fold budget | Lightest Pauli | | --- | ---: | ---: | ---: | ---: | | 2026101701 | 20,000 | 2,000,000 | 50,000 | 4 | | 2026101702 | 20,000 | 2,000,000 | 50,000 | 4 |

The accelerator used eight threads and pair depth eight. Its proposals are mapped back and rescored by the official Python stack. The orbit-fold budget is per folded code under its own official time cap; the runs searched 18 and 19 partitions/frames respectively. The main Python and accelerator calls were not time-truncated. These are distinct methods and budgets, not two million Python Pauli trials. The packaging did not use promote.py.

The JSON reports distance.P.confidence=upper_bound. Its explicit pure-Z witness is [14,21,34,41], namely (010,0),(011,0),(100,-1),(101,-1). It commutes with every check and lies outside the full stabilizer rowspace. The official stabilizer path has no native exact-certification or circuit tier.

Exact finite binary symplectic parameters are additional evidence. The public source and audit package contains the Lean 4.19.0 theorem QLDPC.xyz56_parameters, the delivered independent clean-source rebuild, and the actual deep-search outputs with witnesses. Preparation reran manifest verification, source scans, literal binding, independent candidate computation and byte-identical certificate regeneration. The supplied kernel build was not repeated during preparation. JSON parsing and hashing remain external; signed Pauli/Hilbert-space correspondence, infinite families, LC-CSSness, novelty and experimental fault tolerance are outside the Lean proof. The independent computation checked no nonzero normalizer of weight 1–3 and the weight-four logical.

There is also a full-rowspace finite non-LC-CSS certificate, independent of the official supplied-generator test. For each generator support Q, rank(S)-rank(S restricted outside Q)=1, retaining both symplectic halves. In a CSS image a mixed generator would split into two independent stabilizers inside Q, contradicting that dimension. Every qubit sees all three Pauli axes among these minimal-support generators; local Cliffords cannot send those three axes into only X and Z. This includes arbitrary generator rebasing and qubit permutations. The public package provides a direct replay script.

Literature status remains unknown. The current board and targeted primary-source and exact-parameter searches did not establish an identical published point; absence from this limited search does not prove worldwide novelty or general inequivalence to published codes. No priority or superiority to all CSS codes is claimed. Distance is fixed at four here; no growing-distance claim is made.

Dead ends

The motivating restricted singleton-color incidence pattern permits repeated same-axis syndromes and weight-two normalizers. Simply adding a second group of only one color leaves the analogous obstruction for the other singleton colors. The (2,2,1) choice avoids that specific mechanism. This is a scoped design lesson, not a no-go theorem for arbitrary degree-four stabilizer codes. No other exploratory code or negative-result dataset is submitted in this PR.

Tools

Model: GPT-6 Astra. Agent environment: OpenAI Codex. AI assistance covered construction exploration, review, literature checking, official validation and preparation of the submission. Python 3.12.3, the upstream uv.lock, NumPy 2.4.6, Stim 1.16.0, the research extra and the official gf2_fast accelerator were used. Runtime for each deep run was tens of seconds on the preparation host; full historical compute and token usage are unknown. No decoder performance or hardware cost was measured.

Reproduction

Reconstruct the five groups from the table, or use the exact ordered matrix already in codes/56-24-4.json. At the upstream commit above:

uv sync --frozen --python 3.12 --extra research --extra certify
make fast
uv run python verify/qldpc_verify.py codes/56-24-4.json
uv run python verify/validate_candidate.py codes/56-24-4.json
uv run python verify/heuristic_distance.py codes/56-24-4.json --trials 20000 --fast-trials 2000000 --fold-trials 50000 --seed 2026101701

Repeat the last command with seed 2026101702. For Lean and the external submission-to-proof binding, follow the commands in the pinned public package. Its original input hash is c598183c0768f29abffb430992543ce3cd7ddbb1337be0701c7db5ad88252c45; only submission metadata and formatting change, not checks or witness.

Stabilizer generators

generators 35 (max weight 8; 7 mixed X/Z) (one binary symplectic matrix S = (A | B); generator i is X on A_i and Z on B_i, Y where both)
generators (35, Pauli strings on 56 qubits)
XIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIII IXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIII IIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIII IIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIII IIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXII IIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXI IIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIXIIIIIIX XIIIIIIIIIXIIIIIXIIIIIIIIIXIIXIIIIIIIIIXIIIIIXIIIIIIIIIX IXIIIIIIIIIXIIIIIXIIIIIIIIIXIIXIIIIIIIIIXIIIIIXIIXIIIIII IIXIIIIIIIIIXIIIIIXIIXIIIIIIIIIXIIIIIIIIIXIIIIIXIIXIIIII IIIXIIIIIIIIIXIIIIIXIIXIIIIIIIIIXIIXIIIIIIIIIIIIXIIXIIII IIIIXIIXIIIIIIIIIIIIXIIXIIIIIIIIIXIIXIIIIIXIIIIIIIIIXIII IIIIIXIIXIIIIIXIIIIIIIIIXIIIIIIIIIXIIXIIIIIXIIIIIIIIIXII IIIIIIXIIXIIIIIXIIIIIIIIIXIIXIIIIIIIIIXIIIIIXIIIIIIIIIXI ZIIIIIIZIIIIIIZIIIIIIZIIIIIIIZIIIIIIZIIIIIIZIIIIIIZIIIII IZIIIIIIZIIIIIIZIIIIIIZIIIIIIIZIIIIIIZIIIIIIZIIIIIIZIIII IIZIIIIIIZIIIIIIZIIIIIIZIIIIIIIZIIIIIIZIIIIIIZIIIIIIZIII IIIZIIIIIIZIIIIIIZIIIIIIZIIIIIIIZIIIIIIZIIIIIIZIIIIIIZII IIIIZIIIIIIZIIIIIIZIIIIIIZIIIIIIIZIIIIIIZIIIIIIZIIIIIIZI IIIIIZIIIIIIZIIIIIIZIIIIIIZIIIIIIIZIIIIIIZIIIIIIZIIIIIIZ IIIIIIZIIIIIIZIIIIIIZIIIIIIZZIIIIIIZIIIIIIZIIIIIIZIIIIII ZIIIIIIIIIZIIIIIZIIIIIIIIIZIZIIIIIIIIIZIIIIIZIIIIIIIIIZI IZIIIIIIIIIZIIIIIZIIIIIIIIIZIZIIIIIIIIIZIIIIIZIIIIIIIIIZ IIZIIIIIIIIIZIIIIIZIIZIIIIIIIIZIIIIIIIIIZIIIIIZIIZIIIIII IIIZIIIIIIIIIZIIIIIZIIZIIIIIIIIZIIIIIIIIIZIIIIIZIIZIIIII IIIIZIIZIIIIIIIIIIIIZIIZIIIIIIIIZIIZIIIIIIIIIIIIZIIZIIII IIIIIZIIZIIIIIZIIIIIIIIIZIIIIIIIIZIIZIIIIIZIIIIIIIIIZIII IIIIIIZIIZIIIIIZIIIIIIIIIZIIIIIIIIZIIZIIIIIZIIIIIIIIIZII YIIIIIIYIIIIIIIIYIIIIIIYIIIIYIIIIIIYIIIIIIIIYIIIIIIYIIII IYIIIIIIYIIIIIIIIYIIIIIIYIIIIYIIIIIIYIIIIIIIIYIIIIIIYIII IIYIIIIIIYIIIIIIIIYIIIIIIYIIIIYIIIIIIYIIIIIIIIYIIIIIIYII IIIYIIIIIIYIIIIIIIIYIIIIIIYIIIIYIIIIIIYIIIIIIIIYIIIIIIYI IIIIYIIIIIIYIIIIIIIIYIIIIIIYIIIIYIIIIIIYIIIIIIIIYIIIIIIY IIIIIYIIIIIIYIYIIIIIIYIIIIIIIIIIIYIIIIIIYIYIIIIIIYIIIIII IIIIIIYIIIIIIYIYIIIIIIYIIIIIIIIIIIYIIIIIIYIYIIIIIIYIIIII
symplectic rows (A | B) (35, sparse supports)
X: [0, 7, 14, 21, 28, 35, 42, 49] Z: [] X: [1, 8, 15, 22, 29, 36, 43, 50] Z: [] X: [2, 9, 16, 23, 30, 37, 44, 51] Z: [] X: [3, 10, 17, 24, 31, 38, 45, 52] Z: [] X: [4, 11, 18, 25, 32, 39, 46, 53] Z: [] X: [5, 12, 19, 26, 33, 40, 47, 54] Z: [] X: [6, 13, 20, 27, 34, 41, 48, 55] Z: [] X: [0, 10, 16, 26, 29, 39, 45, 55] Z: [] X: [1, 11, 17, 27, 30, 40, 46, 49] Z: [] X: [2, 12, 18, 21, 31, 41, 47, 50] Z: [] X: [3, 13, 19, 22, 32, 35, 48, 51] Z: [] X: [4, 7, 20, 23, 33, 36, 42, 52] Z: [] X: [5, 8, 14, 24, 34, 37, 43, 53] Z: [] X: [6, 9, 15, 25, 28, 38, 44, 54] Z: [] X: [] Z: [0, 7, 14, 21, 29, 36, 43, 50] X: [] Z: [1, 8, 15, 22, 30, 37, 44, 51] X: [] Z: [2, 9, 16, 23, 31, 38, 45, 52] X: [] Z: [3, 10, 17, 24, 32, 39, 46, 53] X: [] Z: [4, 11, 18, 25, 33, 40, 47, 54] X: [] Z: [5, 12, 19, 26, 34, 41, 48, 55] X: [] Z: [6, 13, 20, 27, 28, 35, 42, 49] X: [] Z: [0, 10, 16, 26, 28, 38, 44, 54] X: [] Z: [1, 11, 17, 27, 29, 39, 45, 55] X: [] Z: [2, 12, 18, 21, 30, 40, 46, 49] X: [] Z: [3, 13, 19, 22, 31, 41, 47, 50] X: [] Z: [4, 7, 20, 23, 32, 35, 48, 51] X: [] Z: [5, 8, 14, 24, 33, 36, 42, 52] X: [] Z: [6, 9, 15, 25, 34, 37, 43, 53] X: [0, 7, 16, 23, 28, 35, 44, 51] Z: [0, 7, 16, 23, 28, 35, 44, 51] X: [1, 8, 17, 24, 29, 36, 45, 52] Z: [1, 8, 17, 24, 29, 36, 45, 52] X: [2, 9, 18, 25, 30, 37, 46, 53] Z: [2, 9, 18, 25, 30, 37, 46, 53] X: [3, 10, 19, 26, 31, 38, 47, 54] Z: [3, 10, 19, 26, 31, 38, 47, 54] X: [4, 11, 20, 27, 32, 39, 48, 55] Z: [4, 11, 20, 27, 32, 39, 48, 55] X: [5, 12, 14, 21, 33, 40, 42, 49] Z: [5, 12, 14, 21, 33, 40, 42, 49] X: [6, 13, 15, 22, 34, 41, 43, 50] Z: [6, 13, 15, 22, 34, 41, 43, 50]
Code ID 56-24-4 · download JSON · raw on GitHub