← back to the board
[[234,72,4]] d =
n
234
k
72
d
4
kd²/n
4.923
w
8
X/Z
1
g
0.0036
r
6.0828
layers
2
swaps
710

Share this result

Distance

X/Z asymmetry 1 · d_X = 4, d_Z = 4 · w_X = 8, w_Z = 8 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 4 · witness weight 4 (claimed upper_bound)
witness operator (support, 4 qubits)
[12, 14, 24, 26]
d_Z 4 · witness weight 4 (claimed upper_bound)
witness operator (support, 4 qubits)
[182, 185, 194, 197]
certificate exact, d = 4 · CryptoMiniSat 5.14.7 SAT
X: no logical < 4 exists; Z: no logical < 4 exists

Diagnostics

computed by the verifier from the parity checks, the layout, and the stored witnesses; shown as evidence, not used for ranking
girth H_X 4 · H_Z 4 (shortest cycle of each side’s Tanner graph; longer is friendlier to belief propagation)
check weights H_X 7–8 (mean 7.2) · H_Z 7–8 (mean 7.2)
qubit degrees H_X 2–6 (mean 2.769) · H_Z 2–6 (mean 2.769)
trapping sets H_X (1,2)×108 (2,2)×378 (3,2)×540 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,2): 108 (1,3): 108 (1,6): 18 (2,2): 378 (2,3): 432 (2,4): 486 (2,6): 324 (2,7): 324 (2,8): 9 (3,2): 540 (3,3): 3132 (3,4): 4032 (3,5): 3456 (3,6): 3078 (3,7): 5544 (3,8): 3672 (3,9): 648 (3,10): 819 (3,11): 324
trapping sets H_Z (1,2)×108 (2,2)×378 (3,2)×540 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,2): 108 (1,3): 108 (1,6): 18 (2,2): 378 (2,3): 432 (2,4): 486 (2,6): 324 (2,7): 324 (2,8): 9 (3,2): 540 (3,3): 3132 (3,4): 4032 (3,5): 3456 (3,6): 3078 (3,7): 5544 (3,8): 3672 (3,9): 648 (3,10): 819 (3,11): 324
witness diameter X 5.0 · Z 4.4721 (Euclidean support diameter of the stored distance witnesses in the layout; an upper bound on the exhibited logicals’ spread, not a minimum over all logicals)

Verified 2D layout

as measured by the verifier: every check drawn over the submitted coordinates; the interaction radius is the longest dashed pair
layout contributed by @dorakingx · Simulated annealing over site assignments on an integer grid with the repo's own research/local2d/fold_layout.search_layout (max-diameter objective, several bounding boxes and seeds); single layer at radius 4 tried first, then two layers at 7. Radius and per-site occupancy re-measured with the verifier's rule. · 2026-10-07
r = 6.083
X checkZ checkqubit site (117)2 qubits stacked (2 layers)dashed: the pair setting the interaction radiushover a check to isolate its qubits; click to pin — repeated clicks cycle through overlapping checks; click empty space to release
routing cost 710 nearest-neighbor SWAPs per round in total, at most 10 for one check (heuristic: MST lower bound on the layout, with one lattice step = the minimum qubit spacing 1; not a rank)

Construction & provenance

