← back to the board
[[222,52,6]] d =
n
222
k
52
d
6
kd²/n
8.432
w
9
X/Z
1

Share this result

Distance

X/Z asymmetry 1 · d_X = 6, d_Z = 6 · w_X = 9, w_Z = 9 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 6 · witness weight 6 (claimed upper_bound)
witness found by @dorakingx · gf2_fast RIS ladder (verify/gf2_fast.cpp), both sides searched jointly · found at 2×104 trials · survived 2×107 trials · 2026-10-03
witness operator (support, 6 qubits)
[44, 45, 60, 61, 164, 165]
d_Z 6 · witness weight 6 (claimed upper_bound)
witness found by @dorakingx · gf2_fast RIS in the packaging search; the ladder searched both sides jointly · found at 4000 trials · survived 2×107 trials · 2026-10-03
witness operator (support, 6 qubits)
[38, 39, 150, 151, 186, 187]
certificate exact, d = 6 · CryptoMiniSat 5.14.7 SAT
X: no logical < 6 exists; Z: no logical < 6 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 5–9 (mean 7.265) · H_Z 5–9 (mean 7.865)
qubit degrees H_X 2–8 (mean 3.207) · H_Z 2–9 (mean 3.401)
trapping sets H_X (1,2)×48 (2,2)×72 (3,2)×60 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,2): 48 (1,3): 132 (1,4): 26 (1,5): 4 (1,8): 12 (2,2): 72 (2,3): 280 (2,4): 906 (2,5): 444 (2,6): 140 (2,7): 24 (2,8): 102 (2,9): 248 (2,10): 34 (2,11): 8 (2,12): 11 (2,14): 26 (3,2): 60 (3,3): 1020 (3,4): 2830 (3,5): 8036 (3,6): 6292 (3,7): 4640 (3,8): 2400 (3,9): 3352 (3,10): 4648 (3,11): 1728 (3,12): 992 (3,13): 424 (3,14): 506 (3,15): 1020 (3,16): 182 (3,17): 80 (3,18): 82 (3,19): 4 (3,20): 50
trapping sets H_Z (1,2)×44 (2,2)×72 (3,2)×72 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,2): 44 (1,3): 116 (1,4): 44 (1,7): 5 (1,8): 9 (1,9): 4 (2,2): 72 (2,3): 264 (2,4): 780 (2,5): 580 (2,6): 172 (2,7): 44 (2,8): 132 (2,9): 260 (2,10): 108 (2,11): 61 (2,12): 11 (2,13): 23 (2,14): 23 (2,15): 24 (3,2): 72 (3,3): 880 (3,4): 2820 (3,5): 6844 (3,6): 7712 (3,7): 5748 (3,8): 2996 (3,9): 3684 (3,10): 5306 (3,11): 3832 (3,12): 2516 (3,13): 1410 (3,14): 1249 (3,15): 1529 (3,16): 1199 (3,17): 503 (3,18): 112 (3,19): 158 (3,20): 95 (3,21): 40

Construction & provenance

