← back to the board
[[180,8,18]] d ≤
n
180
k
8
d
18
kd²/n
14.4
w
7
X/Z
1

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 18, d_Z ≤ 18 · 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 18 · witness weight 18 (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, 18 qubits)
[2, 8, 15, 27, 34, 39, 46, 49, 52, 56, 63, 88, 94, 100, 103, 105, 128, 167]
d_Z 18 · witness weight 18 (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, 18 qubits)
[6, 29, 42, 52, 56, 60, 76, 83, 86, 89, 98, 99, 119, 122, 136, 140, 170, 176]
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)×90 (2,4)×270 (3,3)×90 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,3): 90 (1,4): 90 (2,4): 270 (2,5): 1080 (2,6): 540 (3,3): 90 (3,4): 180 (3,5): 990 (3,6): 9000 (3,7): 13590 (3,8): 4860 (3,9): 1620 (3,10): 360
trapping sets H_Z (1,3)×90 (2,4)×270 (3,3)×90 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,3): 90 (1,4): 90 (2,4): 270 (2,5): 1080 (2,6): 540 (3,3): 90 (3,4): 180 (3,5): 990 (3,6): 9000 (3,7): 13590 (3,8): 4860 (3,9): 1620 (3,10): 360

Construction & provenance

authors Lee, Gideon
provenance literature baseline
construction Two-block group-algebra code C(a,b) over C30 x C3 = SmallGroup(90, 10) (order 90), elements numbered as in GAP Elements(SmallGroup(order,id)) with element 0 the identity. n = 2|G| = 180; H_X = [L(a)|R(b)], H_Z = [R(b)^T|L(a)^T]; a = {0, 13, 15, 81}, b = {0, 31, 86} 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 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

[[180,8,18]] — two-block group-algebra code over C30 x C3

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| = 180

Parameters are also spelled out in provenance.construction of codes/180-8-18.json.

Parity checks

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