provenance submitted through the challenge
novelty novelty not audited
construction Distance-amplified code: one tensor-product amplification step (central three-term truncation of the chain-complex tensor product, arXiv:2609.37231) with the [[6,4,2]] CSS amplifier -- H_X = H_Z = the all-ones row on 6 qubits, reduced form, so r_1 = r_2 = 1 -- applied to the board's [[36,18,2]] entry. The step is the operation the one-shot paper arXiv:2610.02137 uses to build its level map (App. A.2, Def 111: the local cones tensored with the repetition code), with the amplifier swapped: that paper takes k_A = d_A = 1, which preserves the distance exactly but leaves k unchanged (its Lemma 118, H_Q(Gamma) = H_Q(C)) and so cannot move a (n, k, d, w) frontier. Here d_A = 2, so n' = 6n + m_X + m_Z = 234, k' = 4k = 72, w' = 8. The X and Z witnesses are the base entry's stored witnesses tensored with the weight-2 [[6,4,2]] logical (weights 4 / 4), so the distance is derived, not searched: the logical-overlap criterion gives d' >= 2d and this witness gives d' <= 2d. Witness-backed upper bound, not an exact distance. Base provenance: 2BGA (arXiv:2306.16400) on SmallGroup(18,2), from github.com/QEC-pages/2BGA-codes @ 403d194c3f98f0cadc236aecbc4a8b6139ccf23c, abelian.zip, diswtabelian_wt6wtL2_order18_k18.txt, line 1. nonidentity supports a=[2], b=[2, 3, 5]. (family generalized-bicycle, 36-18-2). Distance confirmed at 100000 fresh-seed trials per side (seed 5000, gf2_fast, 10 threads): lightest logical found was 4 on both sides, i.e. the derived distance survives independent search. Packaging: Space Bunny Alpha 1.0.
model Space Bunny Alpha 1.0 (claimed, not verified)
date 2026-10-04
notes Constructed and packaged with the Space Bunny Alpha 1.0 model. Equivalence check, deliberate: qldpc submit's board dedup reported an exact fingerprint match against this entry's own slug, which is this document matching itself inside codes/ -- it is not present on the base branch. Checked, not equivalent: re-running verify/validate_candidate.py with the document held outside codes/, so the board is the base branch and excludes the candidate, returns exact_duplicate_of null and wl_equivalent_of null.
family distance-amplified (a tag, not a ranking)
locality 2D-local bilayer (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

[[234,72,4]] — 6-sheet amplifier on the board's [[36,18,2]], distance preserved and doubled

Direction & hypothesis

Target cell: weight-8 x unrestricted (the amplified code carries no layout, so it earns no 2D-local class; that is a certification status, not a property). Family: distance-amplified.

The structural idea is the amplifier. arXiv:2610.02137 builds its one-shot level map by tensoring the seed's local cones with the repetition code (App. A.2, Def. 111) — a chain-complex operation whose only free parameter is *which* small code gets tensored in. Read as an amplifier, that paper takes the k_A = d_A = 1 corner, and its Lemma 118 (H_Q(Gamma) ~ H_Q(C)) gives k' = k with n' inflated 19x-924x per level, so it cannot move a (n, k, d, w) frontier at all. Swapping the amplifier to one with d_A = 2 is the same operation with the distance *amplified* rather than frozen, which is the only form of it that can advance anything: the distance is not lost (d' >= 2d) and k multiplies by k_A = 4 at the same time.

For any amplifier the multiplier on the board's headline figure is Phi(A) = k_A d_A^2 / (n_A + (r_1 m_Z + r_2 m_X)/n), which is < 1 for every d_A = 1 amplifier — that is the general form of the no-go above. d_A = 2 is what pays, and 6 = 6 is the largest amplifier that stays inside the weight-8 cell (see Dead ends).

What was searched

One amplification step applied to **every board entry with w <= 7 and a stored witness on both sides**, for each amplifier n_A in 4..8, screened on the board's own Pareto rule before any matrix was built and re-screened on the *exact* max check weight afterwards. 939 candidates built, 531 of them landing in weight <= 8, 13 advancing a cell without tying anything already on it.

This entry came from base 36-18-2 ([[36,18,2]], check weight 6) with amplifier [[6,4,2]]: n' = 6*36 + m_X + m_Z = 234, k' = 4*18 = 72, w' = 8, d' = 2*2 = 4.

The base's presentation is a free parameter that does not move n' (since m_X + m_Z = n - k is presentation-independent) but does move w': the amplified check weight is max(w_base + 1, n_A + max_x |{z : x.z = 1}|), so a lighter independent-row basis of the base's stabilizer space was searched for and used where it lowered w'.

Evidence trail

Confirmation ladder for this entry, both sides, fresh seed:

| side | trials | lightest logical found | |---|---|---| | X | 100,000 | 4 | | Z | 100,000 | 4 |

Seed 5000, gf2_fast backend, 10 threads, 5.9s total. Nothing lighter than the claim on either side, so the derived distance 4 = 2d survives independent search rather than resting on the construction alone.

The trusted gate (verify/validate_candidate.py) independently reports refuted: false. Its own refutation pass is shallow — 4,020 RIS trials — which is why the ladder above is a separate, 25x deeper run rather than a restatement of the gate.

Claim: witness-backed upper bound d <= 4, not exact. The construction derives d' >= 2d and the lifted witness gives d' <= 2d, so this distance is in fact established both ways; it is filed as upper_bound because that is what the board displays and no maintainer certification has been run.