authors @dorakingx
provenance submitted through the challenge
novelty novelty not audited
construction Reduction of the board's codes/224-52-6.json ([[224,52,6]]) by 2 qubits at unchanged k, unchanged check-weight class and unchanged locality class, by one move applied to a fixpoint: graft a qubit away using a low-weight element of the stabilizer ROW SPACE. Let S be an element of the row space of H_X with support T and let a be in T. Replace one generator of the subset summing to S by S itself -- the span is unchanged, that generator being S plus the rest of the subset -- and add S into every other X row meeting a, so that a survives only in S. Then apply the CNOT fan-out from a to T\{a}, which acts on the check matrices as H_X[:, b] ^= H_X[:, a] and H_Z[:, a] ^= H_Z[:, b] for each b in T\{a}. Only S still meets a, so the first substitution turns S into the weight-1 stabilizer X_a and leaves every other X row alone; the second zeroes column a of H_Z, because commutation forces every Z row to meet T an even number of times. Qubit a is then disentangled and is deleted: n -> n-1, k unchanged, and the Z rows only LOSE an index, so their weights and support diameters cannot rise. The weight of S separates three regimes, and the difference is entirely in the clearing step R ^= S. |S| = 1: nothing is added anywhere, so the weights, the radius AND THE DISTANCE are all preserved exactly, and no distance search is needed -- this is the row-space form of the weight-1 stabilizer cleanup of Liang, Eberhardt and Chen (arXiv:2504.08887 Sec. III D step 4), which the implementation in research/local2d/boundary_engine.py applies only to literal weight-1 generator ROWS. |S| = 2: R loses a and toggles one other index, so its weight changes by 0 or -2 and can never rise. |S| >= 3: R can grow, so every touched row is checked against the code's weight class and its locality radius, measured in the source's own layout. This generalises the capped merge-graft I introduced with [[454,8,17]], which only ever built S from the generators a single qubit happens to lie in. Here the accepted grafts were . Low-weight row-space elements are enumerated as sums of at most three checks with a connected overlap pattern. Every graft with |S| >= 2 was accepted only if k was unchanged and a bit-packed RIS search found nothing lighter than 6, screened once and confirmed twice with independent seeds; those in-loop rungs are a filter, not the evidence. QUBIT POSITIONS ARE THE SOURCE'S: every surviving qubit keeps the coordinate it has in codes/224-52-6.json, so the layout is inherited rather than re-derived, and the reduction only deletes. The surviving qubits' indices into the source numbering are [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]... (full list implied by the coordinates in this file).
model Claude Claude Opus 5 (Claude Code) (claimed, not verified)
date 2026-10-03
notes Derived from codes/224-52-6.json, not an independent construction; the source's authors are @MathysRennela and the reduction is mine. The gate reports no exact duplicate and no WL-equivalent entry. It dominates [[224,52,6]] on (n, k, d, w), which therefore leaves the frontier of every cell the two share. Distance is a witness-backed upper bound: the deepest null result is 20000000 fresh-seed RIS trials. Literature novelty is unverified.
family distance-amplified (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

[[222,52,6]] — reduction of the board's [[224,52,6]]

Where the qubits came from

codes/224-52-6.json is @MathysRennela's construction; this is a reduction of it, following the precedent @mathysrennela set on this board of submitting a reduction of someone else's entry as a contribution in its own right. 2 qubits come out under the general form of the move below, and the accepted grafts were .

The move

Let S be any element of the row space of H_X — an element of the stabilizer group, not necessarily one of the published generators — with support T, and let a ∈ T.

1. Replace one generator of the subset summing to S by S itself. The span is unchanged: that generator equals S plus the rest of the subset. 2. Add S into every other X row meeting a, so a survives only in S. 3. Apply the CNOT fan-out from a to T \ {a}, which acts on the check matrices as H_X[:, b] ^= H_X[:, a] and H_Z[:, a] ^= H_Z[:, b].

After step 2 only S meets a, so step 3 turns S into the weight-1 stabilizer X_a and leaves every other X row alone; and column a of H_Z becomes the XOR of its entries over T, which commutation forces to be 0. Qubit a is disentangled and is deleted: n → n-1, k unchanged, and the Z rows only lose an index, so their weights and support diameters cannot rise.

The weight of S selects the regime, entirely through the clearing step R ^= S:

  • |S| = 1 — nothing is added anywhere, so weight, radius and distance are all
  • preserved exactly and no distance search is needed. This is the row-space form of the weight-1 stabilizer cleanup of Liang, Eberhardt and Chen (arXiv:2504.08887 Sec. III D step 4); research/local2d/boundary_engine.py fires only on a *literal* weight-1 generator ROW, and row-space membership is strictly weaker.

  • |S| = 2 — the row loses a and toggles one other index, so its weight changes by 0
  • or −2 and can never rise.

  • |S| ≥ 3 — the row can grow, so every touched row is checked against the code's weight
  • class and its locality radius, measured in the source's own layout.

Low-weight row-space elements are enumerated as sums of at most three checks with a connected overlap pattern.

Verification

Fresh-seed RIS ladder: 6 at 20k → 200k → 1M → 5M → 20M trials per rung, independent seeds, both sides searched jointly. Nothing lighter than 6 appeared. Each graft was also screened and confirmed twice in the loop with independent seeds; those rungs are a filter, not the evidence. The distance is a witness-backed upper bound — on this project a [[682,10,38]] candidate survived three fresh seeds to five million trials and then fell at twenty million, so a flat ladder is not a proof.

verify/validate_candidate.py passes: board_advancing: true, dominated_by: [], no duplicate and no WL-equivalent entry, cell weight-9plus × unrestricted.

Numbers

Max check weight 9 throughout. Interaction radius unchanged at 0, so the reduced code is no less local than the source; layers unchanged. Qubit positions are the source's — every surviving qubit keeps the coordinate it has in codes/224-52-6.json, and the reduction only deletes. kd²/n 8.357 → 8.432.

It dominates 224-52-6 on (n, k, d, w).

Parity checks

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