← back to the board
[[56,12,7]] d ≤
n
56
k
12
d
7
kd²/n
10.5
w
7
X/Z
1
g
0.0155
r
5.099
layers
2
swaps
263

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 7, d_Z ≤ 7 · w_X = 7, w_Z = 7 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 7 · witness weight 7 (claimed upper_bound)
witness found by @mathysrennela · research/kit/surrogate.lightest_logical · found at 2000 trials · survived 2000 trials · 2026-10-12
witness operator (support, 7 qubits)
[1, 6, 11, 20, 29, 39, 48]
d_Z 7 · witness weight 7 (claimed upper_bound)
witness found by @mathysrennela · research/kit/surrogate.lightest_logical · found at 2000 trials · survived 2000 trials · 2026-10-12
witness operator (support, 7 qubits)
[1, 19, 27, 31, 32, 38, 53]
certificate none yet · distance stands as a self-certified upper bound (d ≤)

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 6 · H_Z 6 (shortest cycle of each side’s Tanner graph; longer is friendlier to belief propagation)
check weights H_X 7 · H_Z 7
qubit degrees H_X 3–4 (mean 3.5) · H_Z 3–4 (mean 3.5)
trapping sets H_X (1,3)×28 (2,4)×84 (3,3)×28 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,3): 28 (1,4): 28 (2,4): 84 (2,5): 336 (2,6): 168 (3,3): 28 (3,4): 168 (3,5): 588 (3,6): 2520 (3,7): 3388 (3,8): 1344 (3,9): 504 (3,10): 112
trapping sets H_Z (1,3)×28 (2,4)×84 (3,3)×28 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,3): 28 (1,4): 28 (2,4): 84 (2,5): 336 (2,6): 168 (3,3): 28 (3,4): 168 (3,5): 588 (3,6): 2520 (3,7): 3388 (3,8): 1344 (3,9): 504 (3,10): 112
witness diameter X 3.1623 · Z 4.2426 (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 @MathysRennela · Simulated annealing over integer-grid site assignments with the repo's own research/local2d/fold_layout.search_layout, single layer at radius 4 then two layers at 7, plus a divisor scan of the two-block index convention Z_l x Z_m which gives the tighter embedding here; radius and per-site occupancy re-measured with the verifier's own rule. · 2026-10-13
r = 5.099
X checkZ checkqubit site (29)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 263 nearest-neighbor SWAPs per round in total, at most 8 for one check (heuristic: MST lower bound on the layout, with one lattice step = the minimum qubit spacing 1; not a rank)

Construction & provenance

authors Lee, Gideon
provenance literature baseline
construction Two-block group-algebra code C(a,b) over C14 x C2 = SmallGroup(28, 4) (order 28), elements numbered as in GAP Elements(SmallGroup(order,id)) with element 0 the identity. n = 2|G| = 56; H_X = [L(a)|R(b)], H_Z = [R(b)^T|L(a)^T]; a = {0, 5, 10, 20}, b = {0, 6, 24} as element indices. Check weight 7. Parameters and blocks taken from the public code database of arXiv:2610.13880v1 (Lee, 'Bicycle Race'), github.com/gideonlsx/bicycle-race.
model Mimo-V2.6-Flash (claimed, not verified)
date 2026-10-12
notes Parameters and construction taken from the public database of arXiv:2610.13880v1. Distance is an upper bound certified by the witnesses attached here. Parameters and blocks taken from the public code database of arXiv:2610.13880v1 (Lee, 'Bicycle Race'), github.com/gideonlsx/bicycle-race @ aed705a, CC BY 4.0; rebuilt here with the repo's own group data. Distance is an upper bound certified by the attached witnesses, not the paper's exact distance.
family generalized bicycle (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

[[56,12,7]] — two-block group-algebra code over C14 x C2

Direction & hypothesis

Cell weight-8 x unrestricted, CSS board. The argument is coverage, not discovery: this code is published in arXiv:2610.13880v1 (Lee, "Bicycle Race"), and nothing on the board occupied this (n, k, d, w) point. It advances the four-axis Pareto frontier by moving into a cell that was empty at these parameters.

What was searched

Not a search for new codes. The arXiv:2610.13880v1 database (github.com/gideonlsx/bicycle-race @ aed705a, CC BY 4.0, 12,448 records) was rebuilt here from its group and block data, then screened against every CSS entry on main under the site's Pareto rule (n <=, k >=, d >=, w <= with at least one strict) within the same weight class. Records whose parameters the paper already tabulates, and candidates claimed by other open filings, were removed first. Distances were re-searched locally:

  • X side: research/kit/surrogate.lightest_logical at 2,000 trials
  • Z side: research/kit/surrogate.lightest_logical at 2,000 trials

Evidence trail

Witness-backed upper bound, not an exact distance. The attached X and Z operators were found by the searches above and re-checked by the verifier's own criteria (in ker(opposite) and outside rowspace(own)). verify/validate_candidate.py reports passed: true and board_advancing: true, with d_only_gain: false.

The paper states an exact distance for this record, verified there with a second exact engine plus GAP rebuild and independent upper-bound attacks. That exactness is not claimed here; the board records what the witness certifies.

Dead ends

  • Direct sums of two board codes: rejected, CONTRIBUTING.md requires a single
  • connected Tanner graph and a connected stabilizer group.

  • Fitting a single-layer 2D layout to reach the local-2d cells: searched with
  • research/local2d/fold_layout.search_layout, best radii 10–13 against a ceiling of 4.0, so these codes stay unrestricted.

  • Hypergraph products of two parents from this pool: connectivity passes, but n
  • multiplies (two ~250-qubit parents give n = 80,010).

Tools

Model: Mimo-V2.6-Flash (self-reported, provenance.model), driving OpenCode. Rebuild: research/kit/group_algebra.build_2bga from the database's data/groups.jsonl Cayley table. Witness search: research/kit/surrogate (numpy backend, 2,000 trials/side screening) with the gf2_fast accelerator for longer runs. Gate: research/kit/coordination.py gate, which runs verify/validate_candidate.py unchanged. Search run by @mathysrennela.

Reproduction

from group_algebra import build_2bga
# a and b are element indices from github.com/gideonlsx/bicycle-race @ aed705a data/codes.jsonl
HX, HZ = build_2bga(mul, a, b)   # mul from data/groups.jsonl, n = 2|G| = 56

Parameters are also spelled out in provenance.construction of codes/56-12-7.json.

Parity checks

X-checks 28 (max weight 7) · Z-checks 28 (max weight 7)
H_X (28 checks, sparse supports)
[0, 16, 22, 25, 28, 40, 54] [1, 14, 23, 24, 29, 38, 55] [2, 13, 19, 27, 30, 37, 51] [1, 3, 20, 26, 30, 31, 44] [4, 11, 21, 26, 32, 35, 53] [0, 5, 18, 27, 32, 33, 42] [4, 6, 17, 23, 28, 34, 41] [2, 5, 7, 24, 34, 35, 48] [2, 8, 15, 25, 29, 36, 39] [3, 4, 9, 22, 36, 37, 46] [0, 8, 10, 21, 31, 38, 45] [6, 9, 11, 27, 38, 39, 52] [1, 6, 12, 19, 33, 40, 43] [7, 8, 13, 26, 40, 41, 50] [3, 12, 14, 25, 35, 42, 49] [4, 10, 13, 15, 42, 43, 55] [5, 10, 16, 23, 37, 44, 47] [2, 11, 12, 17, 44, 45, 54] [1, 7, 16, 18, 39, 46, 53] [8, 14, 17, 19, 32, 46, 47] [0, 9, 14, 20, 41, 48, 51] [6, 15, 16, 21, 30, 48, 49] [5, 11, 20, 22, 29, 43, 50] [12, 18, 21, 23, 36, 50, 51] [3, 13, 18, 24, 28, 45, 52] [10, 19, 20, 25, 34, 52, 53] [9, 15, 24, 26, 33, 47, 54] [7, 17, 22, 27, 31, 49, 55]
H_Z (28 checks, sparse supports)
[0, 6, 24, 28, 33, 38, 48] [1, 8, 22, 29, 31, 40, 46] [2, 3, 21, 30, 35, 36, 45] [3, 10, 27, 31, 37, 42, 52] [4, 5, 19, 32, 34, 37, 43] [5, 12, 26, 33, 35, 44, 50] [6, 7, 25, 34, 39, 40, 49] [4, 7, 14, 35, 41, 46, 55] [8, 9, 23, 36, 38, 41, 47] [2, 9, 16, 37, 39, 48, 54] [1, 10, 11, 38, 43, 44, 53] [8, 11, 18, 32, 39, 45, 50] [0, 12, 13, 40, 42, 45, 51] [6, 13, 20, 30, 41, 43, 52] [5, 14, 15, 29, 42, 47, 48] [12, 15, 22, 36, 43, 49, 54] [3, 16, 17, 28, 44, 46, 49] [10, 17, 24, 34, 45, 47, 55] [9, 18, 19, 33, 46, 51, 52] [16, 19, 26, 30, 40, 47, 53] [7, 20, 21, 31, 48, 50, 53] [14, 21, 27, 32, 38, 49, 51] [13, 22, 23, 28, 37, 50, 55] [2, 20, 23, 29, 34, 44, 51] [11, 24, 25, 29, 35, 52, 54] [4, 18, 25, 28, 36, 42, 53] [0, 17, 26, 31, 32, 41, 54] [1, 15, 27, 30, 33, 39, 55]
Code ID 56-12-7 · download JSON · raw on GitHub