Dead ends

  • d_A = 1, i.e. genuinely distance-preserving. Provably barren:
  • Phi = k_A/(n_A + (r_1 m_Z + r_2 m_X)/n) < 1 since k_A <= n_A. This is the one-shot paper's own instantiation, and it is why that paper's codes cannot land here. Recorded because "preserve the distance" reads like it should help and it provably cannot.

  • n_A >= 8. Phi keeps climbing (~2.7 at n_A = 8, ~3.4 at n_A = 14) but
  • w' >= n_A is a hard floor, so the code leaves the weight-8 cell and the gain is not collectable. The weight cell, not the distance, is the binding constraint.

  • Bases with w = 8. w' >= w_base + 1 sends every one of them to
  • weight-9plus. 96 candidates were built there and 70 were frontier-nondominated among themselves, but they sit in the weakest cell (its kd^2/n leader is 1534) and were dropped in favour of the weight-8 ones.

  • One-sided amplifiers (only H_X^A nonzero) to dodge the +1 on w': they
  • force d_A = 1, so they land in the barren case above.

Tools

Model: Space Bunny Alpha 1.0 (matches provenance.model), driving the repo's own kit: the chain-complex amplification and its light-independent-row-basis search, both rebuilt from the algebra stated in *Reproduction* below, so the recipe is in this note rather than in a script; research/kit/surrogate.py for the distance search on the gf2_fast accelerator (make fast), and research/kit/submit.py plus verify/validate_candidate.py for packaging and the trusted gate. Confirming all candidates in this batch cost 181 CPU-seconds of accelerator time; the amplification matrices are built in numpy and the sweep is seconds of wall clock.

Reproduction

With the base written as a chain complex C_2 --d2--> C_1 --d1--> C_0 (C_1 the data qubits, C_0 the X-stabilizer space, C_2 the Z-stabilizer space) and reduced presentations m_X = rank H_X, m_Z = rank H_Z (so m_X + m_Z = n - k), and an amplifier A with reduced A_0 = im D1, A_2 = im D2 (r_1 = rank H_X^A, r_2 = rank H_Z^A), the product has

data qubits P = C_1 (x) A_1, B = C_2 (x) A_0, A = C_0 (x) A_2 n' = |P| + |B| + |A| = n_A n + r_1 m_Z + r_2 m_X k' = k_A k, k_A = n_A - r_1 - r_2

with X-rows (x_a) (x) phi + e_a (x) (D2 phi) and (h) (x) (D1 psi) + (d2 h) (x) psi, and the Z-rows the mirror image. Pairing an X-row against a Z-row, the data part and the check-block part carry the same coefficient and cancel, leaving only <D1 psi, D2 psi'>, so H_X' H_Z'^T = 0 for every CSS amplifier. The amplifier used here is the all-ones code on 6 qubits with one row per side: H_X^A = H_Z^A = (1, ..., 1), reduced, so n_A = 6, r_1 = r_2 = 1, k_A = 4. Every qubit lies in both sectors, so no weight-1 logical exists, and X_i X_j is one, so d_A = 2.

Both witnesses are *derived*, not searched: a base logical on the support S lifts to 6 q + j for q in S and j in {0, 1}, which commutes with every check and lies outside the stabilizer row space, giving weight 2 d. So d' >= 2 d and d' <= 2 d together: the derived distance is exact.

Starting point is this repo's codes/36-18-2.json, which already carries H_X and H_Z for the base. Take its reduced independent-row bases (lightest rows first) for m_X and m_Z, form the four row families above over the block order (C_1 (x) A_1), (C_2 (x) A_0), (C_0 (x) A_2), and the witness lifts are {n_A * q + j for q in witness for j in (0, 1)}. No search is needed to rebuild the matrices or the witnesses.

Parity checks

X-checks 90 (max weight 8) · Z-checks 90 (max weight 8)
H_X (90 checks, sparse supports)
[0, 6, 108, 114, 204, 210, 225] [1, 7, 109, 115, 205, 211, 225] [2, 8, 110, 116, 206, 212, 225] [3, 9, 111, 117, 207, 213, 225] [4, 10, 112, 118, 208, 214, 225] [5, 11, 113, 119, 209, 215, 225] [12, 24, 108, 114, 120, 132, 226] [13, 25, 109, 115, 121, 133, 226] [14, 26, 110, 116, 122, 134, 226] [15, 27, 111, 117, 123, 135, 226] [16, 28, 112, 118, 124, 136, 226] [17, 29, 113, 119, 125, 137, 226] [18, 30, 126, 138, 144, 162, 227] [19, 31, 127, 139, 145, 163, 227] [20, 32, 128, 140, 146, 164, 227] [21, 33, 129, 141, 147, 165, 227] [22, 34, 130, 142, 148, 166, 227] [23, 35, 131, 143, 149, 167, 227] [36, 54, 120, 132, 144, 162, 228] [37, 55, 121, 133, 145, 163, 228] [38, 56, 122, 134, 146, 164, 228] [39, 57, 123, 135, 147, 165, 228] [40, 58, 124, 136, 148, 166, 228] [41, 59, 125, 137, 149, 167, 228] [42, 60, 126, 138, 150, 168, 229] [43, 61, 127, 139, 151, 169, 229] [44, 62, 128, 140, 152, 170, 229] [45, 63, 129, 141, 153, 171, 229] [46, 64, 130, 142, 154, 172, 229] [47, 65, 131, 143, 155, 173, 229] [48, 66, 156, 174, 180, 192, 230] [49, 67, 157, 175, 181, 193, 230] [50, 68, 158, 176, 182, 194, 230] [51, 69, 159, 177, 183, 195, 230] [52, 70, 160, 178, 184, 196, 230] [53, 71, 161, 179, 185, 197, 230] [72, 84, 150, 168, 180, 192, 231] [73, 85, 151, 169, 181, 193, 231] [74, 86, 152, 170, 182, 194, 231] [75, 87, 153, 171, 183, 195, 231] [76, 88, 154, 172, 184, 196, 231] [77, 89, 155, 173, 185, 197, 231] [78, 90, 156, 174, 186, 198, 232] [79, 91, 157, 175, 187, 199, 232] [80, 92, 158, 176, 188, 200, 232] [81, 93, 159, 177, 189, 201, 232] [82, 94, 160, 178, 190, 202, 232] [83, 95, 161, 179, 191, 203, 232] [96, 102, 186, 198, 204, 210, 233] [97, 103, 187, 199, 205, 211, 233] [98, 104, 188, 200, 206, 212, 233] [99, 105, 189, 201, 207, 213, 233] [100, 106, 190, 202, 208, 214, 233] [101, 107, 191, 203, 209, 215, 233] [0, 1, 2, 3, 4, 5, 216, 224] [6, 7, 8, 9, 10, 11, 216, 224] [12, 13, 14, 15, 16, 17, 216, 217] [18, 19, 20, 21, 22, 23, 218, 219] [24, 25, 26, 27, 28, 29, 216, 217] [30, 31, 32, 33, 34, 35, 218, 219] [36, 37, 38, 39, 40, 41, 217, 219] [42, 43, 44, 45, 46, 47, 218, 220] [48, 49, 50, 51, 52, 53, 221, 222] [54, 55, 56, 57, 58, 59, 217, 219] [60, 61, 62, 63, 64, 65, 218, 220] [66, 67, 68, 69, 70, 71, 221, 222] [72, 73, 74, 75, 76, 77, 220, 222] [78, 79, 80, 81, 82, 83, 221, 223] [84, 85, 86, 87, 88, 89, 220, 222] [90, 91, 92, 93, 94, 95, 221, 223] [96, 97, 98, 99, 100, 101, 223, 224] [102, 103, 104, 105, 106, 107, 223, 224] [108, 109, 110, 111, 112, 113, 216] [114, 115, 116, 117, 118, 119, 216] [120, 121, 122, 123, 124, 125, 217] [126, 127, 128, 129, 130, 131, 218] [132, 133, 134, 135, 136, 137, 217] [138, 139, 140, 141, 142, 143, 218] [144, 145, 146, 147, 148, 149, 219] [150, 151, 152, 153, 154, 155, 220] [156, 157, 158, 159, 160, 161, 221] [162, 163, 164, 165, 166, 167, 219] [168, 169, 170, 171, 172, 173, 220] [174, 175, 176, 177, 178, 179, 221] [180, 181, 182, 183, 184, 185, 222] [186, 187, 188, 189, 190, 191, 223] [192, 193, 194, 195, 196, 197, 222] [198, 199, 200, 201, 202, 203, 223] [204, 205, 206, 207, 208, 209, 224] [210, 211, 212, 213, 214, 215, 224]
H_Z (90 checks, sparse supports)
[0, 6, 12, 24, 108, 114, 216] [1, 7, 13, 25, 109, 115, 216] [2, 8, 14, 26, 110, 116, 216] [3, 9, 15, 27, 111, 117, 216] [4, 10, 16, 28, 112, 118, 216] [5, 11, 17, 29, 113, 119, 216] [12, 24, 36, 54, 120, 132, 217] [13, 25, 37, 55, 121, 133, 217] [14, 26, 38, 56, 122, 134, 217] [15, 27, 39, 57, 123, 135, 217] [16, 28, 40, 58, 124, 136, 217] [17, 29, 41, 59, 125, 137, 217] [18, 30, 42, 60, 126, 138, 218] [19, 31, 43, 61, 127, 139, 218] [20, 32, 44, 62, 128, 140, 218] [21, 33, 45, 63, 129, 141, 218] [22, 34, 46, 64, 130, 142, 218] [23, 35, 47, 65, 131, 143, 218] [18, 30, 36, 54, 144, 162, 219] [19, 31, 37, 55, 145, 163, 219] [20, 32, 38, 56, 146, 164, 219] [21, 33, 39, 57, 147, 165, 219] [22, 34, 40, 58, 148, 166, 219] [23, 35, 41, 59, 149, 167, 219] [42, 60, 72, 84, 150, 168, 220] [43, 61, 73, 85, 151, 169, 220] [44, 62, 74, 86, 152, 170, 220] [45, 63, 75, 87, 153, 171, 220] [46, 64, 76, 88, 154, 172, 220] [47, 65, 77, 89, 155, 173, 220] [48, 66, 78, 90, 156, 174, 221] [49, 67, 79, 91, 157, 175, 221] [50, 68, 80, 92, 158, 176, 221] [51, 69, 81, 93, 159, 177, 221] [52, 70, 82, 94, 160, 178, 221] [53, 71, 83, 95, 161, 179, 221] [48, 66, 72, 84, 180, 192, 222] [49, 67, 73, 85, 181, 193, 222] [50, 68, 74, 86, 182, 194, 222] [51, 69, 75, 87, 183, 195, 222] [52, 70, 76, 88, 184, 196, 222] [53, 71, 77, 89, 185, 197, 222] [78, 90, 96, 102, 186, 198, 223] [79, 91, 97, 103, 187, 199, 223] [80, 92, 98, 104, 188, 200, 223] [81, 93, 99, 105, 189, 201, 223] [82, 94, 100, 106, 190, 202, 223] [83, 95, 101, 107, 191, 203, 223] [0, 6, 96, 102, 204, 210, 224] [1, 7, 97, 103, 205, 211, 224] [2, 8, 98, 104, 206, 212, 224] [3, 9, 99, 105, 207, 213, 224] [4, 10, 100, 106, 208, 214, 224] [5, 11, 101, 107, 209, 215, 224] [0, 1, 2, 3, 4, 5, 225] [6, 7, 8, 9, 10, 11, 225] [12, 13, 14, 15, 16, 17, 226] [18, 19, 20, 21, 22, 23, 227] [24, 25, 26, 27, 28, 29, 226] [30, 31, 32, 33, 34, 35, 227] [36, 37, 38, 39, 40, 41, 228] [42, 43, 44, 45, 46, 47, 229] [48, 49, 50, 51, 52, 53, 230] [54, 55, 56, 57, 58, 59, 228] [60, 61, 62, 63, 64, 65, 229] [66, 67, 68, 69, 70, 71, 230] [72, 73, 74, 75, 76, 77, 231] [78, 79, 80, 81, 82, 83, 232] [84, 85, 86, 87, 88, 89, 231] [90, 91, 92, 93, 94, 95, 232] [96, 97, 98, 99, 100, 101, 233] [102, 103, 104, 105, 106, 107, 233] [108, 109, 110, 111, 112, 113, 225, 226] [114, 115, 116, 117, 118, 119, 225, 226] [120, 121, 122, 123, 124, 125, 226, 228] [126, 127, 128, 129, 130, 131, 227, 229] [132, 133, 134, 135, 136, 137, 226, 228] [138, 139, 140, 141, 142, 143, 227, 229] [144, 145, 146, 147, 148, 149, 227, 228] [150, 151, 152, 153, 154, 155, 229, 231] [156, 157, 158, 159, 160, 161, 230, 232] [162, 163, 164, 165, 166, 167, 227, 228] [168, 169, 170, 171, 172, 173, 229, 231] [174, 175, 176, 177, 178, 179, 230, 232] [180, 181, 182, 183, 184, 185, 230, 231] [186, 187, 188, 189, 190, 191, 232, 233] [192, 193, 194, 195, 196, 197, 230, 231] [198, 199, 200, 201, 202, 203, 232, 233] [204, 205, 206, 207, 208, 209, 225, 233] [210, 211, 212, 213, 214, 215, 225, 233]
Code ID 234-72-4 · download JSON · raw on GitHub