From 98bdb8727b180f62c0a8e77b8fdcc659e3b0bd38 Mon Sep 17 00:00:00 2001 From: orda-aska Date: Sun, 18 Oct 2026 18:28:21 -0500 Subject: [PATCH] Attack 15 smallest-gap codetables entries over GF(3)/GF(4)/GF(5): no lower bound beaten Random + greedy/annealing on exact weight spectra, exhaustive cyclic/constacyclic sweep, double-circulant sampling, and 791 gfq-verified shorten/puncture/extend derivations. Best codes match the table lower bound on 10 of 15 entries, fall 1 short on 5, beat none. All reported distances gfq-verified (CLI certificates in results/codetables/best/); see results/codetables/REPORT.md. --- results/codetables/REPORT.md | 157 + results/codetables/best/q3_n22_k8_d9.gfq.json | 6 + results/codetables/best/q3_n22_k8_d9.txt | 8 + .../codetables/best/q3_n23_k8_d10.gfq.json | 6 + results/codetables/best/q3_n23_k8_d10.txt | 8 + results/codetables/best/q3_n23_k9_d9.gfq.json | 6 + results/codetables/best/q3_n23_k9_d9.txt | 9 + .../codetables/best/q3_n24_k10_d8.gfq.json | 6 + results/codetables/best/q3_n24_k10_d8.txt | 10 + results/codetables/best/q3_n24_k9_d9.gfq.json | 6 + results/codetables/best/q3_n24_k9_d9.txt | 9 + results/codetables/best/q4_n19_k8_d8.gfq.json | 6 + results/codetables/best/q4_n19_k8_d8.txt | 8 + results/codetables/best/q4_n20_k9_d7.gfq.json | 6 + results/codetables/best/q4_n20_k9_d7.txt | 9 + .../codetables/best/q4_n22_k6_d12.gfq.json | 6 + results/codetables/best/q4_n22_k6_d12.txt | 6 + .../codetables/best/q4_n23_k7_d11.gfq.json | 6 + results/codetables/best/q4_n23_k7_d11.txt | 7 + .../codetables/best/q4_n24_k8_d11.gfq.json | 6 + results/codetables/best/q4_n24_k8_d11.txt | 8 + results/codetables/best/q5_n16_k5_d9.gfq.json | 6 + results/codetables/best/q5_n16_k5_d9.txt | 5 + results/codetables/best/q5_n16_k6_d8.gfq.json | 6 + results/codetables/best/q5_n16_k6_d8.txt | 6 + results/codetables/best/q5_n17_k6_d9.gfq.json | 6 + results/codetables/best/q5_n17_k6_d9.txt | 6 + results/codetables/best/q5_n17_k7_d8.gfq.json | 6 + results/codetables/best/q5_n17_k7_d8.txt | 7 + results/codetables/best/q5_n18_k9_d7.gfq.json | 6 + results/codetables/best/q5_n18_k9_d7.txt | 9 + results/codetables/results.json | 17418 ++++++++++++++++ results/codetables/search.py | 730 + 33 files changed, 18510 insertions(+) create mode 100644 results/codetables/REPORT.md create mode 100644 results/codetables/best/q3_n22_k8_d9.gfq.json create mode 100644 results/codetables/best/q3_n22_k8_d9.txt create mode 100644 results/codetables/best/q3_n23_k8_d10.gfq.json create mode 100644 results/codetables/best/q3_n23_k8_d10.txt create mode 100644 results/codetables/best/q3_n23_k9_d9.gfq.json create mode 100644 results/codetables/best/q3_n23_k9_d9.txt create mode 100644 results/codetables/best/q3_n24_k10_d8.gfq.json create mode 100644 results/codetables/best/q3_n24_k10_d8.txt create mode 100644 results/codetables/best/q3_n24_k9_d9.gfq.json create mode 100644 results/codetables/best/q3_n24_k9_d9.txt create mode 100644 results/codetables/best/q4_n19_k8_d8.gfq.json create mode 100644 results/codetables/best/q4_n19_k8_d8.txt create mode 100644 results/codetables/best/q4_n20_k9_d7.gfq.json create mode 100644 results/codetables/best/q4_n20_k9_d7.txt create mode 100644 results/codetables/best/q4_n22_k6_d12.gfq.json create mode 100644 results/codetables/best/q4_n22_k6_d12.txt create mode 100644 results/codetables/best/q4_n23_k7_d11.gfq.json create mode 100644 results/codetables/best/q4_n23_k7_d11.txt create mode 100644 results/codetables/best/q4_n24_k8_d11.gfq.json create mode 100644 results/codetables/best/q4_n24_k8_d11.txt create mode 100644 results/codetables/best/q5_n16_k5_d9.gfq.json create mode 100644 results/codetables/best/q5_n16_k5_d9.txt create mode 100644 results/codetables/best/q5_n16_k6_d8.gfq.json create mode 100644 results/codetables/best/q5_n16_k6_d8.txt create mode 100644 results/codetables/best/q5_n17_k6_d9.gfq.json create mode 100644 results/codetables/best/q5_n17_k6_d9.txt create mode 100644 results/codetables/best/q5_n17_k7_d8.gfq.json create mode 100644 results/codetables/best/q5_n17_k7_d8.txt create mode 100644 results/codetables/best/q5_n18_k9_d7.gfq.json create mode 100644 results/codetables/best/q5_n18_k9_d7.txt create mode 100644 results/codetables/results.json create mode 100644 results/codetables/search.py diff --git a/results/codetables/REPORT.md b/results/codetables/REPORT.md new file mode 100644 index 0000000..d4724b9 --- /dev/null +++ b/results/codetables/REPORT.md @@ -0,0 +1,157 @@ +# Codetables attack: 15 smallest-gap entries over GF(3)/GF(4)/GF(5) + +**Headline result: no improvement.** None of the 15 attacked entries yielded +a code beating the table lower bound. On 10 entries the search constructed +codes *matching* the recorded lower bound (independent constructions of +known parameters, all gfq-verified); on 5 it fell 1 short. This file reports +search coverage per entry so the negative result is usable. Nothing here is +a proof that any lower bound is optimal. + +Claim labels follow this repo's convention: finite exhaustive checks are +VERIFIED, not "proved"; table values are KNOWN (Grassl's compilation); +nothing below is labelled PROVEN and no CONJECTURE is asserted. + +## Targets (KNOWN: table values) + +Census regenerated live on 2026-10-18 (see Reproduction): counts identical +to the committed `data/codetables/census-2026-10-18.json` (80,652 open +non-binary entries; no entry moved since the snapshot the same day). +Targets are the smallest-`n` gap-1 entries per field with `k <= 10`, 5 per +field — a code with `d = lb+1` would close the entry. GF(5) `[18,9]` +replaces `[18,7]` so the double-circulant family (`n=2k`) is exercised. +Only these 15 `(q,n,k,lb,ub)` entries are committed (in +`search.py: TARGETS` and `results.json`); Grassl's full tables are not. + +| GF(q) | [n,k] | table lb–ub (2026-10-18) | best found d (VERIFIED) | beats lb | +|---|---|---|---|---| +| 3 | [22,8] | 9–10 | 9 | no | +| 3 | [23,8] | 10–11 | 10 | no | +| 3 | [23,9] | 9–10 | 9 | no | +| 3 | [24,9] | 10–11 | 9 | no | +| 3 | [24,10] | 9–10 | 8 | no | +| 4 | [19,8] | 8–9 | 8 | no | +| 4 | [20,9] | 8–9 | 7 | no | +| 4 | [22,6] | 12–13 | 12 | no | +| 4 | [23,7] | 12–13 | 11 | no | +| 4 | [24,8] | 12–13 | 11 | no | +| 5 | [16,5] | 9–10 | 9 | no | +| 5 | [16,6] | 8–9 | 8 | no | +| 5 | [17,6] | 9–10 | 9 | no | +| 5 | [17,7] | 8–9 | 8 | no | +| 5 | [18,9] | 7–8 | 7 | no | + +Every "best found d" is VERIFIED twice: `gfq.min_distance` in-process and +the gfq CLI (`complete=true`, certificate codeword checked in the row +space; 14 by brute force, GF(5)[18,9] by Brouwer–Zimmermann). Generator +matrices and CLI outputs are in `best/q*_n*_k*_d*.{txt,gfq.json}`. These +are certificates for the stated `d` of those specific matrices only. +Because no code beats a table lower bound, there is nothing to submit and +no submission note was drafted; nobody was contacted. + +## Search coverage per entry + +Families (see `search.py` docstring for details): + +1. **random**: random projective column multisets (≤200 samples or ~3 s). +2. **greedy+anneal**: greedy column augmentation, then simulated-annealing + column swaps scored on the exact weight spectrum over all messages + (spectrum min = exact d of the column multiset when columns span; + reported candidates always re-verified with gfq). Pass 1: 25 s/target, + seed 20261018, 2,375,086 steps total. Pass 2 (`--second-pass`): 45 s/ + target from the recorded best + a fresh greedy start, seed 777001, + 3,496,168 steps total, **no target improved**. +3. **cyclic+constacyclic**: exhaustive over all monic check polynomials h + of degree k (`h | x^n − λ` for some λ≠0), so the best (consta)cyclic d + below is VERIFIED-exhaustive for that family. `divisors 0` means no + (consta)cyclic [n,k] code exists at all. Validated on GF(3)[11,6]: + finds 4 divisors, best d=5 (the ternary Golay parameters), gfq-confirmed. +4. **double-circulant QC** `[I | Circ(a)]`: only applicable for n=2k. +5. **derivations**: shorten/puncture/parity-extend (1–2 coordinates) of + (a) every `gfq.codes` seed — 65/67/72 seeds for q=3/4/5, of which **0** + are within derivation reach of any target by parameter arithmetic + (seeds have n≤13 or wrong k; targets have n≥16), so 0 candidates; and + (b) phase 2: all such derivations of the 15 best-found codes that land + on another target — 791 matrices, each gfq-verified. + +| GF(q)[n,k] | random (samples→best) | anneal steps p1+p2 (restarts) | cyclic: polys / divisors → best d | DC-QC | phase-2 derivations in → max d | +|---|---|---|---|---|---| +| 3[22,8] | 200→8 | 186,498+386,827 (6) | 6,561 / 0 → none | n=2k only | 322 → 9 | +| 3[23,8] | 200→8 | 178,215+393,494 (6) | 6,561 / 0 → none | n=2k only | 25 → 9 | +| 3[23,9] | 200→8 | 46,278+119,601 (5) | 19,683 / 0 → none | n=2k only | 48 → 8 | +| 3[24,9] | 200→8 | 39,719+106,541 (5) | 19,683 / 76 → 8 | n=2k only | 1 → 9 | +| 3[24,10] | 37→7 | 9,745+39,021 (4) | 59,049 / 84 → 6 | n=2k only | 0 | +| 4[19,8] | 169→7 | 20,306+58,418 (5) | 65,536 / 0 → none | n=2k only | 20 → 7 | +| 4[20,9] | 40→7 | 4,623+13,165 (4) | 262,144 / 27 → 6 | n=2k only | 0 | +| 4[22,6] | 200→11 | 484,957+871,450 (6) | 4,096 / 6 → 10 | n=2k only | 299 → 11 | +| 4[23,7] | 200→10 | 133,245+215,471 (6) | 16,384 / 0 → none | n=2k only | 24 → 11 | +| 4[24,8] | 179→10 | 27,351+36,179 (5) | 65,536 / 45 → 6 | n=2k only | 0 | +| 5[16,5] | 200→8 | 821,863+795,984 (6) | 3,125 / 20 → 6 | n=2k only | 17 → 9 | +| 5[16,6] | 200→7 | 191,915+218,065 (6) | 15,625 / 24 → 4 | n=2k only | 34 → 8 | +| 5[17,6] | 200→8 | 195,904+177,863 (6) | 15,625 / 0 → none | n=2k only | 1 → 9 | +| 5[17,7] | 200→7 | 33,498+61,954 (5) | 78,125 / 0 → none | n=2k only | 0 | +| 5[18,9] | 9→6 | 969+2,135 (5) | skipped: 5^9=1,953,125 > budget 600,000 | 51 samples→7 | 0 | + +Full machine-readable record (per-restart stats, all 791 phase-2 records, +best generators, gfq outputs): `results.json`. + +## Reproduction (exact commands) + +```sh +# from the repo root, on top of agent/wave1-gfq-checker +python3 -m unittest discover -s tests # 24 tests, OK (no pytest on this machine) + +# census regeneration as actually run (direct urllib failed, see below): +mkdir -p /tmp/codetables_pages +for spec in "2 256" "3 243" "4 256" "5 130" "7 100" "8 130" "9 130"; do + set -- $spec + curl -sL --max-time 240 -A "foundation0-census" \ + "https://www.codetables.de/BKLC/Tables_color.php?q=$1&n0=1&n1=$2&k0=1&k1=$2" \ + -o /tmp/codetables_pages/q$1.html +done +cd /tmp && python3 /path/to/math0/data/codetables/census.py \ + --from-dir /tmp/codetables_pages --csv /tmp/entries.csv # csv NOT committed + +# the search (pass 1: 7m55s wall; pass 2: 11m38s wall, this machine) +python3 results/codetables/search.py --seconds 25 --seed 20261018 +python3 results/codetables/search.py --second-pass --seconds 45 --seed 777001 + +# re-verify any certificate, e.g.: +python3 -m gfq --q 5 --json results/codetables/best/q5_n16_k5_d9.txt +python3 -m gfq --q 3 examples/golay11.txt # checker sanity: [11,6,5] +``` + +Randomness: both passes are seeded, but wall-clock budgets make step +counts machine-dependent; re-runs should reproduce the *conclusions* +(best d per target), not bit-identical matrices. + +## What was NOT done + +- No upper-bound work (LP/Delsarte, etc.): this track attacked lower + bounds by construction only. Failure to find `d=lb+1` says nothing + about whether such codes exist. +- Quasi-cyclic search beyond double-circulant (n=2k) random sampling and + the exhaustive cyclic/constacyclic sweep: no general QC index-3/4 or + quasi-twisted search (AREAS.md's suggestion), no BCH/algebraic-geometry + constructions, no ILP/SAT-based column search. +- Cyclic sweep skipped for GF(5)[18,9] (budget above); its anneal coverage + is also the thinnest (spectrum of 488,281 messages ⇒ ~35 ms/step). +- GF(7)/GF(8)/GF(9) entries, larger n/k, and "constructions missing" + entries were out of scope for this run. +- No contact with the table maintainer (nothing to submit). + +## Failed attempts / deviations + +- `python3 census.py` live mode failed on this machine + (`SSL: CERTIFICATE_VERIFY_FAILED` in urllib). Workaround: fetch the same + URLs with curl and run `census.py --from-dir` (commands above). The + regenerated counts are identical to the committed snapshot, so target + values are unaffected. +- First cyclic design enumerated generator polynomials directly + (`q^(n−k)` candidates, infeasible for every target). Replaced by the + check-polynomial enumeration (`q^k`), validated on the Golay parameters + before use. +- The annealer did not even reach the table lower bound on 5 targets + (GF(3)[24,9], GF(3)[24,10], GF(4)[20,9], GF(4)[23,7], GF(4)[24,8]) in + either pass; on those, coverage is weaker than on the 10 where it + matched lb from multiple restarts. CONJECTURE (unlabelled, not claimed): + none — we draw no conclusion about optimality from this. diff --git a/results/codetables/best/q3_n22_k8_d9.gfq.json b/results/codetables/best/q3_n22_k8_d9.gfq.json new file mode 100644 index 0000000..b80bab9 --- /dev/null +++ b/results/codetables/best/q3_n22_k8_d9.gfq.json @@ -0,0 +1,6 @@ +{ + "command": "python3 -m gfq --q 3 --json best/q3_n22_k8_d9.txt", + "exit_code": 0, + "stdout": "{\n \"q\": 3,\n \"n\": 22,\n \"k\": 8,\n \"d\": 9,\n \"lower_bound\": 9,\n \"upper_bound\": 9,\n \"complete\": true,\n \"codeword_certificate\": [\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 2,\n 0,\n 0,\n 0,\n 2,\n 1,\n 1,\n 0,\n 0,\n 2,\n 1,\n 0,\n 0,\n 2\n ],\n \"certificate_checked\": true,\n \"method\": \"brute\",\n \"enumerated\": 3280,\n \"num_info_sets\": 0\n}\n", + "stderr": "" +} \ No newline at end of file diff --git a/results/codetables/best/q3_n22_k8_d9.txt b/results/codetables/best/q3_n22_k8_d9.txt new file mode 100644 index 0000000..06bf498 --- /dev/null +++ b/results/codetables/best/q3_n22_k8_d9.txt @@ -0,0 +1,8 @@ +0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 +1 2 1 0 0 2 1 1 1 0 2 1 0 2 2 0 2 0 1 1 2 0 +1 1 1 2 1 1 1 1 1 0 2 2 1 0 0 2 1 2 1 1 0 0 +0 1 0 1 0 0 0 0 0 1 1 2 0 0 0 2 1 1 1 0 2 1 +0 2 2 2 0 2 1 2 1 1 0 0 2 0 2 0 2 1 0 0 0 0 +0 0 1 1 0 0 0 2 1 0 0 1 1 0 0 2 2 0 0 2 1 2 +0 1 1 1 1 0 1 0 2 2 2 1 0 2 1 0 1 2 2 2 1 2 +2 0 2 1 0 0 1 1 0 1 2 1 1 2 1 2 2 1 0 1 2 2 diff --git a/results/codetables/best/q3_n23_k8_d10.gfq.json b/results/codetables/best/q3_n23_k8_d10.gfq.json new file mode 100644 index 0000000..f82f0a1 --- /dev/null +++ b/results/codetables/best/q3_n23_k8_d10.gfq.json @@ -0,0 +1,6 @@ +{ + "command": "python3 -m gfq --q 3 --json best/q3_n23_k8_d10.txt", + "exit_code": 0, + "stdout": "{\n \"q\": 3,\n \"n\": 23,\n \"k\": 8,\n \"d\": 10,\n \"lower_bound\": 10,\n \"upper_bound\": 10,\n \"complete\": true,\n \"codeword_certificate\": [\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 2,\n 0,\n 0,\n 2,\n 2,\n 2,\n 0,\n 1,\n 1,\n 0,\n 0,\n 2,\n 2,\n 1,\n 0\n ],\n \"certificate_checked\": true,\n \"method\": \"brute\",\n \"enumerated\": 3280,\n \"num_info_sets\": 0\n}\n", + "stderr": "" +} \ No newline at end of file diff --git a/results/codetables/best/q3_n23_k8_d10.txt b/results/codetables/best/q3_n23_k8_d10.txt new file mode 100644 index 0000000..5c3a05b --- /dev/null +++ b/results/codetables/best/q3_n23_k8_d10.txt @@ -0,0 +1,8 @@ +0 0 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 0 0 +1 0 1 0 1 0 2 1 1 0 1 0 1 0 1 1 0 0 0 0 0 1 1 +0 0 0 2 0 1 1 2 1 0 0 0 2 0 1 0 1 0 0 2 1 0 0 +2 1 0 0 2 2 0 2 0 0 1 1 1 1 1 1 2 2 2 2 1 1 0 +1 2 1 1 0 2 0 0 2 2 1 2 2 2 0 1 0 0 1 0 1 2 0 +1 0 0 1 1 0 0 2 0 1 1 2 1 0 2 2 1 0 1 2 1 1 1 +1 1 0 1 1 0 0 2 0 2 1 0 0 1 1 0 1 1 0 0 0 0 0 +0 0 1 1 0 0 1 2 1 2 1 0 2 1 0 2 0 2 1 0 2 2 1 diff --git a/results/codetables/best/q3_n23_k9_d9.gfq.json b/results/codetables/best/q3_n23_k9_d9.gfq.json new file mode 100644 index 0000000..6444a1a --- /dev/null +++ b/results/codetables/best/q3_n23_k9_d9.gfq.json @@ -0,0 +1,6 @@ +{ + "command": "python3 -m gfq --q 3 --json best/q3_n23_k9_d9.txt", + "exit_code": 0, + "stdout": "{\n \"q\": 3,\n \"n\": 23,\n \"k\": 9,\n \"d\": 9,\n \"lower_bound\": 9,\n \"upper_bound\": 9,\n \"complete\": true,\n \"codeword_certificate\": [\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 2,\n 0,\n 1,\n 0,\n 2,\n 0,\n 2,\n 0,\n 1,\n 2,\n 1,\n 0,\n 2,\n 0\n ],\n \"certificate_checked\": true,\n \"method\": \"brute\",\n \"enumerated\": 9841,\n \"num_info_sets\": 0\n}\n", + "stderr": "" +} \ No newline at end of file diff --git a/results/codetables/best/q3_n23_k9_d9.txt b/results/codetables/best/q3_n23_k9_d9.txt new file mode 100644 index 0000000..7298c54 --- /dev/null +++ b/results/codetables/best/q3_n23_k9_d9.txt @@ -0,0 +1,9 @@ +0 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1 +0 0 1 0 2 2 2 1 2 1 2 0 0 1 2 0 0 1 0 0 1 0 1 +1 2 0 0 0 2 2 2 0 1 0 1 1 0 2 1 1 0 0 1 2 0 0 +0 2 0 2 1 1 0 2 1 1 1 2 2 2 1 2 2 2 1 0 1 2 1 +2 0 1 1 2 0 2 2 0 1 0 2 1 1 1 1 1 2 2 0 0 2 2 +1 1 1 2 0 1 1 1 0 2 0 1 0 0 1 2 1 2 0 1 2 0 2 +2 0 1 1 2 1 2 1 1 1 2 0 1 1 0 2 2 1 2 2 2 0 0 +1 2 2 0 0 2 2 0 0 2 2 0 0 0 1 0 0 2 2 2 0 1 0 +1 1 1 1 2 2 2 2 2 2 0 2 2 0 1 1 1 1 2 1 2 1 2 diff --git a/results/codetables/best/q3_n24_k10_d8.gfq.json b/results/codetables/best/q3_n24_k10_d8.gfq.json new file mode 100644 index 0000000..30c0924 --- /dev/null +++ b/results/codetables/best/q3_n24_k10_d8.gfq.json @@ -0,0 +1,6 @@ +{ + "command": "python3 -m gfq --q 3 --json best/q3_n24_k10_d8.txt", + "exit_code": 0, + "stdout": "{\n \"q\": 3,\n \"n\": 24,\n \"k\": 10,\n \"d\": 8,\n \"lower_bound\": 8,\n \"upper_bound\": 8,\n \"complete\": true,\n \"codeword_certificate\": [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 0,\n 2,\n 0,\n 2,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 2,\n 0,\n 2\n ],\n \"certificate_checked\": true,\n \"method\": \"brute\",\n \"enumerated\": 29524,\n \"num_info_sets\": 0\n}\n", + "stderr": "" +} \ No newline at end of file diff --git a/results/codetables/best/q3_n24_k10_d8.txt b/results/codetables/best/q3_n24_k10_d8.txt new file mode 100644 index 0000000..f30862f --- /dev/null +++ b/results/codetables/best/q3_n24_k10_d8.txt @@ -0,0 +1,10 @@ +1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 1 0 0 1 1 1 0 1 +1 0 0 2 2 1 0 1 1 1 2 1 2 0 2 0 0 0 1 2 0 2 1 1 +1 1 1 0 1 2 1 1 0 1 2 2 1 1 2 0 1 0 0 1 2 1 2 1 +1 2 1 2 2 0 1 1 1 0 0 2 0 0 0 1 1 1 0 0 0 0 1 2 +1 2 1 2 0 2 1 1 2 2 1 1 0 1 2 1 0 0 0 0 0 2 2 2 +1 2 1 1 2 2 2 0 1 0 0 1 0 1 2 0 2 1 2 2 1 0 1 1 +0 2 0 0 2 0 0 0 1 1 1 1 1 2 0 1 1 1 0 2 1 1 1 0 +0 0 2 2 1 2 2 0 0 0 0 2 0 1 0 1 0 2 2 2 2 2 1 1 +2 2 2 0 2 0 1 2 1 1 1 1 1 0 0 0 0 1 1 1 0 1 2 1 +2 1 1 1 1 2 1 1 1 0 1 0 2 2 2 0 2 1 0 2 0 2 0 2 diff --git a/results/codetables/best/q3_n24_k9_d9.gfq.json b/results/codetables/best/q3_n24_k9_d9.gfq.json new file mode 100644 index 0000000..c884f1d --- /dev/null +++ b/results/codetables/best/q3_n24_k9_d9.gfq.json @@ -0,0 +1,6 @@ +{ + "command": "python3 -m gfq --q 3 --json best/q3_n24_k9_d9.txt", + "exit_code": 0, + "stdout": "{\n \"q\": 3,\n \"n\": 24,\n \"k\": 9,\n \"d\": 9,\n \"lower_bound\": 9,\n \"upper_bound\": 9,\n \"complete\": true,\n \"codeword_certificate\": [\n 1,\n 2,\n 2,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 2,\n 1,\n 2,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 2,\n 0,\n 1,\n 0\n ],\n \"certificate_checked\": true,\n \"method\": \"brute\",\n \"enumerated\": 9841,\n \"num_info_sets\": 0\n}\n", + "stderr": "" +} \ No newline at end of file diff --git a/results/codetables/best/q3_n24_k9_d9.txt b/results/codetables/best/q3_n24_k9_d9.txt new file mode 100644 index 0000000..4b69ebc --- /dev/null +++ b/results/codetables/best/q3_n24_k9_d9.txt @@ -0,0 +1,9 @@ +0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 1 1 +1 2 1 2 1 1 2 0 1 1 0 2 0 0 2 1 0 0 1 0 1 0 2 1 +2 0 2 2 1 0 2 1 1 0 1 0 0 2 0 2 1 0 0 2 2 0 0 1 +0 0 2 2 1 1 0 2 2 2 2 2 1 1 1 2 0 0 0 0 2 2 2 2 +2 0 2 2 1 2 0 2 2 2 2 2 1 0 2 0 2 1 1 0 1 2 1 1 +2 1 0 0 0 2 2 0 2 2 1 2 1 1 0 0 2 1 0 1 1 1 0 2 +2 2 2 2 2 1 2 0 1 1 1 2 2 1 1 1 2 0 0 0 1 2 0 2 +0 0 1 2 2 0 1 1 0 1 0 2 1 2 1 2 0 1 2 2 0 2 2 1 +2 2 1 1 2 1 1 0 1 2 0 0 1 0 0 2 2 0 2 1 1 2 1 0 diff --git a/results/codetables/best/q4_n19_k8_d8.gfq.json b/results/codetables/best/q4_n19_k8_d8.gfq.json new file mode 100644 index 0000000..cf6c88a --- /dev/null +++ b/results/codetables/best/q4_n19_k8_d8.gfq.json @@ -0,0 +1,6 @@ +{ + "command": "python3 -m gfq --q 4 --json best/q4_n19_k8_d8.txt", + "exit_code": 0, + "stdout": "{\n \"q\": 4,\n \"n\": 19,\n \"k\": 8,\n \"d\": 8,\n \"lower_bound\": 8,\n \"upper_bound\": 8,\n \"complete\": true,\n \"codeword_certificate\": [\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 3,\n 2,\n 1,\n 3,\n 0,\n 0,\n 0,\n 0,\n 3,\n 1\n ],\n \"certificate_checked\": true,\n \"method\": \"brute\",\n \"enumerated\": 21845,\n \"num_info_sets\": 0\n}\n", + "stderr": "" +} \ No newline at end of file diff --git a/results/codetables/best/q4_n19_k8_d8.txt b/results/codetables/best/q4_n19_k8_d8.txt new file mode 100644 index 0000000..f60bf2b --- /dev/null +++ b/results/codetables/best/q4_n19_k8_d8.txt @@ -0,0 +1,8 @@ +1 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 +1 0 1 2 1 0 0 0 3 2 1 1 3 0 2 2 2 2 1 +3 1 3 3 3 1 2 0 3 3 3 1 2 3 1 1 1 3 2 +3 2 2 3 2 3 3 3 2 0 3 0 3 3 2 0 3 2 3 +3 2 0 2 2 1 3 1 2 2 1 3 2 0 1 0 3 0 0 +1 0 2 3 2 0 3 3 3 0 1 3 3 0 3 3 0 3 3 +1 0 1 3 0 2 0 2 3 1 1 2 3 1 2 1 1 0 3 +1 1 3 1 1 2 1 1 0 1 0 3 2 0 2 0 0 1 1 diff --git a/results/codetables/best/q4_n20_k9_d7.gfq.json b/results/codetables/best/q4_n20_k9_d7.gfq.json new file mode 100644 index 0000000..443b739 --- /dev/null +++ b/results/codetables/best/q4_n20_k9_d7.gfq.json @@ -0,0 +1,6 @@ +{ + "command": "python3 -m gfq --q 4 --json best/q4_n20_k9_d7.txt", + "exit_code": 0, + "stdout": "{\n \"q\": 4,\n \"n\": 20,\n \"k\": 9,\n \"d\": 7,\n \"lower_bound\": 7,\n \"upper_bound\": 7,\n \"complete\": true,\n \"codeword_certificate\": [\n 1,\n 0,\n 0,\n 0,\n 3,\n 0,\n 0,\n 0,\n 0,\n 3,\n 3,\n 0,\n 3,\n 0,\n 2,\n 0,\n 0,\n 3,\n 0,\n 0\n ],\n \"certificate_checked\": true,\n \"method\": \"brute\",\n \"enumerated\": 87381,\n \"num_info_sets\": 0\n}\n", + "stderr": "" +} \ No newline at end of file diff --git a/results/codetables/best/q4_n20_k9_d7.txt b/results/codetables/best/q4_n20_k9_d7.txt new file mode 100644 index 0000000..a0c2ce7 --- /dev/null +++ b/results/codetables/best/q4_n20_k9_d7.txt @@ -0,0 +1,9 @@ +0 1 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 +1 0 2 1 1 2 3 0 1 1 1 1 1 1 1 3 2 2 0 2 +3 0 2 1 3 2 3 0 2 2 2 3 3 3 2 0 3 0 2 0 +0 2 0 3 1 1 3 2 0 1 1 0 0 2 2 1 1 2 0 0 +2 3 0 1 1 0 2 0 3 0 1 3 0 3 1 1 1 1 1 3 +1 0 2 2 0 0 1 3 3 1 3 3 2 0 2 1 0 1 1 3 +2 3 3 0 0 1 1 0 1 2 3 0 3 1 3 2 2 2 1 0 +0 1 1 3 1 0 0 1 0 3 0 1 2 2 1 2 1 0 1 1 +3 0 1 0 2 1 1 3 3 3 3 3 2 2 3 1 3 3 3 1 diff --git a/results/codetables/best/q4_n22_k6_d12.gfq.json b/results/codetables/best/q4_n22_k6_d12.gfq.json new file mode 100644 index 0000000..7e8078a --- /dev/null +++ b/results/codetables/best/q4_n22_k6_d12.gfq.json @@ -0,0 +1,6 @@ +{ + "command": "python3 -m gfq --q 4 --json best/q4_n22_k6_d12.txt", + "exit_code": 0, + "stdout": "{\n \"q\": 4,\n \"n\": 22,\n \"k\": 6,\n \"d\": 12,\n \"lower_bound\": 12,\n \"upper_bound\": 12,\n \"complete\": true,\n \"codeword_certificate\": [\n 1,\n 0,\n 0,\n 0,\n 3,\n 0,\n 2,\n 2,\n 0,\n 2,\n 3,\n 0,\n 2,\n 0,\n 0,\n 2,\n 3,\n 0,\n 3,\n 1,\n 0,\n 1\n ],\n \"certificate_checked\": true,\n \"method\": \"brute\",\n \"enumerated\": 1365,\n \"num_info_sets\": 0\n}\n", + "stderr": "" +} \ No newline at end of file diff --git a/results/codetables/best/q4_n22_k6_d12.txt b/results/codetables/best/q4_n22_k6_d12.txt new file mode 100644 index 0000000..f99456c --- /dev/null +++ b/results/codetables/best/q4_n22_k6_d12.txt @@ -0,0 +1,6 @@ +0 1 1 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1 0 +1 2 0 1 1 0 2 1 0 1 2 2 1 0 1 3 0 1 2 1 3 0 +0 0 2 2 2 1 0 2 0 0 3 1 3 0 0 2 1 3 3 2 2 0 +2 2 1 3 1 2 3 1 3 1 2 2 2 2 0 1 0 1 1 2 2 0 +2 1 3 2 3 1 1 2 1 3 2 2 2 1 2 1 0 1 1 0 3 0 +1 1 2 1 1 2 1 3 2 3 3 3 3 0 0 2 2 0 2 1 1 1 diff --git a/results/codetables/best/q4_n23_k7_d11.gfq.json b/results/codetables/best/q4_n23_k7_d11.gfq.json new file mode 100644 index 0000000..d6a297a --- /dev/null +++ b/results/codetables/best/q4_n23_k7_d11.gfq.json @@ -0,0 +1,6 @@ +{ + "command": "python3 -m gfq --q 4 --json best/q4_n23_k7_d11.txt", + "exit_code": 0, + "stdout": "{\n \"q\": 4,\n \"n\": 23,\n \"k\": 7,\n \"d\": 11,\n \"lower_bound\": 11,\n \"upper_bound\": 11,\n \"complete\": true,\n \"codeword_certificate\": [\n 0,\n 0,\n 0,\n 1,\n 0,\n 2,\n 3,\n 0,\n 1,\n 0,\n 2,\n 0,\n 0,\n 3,\n 0,\n 1,\n 0,\n 0,\n 2,\n 2,\n 0,\n 1,\n 3\n ],\n \"certificate_checked\": true,\n \"method\": \"brute\",\n \"enumerated\": 5461,\n \"num_info_sets\": 0\n}\n", + "stderr": "" +} \ No newline at end of file diff --git a/results/codetables/best/q4_n23_k7_d11.txt b/results/codetables/best/q4_n23_k7_d11.txt new file mode 100644 index 0000000..31f21a4 --- /dev/null +++ b/results/codetables/best/q4_n23_k7_d11.txt @@ -0,0 +1,7 @@ +1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 1 1 1 1 1 0 +2 1 1 0 1 3 1 1 1 3 1 1 0 1 1 3 0 1 3 2 0 3 1 +3 0 3 2 2 1 1 2 1 2 3 0 1 2 3 1 1 3 0 0 0 1 2 +0 0 1 2 0 3 2 2 1 2 1 0 2 0 2 2 3 2 2 2 0 3 1 +2 0 1 2 3 2 3 0 0 0 1 0 1 2 1 3 1 2 0 0 3 3 2 +2 2 3 3 3 0 0 0 1 1 2 0 3 2 1 3 0 1 3 1 2 1 1 +2 2 3 2 2 2 3 3 3 0 2 1 3 3 2 0 2 0 1 0 1 0 3 diff --git a/results/codetables/best/q4_n24_k8_d11.gfq.json b/results/codetables/best/q4_n24_k8_d11.gfq.json new file mode 100644 index 0000000..736ebf5 --- /dev/null +++ b/results/codetables/best/q4_n24_k8_d11.gfq.json @@ -0,0 +1,6 @@ +{ + "command": "python3 -m gfq --q 4 --json best/q4_n24_k8_d11.txt", + "exit_code": 0, + "stdout": "{\n \"q\": 4,\n \"n\": 24,\n \"k\": 8,\n \"d\": 11,\n \"lower_bound\": 11,\n \"upper_bound\": 11,\n \"complete\": true,\n \"codeword_certificate\": [\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 3,\n 0,\n 0,\n 0,\n 2,\n 2,\n 1,\n 3,\n 1,\n 0,\n 0,\n 3,\n 0,\n 2,\n 0,\n 3,\n 1\n ],\n \"certificate_checked\": true,\n \"method\": \"brute\",\n \"enumerated\": 21845,\n \"num_info_sets\": 0\n}\n", + "stderr": "" +} \ No newline at end of file diff --git a/results/codetables/best/q4_n24_k8_d11.txt b/results/codetables/best/q4_n24_k8_d11.txt new file mode 100644 index 0000000..a7f40c7 --- /dev/null +++ b/results/codetables/best/q4_n24_k8_d11.txt @@ -0,0 +1,8 @@ +0 1 0 0 1 0 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 +1 0 1 0 1 1 0 3 0 0 3 0 0 2 1 3 3 1 3 3 1 1 2 3 +1 3 1 1 3 3 0 0 0 1 1 2 0 3 2 0 0 2 2 1 1 2 2 2 +3 1 0 1 2 0 0 1 0 3 0 1 3 3 1 2 0 0 1 0 0 1 2 1 +3 2 0 1 2 2 3 0 0 2 3 2 0 0 0 3 0 3 3 0 3 1 1 0 +2 0 3 2 1 1 3 0 3 0 0 2 3 3 2 2 1 1 1 0 2 1 3 3 +0 2 1 0 1 0 2 0 1 1 0 3 0 3 0 1 0 0 3 3 1 1 3 0 +0 1 0 0 1 3 1 2 0 2 1 0 2 2 0 3 1 0 1 1 3 3 0 1 diff --git a/results/codetables/best/q5_n16_k5_d9.gfq.json b/results/codetables/best/q5_n16_k5_d9.gfq.json new file mode 100644 index 0000000..c066bbc --- /dev/null +++ b/results/codetables/best/q5_n16_k5_d9.gfq.json @@ -0,0 +1,6 @@ +{ + "command": "python3 -m gfq --q 5 --json best/q5_n16_k5_d9.txt", + "exit_code": 0, + "stdout": "{\n \"q\": 5,\n \"n\": 16,\n \"k\": 5,\n \"d\": 9,\n \"lower_bound\": 9,\n \"upper_bound\": 9,\n \"complete\": true,\n \"codeword_certificate\": [\n 0,\n 0,\n 0,\n 1,\n 1,\n 2,\n 4,\n 0,\n 0,\n 3,\n 0,\n 3,\n 3,\n 0,\n 2,\n 1\n ],\n \"certificate_checked\": true,\n \"method\": \"brute\",\n \"enumerated\": 781,\n \"num_info_sets\": 0\n}\n", + "stderr": "" +} \ No newline at end of file diff --git a/results/codetables/best/q5_n16_k5_d9.txt b/results/codetables/best/q5_n16_k5_d9.txt new file mode 100644 index 0000000..10281cd --- /dev/null +++ b/results/codetables/best/q5_n16_k5_d9.txt @@ -0,0 +1,5 @@ +0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 +1 1 4 4 4 2 1 2 3 2 1 4 2 1 4 0 +4 4 1 3 3 2 2 3 2 4 4 2 4 4 0 2 +2 2 2 3 2 0 3 0 2 1 1 2 2 3 3 4 +2 3 0 4 1 2 2 4 3 2 3 1 1 4 3 1 diff --git a/results/codetables/best/q5_n16_k6_d8.gfq.json b/results/codetables/best/q5_n16_k6_d8.gfq.json new file mode 100644 index 0000000..8b2e061 --- /dev/null +++ b/results/codetables/best/q5_n16_k6_d8.gfq.json @@ -0,0 +1,6 @@ +{ + "command": "python3 -m gfq --q 5 --json best/q5_n16_k6_d8.txt", + "exit_code": 0, + "stdout": "{\n \"q\": 5,\n \"n\": 16,\n \"k\": 6,\n \"d\": 8,\n \"lower_bound\": 8,\n \"upper_bound\": 8,\n \"complete\": true,\n \"codeword_certificate\": [\n 1,\n 0,\n 0,\n 1,\n 0,\n 3,\n 0,\n 1,\n 0,\n 0,\n 2,\n 4,\n 4,\n 0,\n 0,\n 3\n ],\n \"certificate_checked\": true,\n \"method\": \"brute\",\n \"enumerated\": 3906,\n \"num_info_sets\": 0\n}\n", + "stderr": "" +} \ No newline at end of file diff --git a/results/codetables/best/q5_n16_k6_d8.txt b/results/codetables/best/q5_n16_k6_d8.txt new file mode 100644 index 0000000..ed945ba --- /dev/null +++ b/results/codetables/best/q5_n16_k6_d8.txt @@ -0,0 +1,6 @@ +1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 1 +0 1 4 3 2 1 2 1 3 2 1 1 0 4 1 1 +2 1 0 3 2 3 1 1 4 0 0 0 0 2 1 0 +2 4 0 3 4 1 2 1 0 1 3 0 1 2 3 2 +1 1 2 1 3 1 1 2 3 4 4 4 2 3 3 3 +4 4 4 2 0 4 4 0 0 4 2 0 1 2 1 3 diff --git a/results/codetables/best/q5_n17_k6_d9.gfq.json b/results/codetables/best/q5_n17_k6_d9.gfq.json new file mode 100644 index 0000000..a1ac011 --- /dev/null +++ b/results/codetables/best/q5_n17_k6_d9.gfq.json @@ -0,0 +1,6 @@ +{ + "command": "python3 -m gfq --q 5 --json best/q5_n17_k6_d9.txt", + "exit_code": 0, + "stdout": "{\n \"q\": 5,\n \"n\": 17,\n \"k\": 6,\n \"d\": 9,\n \"lower_bound\": 9,\n \"upper_bound\": 9,\n \"complete\": true,\n \"codeword_certificate\": [\n 0,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 4,\n 2,\n 1,\n 4,\n 2,\n 4,\n 0,\n 1\n ],\n \"certificate_checked\": true,\n \"method\": \"brute\",\n \"enumerated\": 3906,\n \"num_info_sets\": 0\n}\n", + "stderr": "" +} \ No newline at end of file diff --git a/results/codetables/best/q5_n17_k6_d9.txt b/results/codetables/best/q5_n17_k6_d9.txt new file mode 100644 index 0000000..d79876a --- /dev/null +++ b/results/codetables/best/q5_n17_k6_d9.txt @@ -0,0 +1,6 @@ +1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 1 +0 2 4 0 2 1 1 0 4 2 4 0 2 4 1 1 4 +2 2 4 4 0 0 1 3 1 2 0 0 2 3 1 0 3 +0 3 4 3 4 0 2 4 4 3 3 2 4 4 4 2 2 +0 2 2 4 1 3 4 2 2 0 0 2 1 0 0 1 2 +4 2 1 3 1 3 3 3 2 2 3 1 1 0 0 4 0 diff --git a/results/codetables/best/q5_n17_k7_d8.gfq.json b/results/codetables/best/q5_n17_k7_d8.gfq.json new file mode 100644 index 0000000..6077e3a --- /dev/null +++ b/results/codetables/best/q5_n17_k7_d8.gfq.json @@ -0,0 +1,6 @@ +{ + "command": "python3 -m gfq --q 5 --json best/q5_n17_k7_d8.txt", + "exit_code": 0, + "stdout": "{\n \"q\": 5,\n \"n\": 17,\n \"k\": 7,\n \"d\": 8,\n \"lower_bound\": 8,\n \"upper_bound\": 8,\n \"complete\": true,\n \"codeword_certificate\": [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 3,\n 2,\n 3,\n 4,\n 3,\n 2,\n 3,\n 0\n ],\n \"certificate_checked\": true,\n \"method\": \"brute\",\n \"enumerated\": 19531,\n \"num_info_sets\": 0\n}\n", + "stderr": "" +} \ No newline at end of file diff --git a/results/codetables/best/q5_n17_k7_d8.txt b/results/codetables/best/q5_n17_k7_d8.txt new file mode 100644 index 0000000..12489df --- /dev/null +++ b/results/codetables/best/q5_n17_k7_d8.txt @@ -0,0 +1,7 @@ +1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 +0 3 0 1 1 2 3 2 1 1 3 2 3 1 0 2 4 +0 1 0 0 1 3 1 3 0 4 1 1 1 0 0 4 4 +4 1 1 1 4 4 1 1 3 4 0 3 1 4 0 1 0 +1 2 4 3 3 3 0 1 2 2 2 2 0 1 3 0 2 +2 3 3 2 2 1 3 3 1 3 2 1 4 2 3 4 0 +0 1 3 2 2 3 2 3 0 4 2 1 0 1 3 0 4 diff --git a/results/codetables/best/q5_n18_k9_d7.gfq.json b/results/codetables/best/q5_n18_k9_d7.gfq.json new file mode 100644 index 0000000..6a27de6 --- /dev/null +++ b/results/codetables/best/q5_n18_k9_d7.gfq.json @@ -0,0 +1,6 @@ +{ + "command": "python3 -m gfq --q 5 --json best/q5_n18_k9_d7.txt", + "exit_code": 0, + "stdout": "{\n \"q\": 5,\n \"n\": 18,\n \"k\": 9,\n \"d\": 7,\n \"lower_bound\": 7,\n \"upper_bound\": 7,\n \"complete\": true,\n \"codeword_certificate\": [\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 3,\n 3,\n 3,\n 0,\n 4,\n 0,\n 1,\n 0,\n 4\n ],\n \"certificate_checked\": true,\n \"method\": \"bz\",\n \"enumerated\": 2994,\n \"num_info_sets\": 2\n}\n", + "stderr": "" +} \ No newline at end of file diff --git a/results/codetables/best/q5_n18_k9_d7.txt b/results/codetables/best/q5_n18_k9_d7.txt new file mode 100644 index 0000000..70884f1 --- /dev/null +++ b/results/codetables/best/q5_n18_k9_d7.txt @@ -0,0 +1,9 @@ +1 0 0 0 0 0 0 0 0 3 3 3 0 4 0 1 0 4 +0 1 0 0 0 0 0 0 0 4 3 3 3 0 4 0 1 0 +0 0 1 0 0 0 0 0 0 0 4 3 3 3 0 4 0 1 +0 0 0 1 0 0 0 0 0 1 0 4 3 3 3 0 4 0 +0 0 0 0 1 0 0 0 0 0 1 0 4 3 3 3 0 4 +0 0 0 0 0 1 0 0 0 4 0 1 0 4 3 3 3 0 +0 0 0 0 0 0 1 0 0 0 4 0 1 0 4 3 3 3 +0 0 0 0 0 0 0 1 0 3 0 4 0 1 0 4 3 3 +0 0 0 0 0 0 0 0 1 3 3 0 4 0 1 0 4 3 diff --git a/results/codetables/results.json b/results/codetables/results.json new file mode 100644 index 0000000..bbb3d5a --- /dev/null +++ b/results/codetables/results.json @@ -0,0 +1,17418 @@ +{ + "table_date": "2026-10-18", + "table_source": "https://www.codetables.de/BKLC/ (Markus Grassl), Tables_color.php per field", + "seed": 20261018, + "seconds_per_target": 25.0, + "derived_seed_matrices_generated": { + "3": { + "seeds_examined": 65, + "seeds_within_derivation_reach_of_a_target": 0, + "derived_matrices_generated": 0 + }, + "4": { + "seeds_examined": 67, + "seeds_within_derivation_reach_of_a_target": 0, + "derived_matrices_generated": 0 + }, + "5": { + "seeds_examined": 72, + "seeds_within_derivation_reach_of_a_target": 0, + "derived_matrices_generated": 0 + } + }, + "targets": [ + { + "q": 3, + "n": 22, + "k": 8, + "table_lower": 9, + "table_upper": 10, + "table_date": "2026-10-18", + "target_d": 10, + "families": [ + { + "family": "random", + "samples": 200, + "spectrum_min_best": 8, + "gfq_d": 8 + }, + { + "family": "greedy+anneal", + "restarts": [ + { + "steps": 58898, + "accepted": 256, + "final_penalty": 16, + "spectrum_min": 9, + "seed": "greedy" + }, + { + "steps": 62989, + "accepted": 212, + "final_penalty": 15, + "spectrum_min": 9, + "seed": "random" + }, + { + "steps": 32726, + "accepted": 190, + "final_penalty": 15, + "spectrum_min": 9, + "seed": "greedy" + }, + { + "steps": 16367, + "accepted": 59, + "final_penalty": 16, + "spectrum_min": 9, + "seed": "random" + }, + { + "steps": 8073, + "accepted": 95, + "final_penalty": 18, + "spectrum_min": 9, + "seed": "greedy" + }, + { + "steps": 7445, + "accepted": 102, + "final_penalty": 16, + "spectrum_min": 9, + "seed": "random" + } + ], + "total_steps": 186498 + }, + { + "family": "cyclic+constacyclic", + "polys_tested": 6561, + "divisors": 0, + "spectrum_min": -1 + }, + { + "family": "double_circulant_QC", + "skipped": "needs n = 2k", + "samples": 0 + }, + { + "family": "gfq.codes derivations", + "candidates_matching_target": 0, + "hits": [] + } + ], + "best_gfq_d": 9, + "best_family": "greedy+anneal", + "beats_table_lower": false, + "best_generator": [ + [ + 0, + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1 + ], + [ + 1, + 2, + 1, + 0, + 0, + 2, + 1, + 1, + 1, + 0, + 2, + 1, + 0, + 2, + 2, + 0, + 2, + 0, + 1, + 1, + 2, + 0 + ], + [ + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 0, + 2, + 2, + 1, + 0, + 0, + 2, + 1, + 2, + 1, + 1, + 0, + 0 + ], + [ + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 2, + 0, + 0, + 0, + 2, + 1, + 1, + 1, + 0, + 2, + 1 + ], + [ + 0, + 2, + 2, + 2, + 0, + 2, + 1, + 2, + 1, + 1, + 0, + 0, + 2, + 0, + 2, + 0, + 2, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 2, + 2, + 0, + 0, + 2, + 1, + 2 + ], + [ + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 2, + 2, + 2, + 1, + 0, + 2, + 1, + 0, + 1, + 2, + 2, + 2, + 1, + 2 + ], + [ + 2, + 0, + 2, + 1, + 0, + 0, + 1, + 1, + 0, + 1, + 2, + 1, + 1, + 2, + 1, + 2, + 2, + 1, + 0, + 1, + 2, + 2 + ] + ], + "best_gfq": { + "n": 22, + "k": 8, + "d": 9, + "lower_bound": 9, + "upper_bound": 9, + "complete": true, + "method": "brute", + "enumerated": 3280, + "codeword_certificate": [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 2, + 0, + 0, + 0, + 2, + 1, + 1, + 0, + 0, + 2, + 1, + 0, + 0, + 2 + ] + }, + "wall_seconds": 26.18, + "cli_certificate_file": "best/q3_n22_k8_d9.gfq.json", + "cli_certificate_ok": true, + "second_passes": [ + { + "seed": 777001, + "seconds_budget": 45.0, + "runs": [ + { + "steps": 191027, + "accepted": 220, + "final_penalty": 13, + "spectrum_min": 9, + "seed": "from_best" + }, + { + "steps": 195800, + "accepted": 201, + "final_penalty": 10, + "spectrum_min": 9, + "seed": "greedy" + } + ], + "best_gfq_d_after": 9 + } + ] + }, + { + "q": 3, + "n": 23, + "k": 8, + "table_lower": 10, + "table_upper": 11, + "table_date": "2026-10-18", + "target_d": 11, + "families": [ + { + "family": "random", + "samples": 200, + "spectrum_min_best": 8, + "gfq_d": 8 + }, + { + "family": "greedy+anneal", + "restarts": [ + { + "steps": 60407, + "accepted": 100, + "final_penalty": 46, + "spectrum_min": 10, + "seed": "greedy" + }, + { + "steps": 58796, + "accepted": 96, + "final_penalty": 41, + "spectrum_min": 9, + "seed": "random" + }, + { + "steps": 30555, + "accepted": 100, + "final_penalty": 47, + "spectrum_min": 9, + "seed": "greedy" + }, + { + "steps": 14780, + "accepted": 88, + "final_penalty": 47, + "spectrum_min": 9, + "seed": "random" + }, + { + "steps": 6615, + "accepted": 55, + "final_penalty": 51, + "spectrum_min": 9, + "seed": "greedy" + }, + { + "steps": 7062, + "accepted": 67, + "final_penalty": 54, + "spectrum_min": 9, + "seed": "random" + } + ], + "total_steps": 178215 + }, + { + "family": "cyclic+constacyclic", + "polys_tested": 6561, + "divisors": 0, + "spectrum_min": -1 + }, + { + "family": "double_circulant_QC", + "skipped": "needs n = 2k", + "samples": 0 + }, + { + "family": "gfq.codes derivations", + "candidates_matching_target": 0, + "hits": [] + } + ], + "best_gfq_d": 10, + "best_family": "greedy+anneal", + "beats_table_lower": false, + "best_generator": [ + [ + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 1, + 0, + 2, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 1 + ], + [ + 0, + 0, + 0, + 2, + 0, + 1, + 1, + 2, + 1, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 0, + 2, + 1, + 0, + 0 + ], + [ + 2, + 1, + 0, + 0, + 2, + 2, + 0, + 2, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 2, + 2, + 2, + 1, + 1, + 0 + ], + [ + 1, + 2, + 1, + 1, + 0, + 2, + 0, + 0, + 2, + 2, + 1, + 2, + 2, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 2, + 0 + ], + [ + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 2, + 0, + 1, + 1, + 2, + 1, + 0, + 2, + 2, + 1, + 0, + 1, + 2, + 1, + 1, + 1 + ], + [ + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 2, + 0, + 2, + 1, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 2, + 1, + 2, + 1, + 0, + 2, + 1, + 0, + 2, + 0, + 2, + 1, + 0, + 2, + 2, + 1 + ] + ], + "best_gfq": { + "n": 23, + "k": 8, + "d": 10, + "lower_bound": 10, + "upper_bound": 10, + "complete": true, + "method": "brute", + "enumerated": 3280, + "codeword_certificate": [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 2, + 2, + 2, + 0, + 1, + 1, + 0, + 0, + 2, + 2, + 1, + 0 + ] + }, + "wall_seconds": 26.23, + "cli_certificate_file": "best/q3_n23_k8_d10.gfq.json", + "cli_certificate_ok": true, + "second_passes": [ + { + "seed": 777001, + "seconds_budget": 45.0, + "runs": [ + { + "steps": 194795, + "accepted": 78, + "final_penalty": 41, + "spectrum_min": 10, + "seed": "from_best" + }, + { + "steps": 198699, + "accepted": 122, + "final_penalty": 43, + "spectrum_min": 9, + "seed": "greedy" + } + ], + "best_gfq_d_after": 10 + } + ] + }, + { + "q": 3, + "n": 23, + "k": 9, + "table_lower": 9, + "table_upper": 10, + "table_date": "2026-10-18", + "target_d": 10, + "families": [ + { + "family": "random", + "samples": 200, + "spectrum_min_best": 8, + "gfq_d": 8 + }, + { + "family": "greedy+anneal", + "restarts": [ + { + "steps": 18546, + "accepted": 55, + "final_penalty": 43, + "spectrum_min": 8, + "seed": "greedy" + }, + { + "steps": 15729, + "accepted": 61, + "final_penalty": 40, + "spectrum_min": 9, + "seed": "random" + }, + { + "steps": 6259, + "accepted": 67, + "final_penalty": 43, + "spectrum_min": 8, + "seed": "greedy" + }, + { + "steps": 3528, + "accepted": 80, + "final_penalty": 46, + "spectrum_min": 9, + "seed": "random" + }, + { + "steps": 2216, + "accepted": 77, + "final_penalty": 46, + "spectrum_min": 8, + "seed": "greedy" + } + ], + "total_steps": 46278 + }, + { + "family": "cyclic+constacyclic", + "polys_tested": 19683, + "divisors": 0, + "spectrum_min": -1 + }, + { + "family": "double_circulant_QC", + "skipped": "needs n = 2k", + "samples": 0 + }, + { + "family": "gfq.codes derivations", + "candidates_matching_target": 0, + "hits": [] + } + ], + "best_gfq_d": 9, + "best_family": "greedy+anneal", + "beats_table_lower": false, + "best_generator": [ + [ + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ], + [ + 0, + 0, + 1, + 0, + 2, + 2, + 2, + 1, + 2, + 1, + 2, + 0, + 0, + 1, + 2, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 1 + ], + [ + 1, + 2, + 0, + 0, + 0, + 2, + 2, + 2, + 0, + 1, + 0, + 1, + 1, + 0, + 2, + 1, + 1, + 0, + 0, + 1, + 2, + 0, + 0 + ], + [ + 0, + 2, + 0, + 2, + 1, + 1, + 0, + 2, + 1, + 1, + 1, + 2, + 2, + 2, + 1, + 2, + 2, + 2, + 1, + 0, + 1, + 2, + 1 + ], + [ + 2, + 0, + 1, + 1, + 2, + 0, + 2, + 2, + 0, + 1, + 0, + 2, + 1, + 1, + 1, + 1, + 1, + 2, + 2, + 0, + 0, + 2, + 2 + ], + [ + 1, + 1, + 1, + 2, + 0, + 1, + 1, + 1, + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 2, + 1, + 2, + 0, + 1, + 2, + 0, + 2 + ], + [ + 2, + 0, + 1, + 1, + 2, + 1, + 2, + 1, + 1, + 1, + 2, + 0, + 1, + 1, + 0, + 2, + 2, + 1, + 2, + 2, + 2, + 0, + 0 + ], + [ + 1, + 2, + 2, + 0, + 0, + 2, + 2, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 1, + 0, + 0, + 2, + 2, + 2, + 0, + 1, + 0 + ], + [ + 1, + 1, + 1, + 1, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 2, + 2, + 0, + 1, + 1, + 1, + 1, + 2, + 1, + 2, + 1, + 2 + ] + ], + "best_gfq": { + "n": 23, + "k": 9, + "d": 9, + "lower_bound": 9, + "upper_bound": 9, + "complete": true, + "method": "brute", + "enumerated": 9841, + "codeword_certificate": [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 2, + 0, + 2, + 0, + 1, + 2, + 1, + 0, + 2, + 0 + ] + }, + "wall_seconds": 28.44, + "cli_certificate_file": "best/q3_n23_k9_d9.gfq.json", + "cli_certificate_ok": true, + "second_passes": [ + { + "seed": 777001, + "seconds_budget": 45.0, + "runs": [ + { + "steps": 62277, + "accepted": 15, + "final_penalty": 36, + "spectrum_min": 8, + "seed": "from_best" + }, + { + "steps": 57324, + "accepted": 106, + "final_penalty": 33, + "spectrum_min": 9, + "seed": "greedy" + } + ], + "best_gfq_d_after": 9 + } + ] + }, + { + "q": 3, + "n": 24, + "k": 9, + "table_lower": 10, + "table_upper": 11, + "table_date": "2026-10-18", + "target_d": 11, + "families": [ + { + "family": "random", + "samples": 200, + "spectrum_min_best": 8, + "gfq_d": 8 + }, + { + "family": "greedy+anneal", + "restarts": [ + { + "steps": 15114, + "accepted": 56, + "final_penalty": 106, + "spectrum_min": 8, + "seed": "greedy" + }, + { + "steps": 14836, + "accepted": 61, + "final_penalty": 103, + "spectrum_min": 9, + "seed": "random" + }, + { + "steps": 5638, + "accepted": 68, + "final_penalty": 115, + "spectrum_min": 8, + "seed": "greedy" + }, + { + "steps": 2286, + "accepted": 37, + "final_penalty": 117, + "spectrum_min": 9, + "seed": "random" + }, + { + "steps": 1845, + "accepted": 53, + "final_penalty": 119, + "spectrum_min": 9, + "seed": "greedy" + } + ], + "total_steps": 39719 + }, + { + "family": "cyclic+constacyclic", + "polys_tested": 19683, + "divisors": 76, + "spectrum_min": 8, + "gfq_d": 8 + }, + { + "family": "double_circulant_QC", + "skipped": "needs n = 2k", + "samples": 0 + }, + { + "family": "gfq.codes derivations", + "candidates_matching_target": 0, + "hits": [] + } + ], + "best_gfq_d": 9, + "best_family": "greedy+anneal", + "beats_table_lower": false, + "best_generator": [ + [ + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 1 + ], + [ + 1, + 2, + 1, + 2, + 1, + 1, + 2, + 0, + 1, + 1, + 0, + 2, + 0, + 0, + 2, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 2, + 1 + ], + [ + 2, + 0, + 2, + 2, + 1, + 0, + 2, + 1, + 1, + 0, + 1, + 0, + 0, + 2, + 0, + 2, + 1, + 0, + 0, + 2, + 2, + 0, + 0, + 1 + ], + [ + 0, + 0, + 2, + 2, + 1, + 1, + 0, + 2, + 2, + 2, + 2, + 2, + 1, + 1, + 1, + 2, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2 + ], + [ + 2, + 0, + 2, + 2, + 1, + 2, + 0, + 2, + 2, + 2, + 2, + 2, + 1, + 0, + 2, + 0, + 2, + 1, + 1, + 0, + 1, + 2, + 1, + 1 + ], + [ + 2, + 1, + 0, + 0, + 0, + 2, + 2, + 0, + 2, + 2, + 1, + 2, + 1, + 1, + 0, + 0, + 2, + 1, + 0, + 1, + 1, + 1, + 0, + 2 + ], + [ + 2, + 2, + 2, + 2, + 2, + 1, + 2, + 0, + 1, + 1, + 1, + 2, + 2, + 1, + 1, + 1, + 2, + 0, + 0, + 0, + 1, + 2, + 0, + 2 + ], + [ + 0, + 0, + 1, + 2, + 2, + 0, + 1, + 1, + 0, + 1, + 0, + 2, + 1, + 2, + 1, + 2, + 0, + 1, + 2, + 2, + 0, + 2, + 2, + 1 + ], + [ + 2, + 2, + 1, + 1, + 2, + 1, + 1, + 0, + 1, + 2, + 0, + 0, + 1, + 0, + 0, + 2, + 2, + 0, + 2, + 1, + 1, + 2, + 1, + 0 + ] + ], + "best_gfq": { + "n": 24, + "k": 9, + "d": 9, + "lower_bound": 9, + "upper_bound": 9, + "complete": true, + "method": "brute", + "enumerated": 9841, + "codeword_certificate": [ + 1, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 2, + 0, + 0, + 0, + 0, + 1, + 0, + 2, + 0, + 1, + 0 + ] + }, + "wall_seconds": 29.92, + "cli_certificate_file": "best/q3_n24_k9_d9.gfq.json", + "cli_certificate_ok": true, + "second_passes": [ + { + "seed": 777001, + "seconds_budget": 45.0, + "runs": [ + { + "steps": 49655, + "accepted": 13, + "final_penalty": 97, + "spectrum_min": 9, + "seed": "from_best" + }, + { + "steps": 56886, + "accepted": 76, + "final_penalty": 101, + "spectrum_min": 9, + "seed": "greedy" + } + ], + "best_gfq_d_after": 9 + } + ] + }, + { + "q": 3, + "n": 24, + "k": 10, + "table_lower": 9, + "table_upper": 10, + "table_date": "2026-10-18", + "target_d": 10, + "families": [ + { + "family": "random", + "samples": 37, + "spectrum_min_best": 7, + "gfq_d": 7 + }, + { + "family": "greedy+anneal", + "restarts": [ + { + "steps": 4928, + "accepted": 55, + "final_penalty": 85, + "spectrum_min": 7, + "seed": "greedy" + }, + { + "steps": 3263, + "accepted": 46, + "final_penalty": 92, + "spectrum_min": 8, + "seed": "random" + }, + { + "steps": 814, + "accepted": 41, + "final_penalty": 99, + "spectrum_min": 8, + "seed": "greedy" + }, + { + "steps": 740, + "accepted": 31, + "final_penalty": 93, + "spectrum_min": 8, + "seed": "random" + } + ], + "total_steps": 9745 + }, + { + "family": "cyclic+constacyclic", + "polys_tested": 59049, + "divisors": 84, + "spectrum_min": 6, + "gfq_d": 6 + }, + { + "family": "double_circulant_QC", + "skipped": "needs n = 2k", + "samples": 0 + }, + { + "family": "gfq.codes derivations", + "candidates_matching_target": 0, + "hits": [] + } + ], + "best_gfq_d": 8, + "best_family": "greedy+anneal", + "beats_table_lower": false, + "best_generator": [ + [ + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 0, + 1 + ], + [ + 1, + 0, + 0, + 2, + 2, + 1, + 0, + 1, + 1, + 1, + 2, + 1, + 2, + 0, + 2, + 0, + 0, + 0, + 1, + 2, + 0, + 2, + 1, + 1 + ], + [ + 1, + 1, + 1, + 0, + 1, + 2, + 1, + 1, + 0, + 1, + 2, + 2, + 1, + 1, + 2, + 0, + 1, + 0, + 0, + 1, + 2, + 1, + 2, + 1 + ], + [ + 1, + 2, + 1, + 2, + 2, + 0, + 1, + 1, + 1, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 2 + ], + [ + 1, + 2, + 1, + 2, + 0, + 2, + 1, + 1, + 2, + 2, + 1, + 1, + 0, + 1, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2 + ], + [ + 1, + 2, + 1, + 1, + 2, + 2, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 2, + 0, + 2, + 1, + 2, + 2, + 1, + 0, + 1, + 1 + ], + [ + 0, + 2, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 2, + 0, + 1, + 1, + 1, + 0, + 2, + 1, + 1, + 1, + 0 + ], + [ + 0, + 0, + 2, + 2, + 1, + 2, + 2, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 2, + 2, + 2, + 2, + 2, + 1, + 1 + ], + [ + 2, + 2, + 2, + 0, + 2, + 0, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 1, + 2, + 1 + ], + [ + 2, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 0, + 1, + 0, + 2, + 2, + 2, + 0, + 2, + 1, + 0, + 2, + 0, + 2, + 0, + 2 + ] + ], + "best_gfq": { + "n": 24, + "k": 10, + "d": 8, + "lower_bound": 8, + "upper_bound": 8, + "complete": true, + "method": "brute", + "enumerated": 29524, + "codeword_certificate": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 0, + 2, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 2, + 0, + 2 + ] + }, + "wall_seconds": 36.07, + "cli_certificate_file": "best/q3_n24_k10_d8.gfq.json", + "cli_certificate_ok": true, + "second_passes": [ + { + "seed": 777001, + "seconds_budget": 45.0, + "runs": [ + { + "steps": 19971, + "accepted": 13, + "final_penalty": 78, + "spectrum_min": 8, + "seed": "from_best" + }, + { + "steps": 19050, + "accepted": 56, + "final_penalty": 86, + "spectrum_min": 8, + "seed": "greedy" + } + ], + "best_gfq_d_after": 8 + } + ] + }, + { + "q": 4, + "n": 19, + "k": 8, + "table_lower": 8, + "table_upper": 9, + "table_date": "2026-10-18", + "target_d": 9, + "families": [ + { + "family": "random", + "samples": 169, + "spectrum_min_best": 7, + "gfq_d": 7 + }, + { + "family": "greedy+anneal", + "restarts": [ + { + "steps": 8179, + "accepted": 79, + "final_penalty": 28, + "spectrum_min": 7, + "seed": "greedy" + }, + { + "steps": 7259, + "accepted": 88, + "final_penalty": 32, + "spectrum_min": 8, + "seed": "random" + }, + { + "steps": 2605, + "accepted": 102, + "final_penalty": 30, + "spectrum_min": 8, + "seed": "greedy" + }, + { + "steps": 1232, + "accepted": 81, + "final_penalty": 38, + "spectrum_min": 7, + "seed": "random" + }, + { + "steps": 1031, + "accepted": 68, + "final_penalty": 40, + "spectrum_min": 7, + "seed": "greedy" + } + ], + "total_steps": 20306 + }, + { + "family": "cyclic+constacyclic", + "polys_tested": 65536, + "divisors": 0, + "spectrum_min": -1 + }, + { + "family": "double_circulant_QC", + "skipped": "needs n = 2k", + "samples": 0 + }, + { + "family": "gfq.codes derivations", + "candidates_matching_target": 0, + "hits": [] + } + ], + "best_gfq_d": 8, + "best_family": "greedy+anneal", + "beats_table_lower": false, + "best_generator": [ + [ + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + [ + 1, + 0, + 1, + 2, + 1, + 0, + 0, + 0, + 3, + 2, + 1, + 1, + 3, + 0, + 2, + 2, + 2, + 2, + 1 + ], + [ + 3, + 1, + 3, + 3, + 3, + 1, + 2, + 0, + 3, + 3, + 3, + 1, + 2, + 3, + 1, + 1, + 1, + 3, + 2 + ], + [ + 3, + 2, + 2, + 3, + 2, + 3, + 3, + 3, + 2, + 0, + 3, + 0, + 3, + 3, + 2, + 0, + 3, + 2, + 3 + ], + [ + 3, + 2, + 0, + 2, + 2, + 1, + 3, + 1, + 2, + 2, + 1, + 3, + 2, + 0, + 1, + 0, + 3, + 0, + 0 + ], + [ + 1, + 0, + 2, + 3, + 2, + 0, + 3, + 3, + 3, + 0, + 1, + 3, + 3, + 0, + 3, + 3, + 0, + 3, + 3 + ], + [ + 1, + 0, + 1, + 3, + 0, + 2, + 0, + 2, + 3, + 1, + 1, + 2, + 3, + 1, + 2, + 1, + 1, + 0, + 3 + ], + [ + 1, + 1, + 3, + 1, + 1, + 2, + 1, + 1, + 0, + 1, + 0, + 3, + 2, + 0, + 2, + 0, + 0, + 1, + 1 + ] + ], + "best_gfq": { + "n": 19, + "k": 8, + "d": 8, + "lower_bound": 8, + "upper_bound": 8, + "complete": true, + "method": "brute", + "enumerated": 21845, + "codeword_certificate": [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 3, + 2, + 1, + 3, + 0, + 0, + 0, + 0, + 3, + 1 + ] + }, + "wall_seconds": 32.29, + "cli_certificate_file": "best/q4_n19_k8_d8.gfq.json", + "cli_certificate_ok": true, + "second_passes": [ + { + "seed": 777001, + "seconds_budget": 45.0, + "runs": [ + { + "steps": 28766, + "accepted": 82, + "final_penalty": 25, + "spectrum_min": 8, + "seed": "from_best" + }, + { + "steps": 29652, + "accepted": 109, + "final_penalty": 27, + "spectrum_min": 8, + "seed": "greedy" + } + ], + "best_gfq_d_after": 8 + } + ] + }, + { + "q": 4, + "n": 20, + "k": 9, + "table_lower": 8, + "table_upper": 9, + "table_date": "2026-10-18", + "target_d": 9, + "families": [ + { + "family": "random", + "samples": 40, + "spectrum_min_best": 7, + "gfq_d": 7 + }, + { + "family": "greedy+anneal", + "restarts": [ + { + "steps": 1990, + "accepted": 62, + "final_penalty": 69, + "spectrum_min": 7, + "seed": "greedy" + }, + { + "steps": 1862, + "accepted": 48, + "final_penalty": 72, + "spectrum_min": 7, + "seed": "random" + }, + { + "steps": 501, + "accepted": 38, + "final_penalty": 74, + "spectrum_min": 7, + "seed": "greedy" + }, + { + "steps": 270, + "accepted": 26, + "final_penalty": 79, + "spectrum_min": 7, + "seed": "random" + } + ], + "total_steps": 4623 + }, + { + "family": "cyclic+constacyclic", + "polys_tested": 262144, + "divisors": 27, + "spectrum_min": 6, + "gfq_d": 6 + }, + { + "family": "double_circulant_QC", + "skipped": "needs n = 2k", + "samples": 0 + }, + { + "family": "gfq.codes derivations", + "candidates_matching_target": 0, + "hits": [] + } + ], + "best_gfq_d": 7, + "best_family": "random", + "beats_table_lower": false, + "best_generator": [ + [ + 0, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1 + ], + [ + 1, + 0, + 2, + 1, + 1, + 2, + 3, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 3, + 2, + 2, + 0, + 2 + ], + [ + 3, + 0, + 2, + 1, + 3, + 2, + 3, + 0, + 2, + 2, + 2, + 3, + 3, + 3, + 2, + 0, + 3, + 0, + 2, + 0 + ], + [ + 0, + 2, + 0, + 3, + 1, + 1, + 3, + 2, + 0, + 1, + 1, + 0, + 0, + 2, + 2, + 1, + 1, + 2, + 0, + 0 + ], + [ + 2, + 3, + 0, + 1, + 1, + 0, + 2, + 0, + 3, + 0, + 1, + 3, + 0, + 3, + 1, + 1, + 1, + 1, + 1, + 3 + ], + [ + 1, + 0, + 2, + 2, + 0, + 0, + 1, + 3, + 3, + 1, + 3, + 3, + 2, + 0, + 2, + 1, + 0, + 1, + 1, + 3 + ], + [ + 2, + 3, + 3, + 0, + 0, + 1, + 1, + 0, + 1, + 2, + 3, + 0, + 3, + 1, + 3, + 2, + 2, + 2, + 1, + 0 + ], + [ + 0, + 1, + 1, + 3, + 1, + 0, + 0, + 1, + 0, + 3, + 0, + 1, + 2, + 2, + 1, + 2, + 1, + 0, + 1, + 1 + ], + [ + 3, + 0, + 1, + 0, + 2, + 1, + 1, + 3, + 3, + 3, + 3, + 3, + 2, + 2, + 3, + 1, + 3, + 3, + 3, + 1 + ] + ], + "best_gfq": { + "n": 20, + "k": 9, + "d": 7, + "lower_bound": 7, + "upper_bound": 7, + "complete": true, + "method": "brute", + "enumerated": 87381, + "codeword_certificate": [ + 1, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 3, + 3, + 0, + 3, + 0, + 2, + 0, + 0, + 3, + 0, + 0 + ] + }, + "wall_seconds": 38.53, + "cli_certificate_file": "best/q4_n20_k9_d7.gfq.json", + "cli_certificate_ok": true, + "second_passes": [ + { + "seed": 777001, + "seconds_budget": 45.0, + "runs": [ + { + "steps": 6656, + "accepted": 71, + "final_penalty": 66, + "spectrum_min": 7, + "seed": "from_best" + }, + { + "steps": 6509, + "accepted": 39, + "final_penalty": 65, + "spectrum_min": 7, + "seed": "greedy" + } + ], + "best_gfq_d_after": 7 + } + ] + }, + { + "q": 4, + "n": 22, + "k": 6, + "table_lower": 12, + "table_upper": 13, + "table_date": "2026-10-18", + "target_d": 13, + "families": [ + { + "family": "random", + "samples": 200, + "spectrum_min_best": 11, + "gfq_d": 11 + }, + { + "family": "greedy+anneal", + "restarts": [ + { + "steps": 162504, + "accepted": 330, + "final_penalty": 14, + "spectrum_min": 12, + "seed": "greedy" + }, + { + "steps": 163526, + "accepted": 308, + "final_penalty": 17, + "spectrum_min": 12, + "seed": "random" + }, + { + "steps": 79398, + "accepted": 272, + "final_penalty": 16, + "spectrum_min": 12, + "seed": "greedy" + }, + { + "steps": 39772, + "accepted": 190, + "final_penalty": 19, + "spectrum_min": 11, + "seed": "random" + }, + { + "steps": 19708, + "accepted": 140, + "final_penalty": 23, + "spectrum_min": 12, + "seed": "greedy" + }, + { + "steps": 20049, + "accepted": 141, + "final_penalty": 20, + "spectrum_min": 12, + "seed": "random" + } + ], + "total_steps": 484957 + }, + { + "family": "cyclic+constacyclic", + "polys_tested": 4096, + "divisors": 6, + "spectrum_min": 10, + "gfq_d": 10 + }, + { + "family": "double_circulant_QC", + "skipped": "needs n = 2k", + "samples": 0 + }, + { + "family": "gfq.codes derivations", + "candidates_matching_target": 0, + "hits": [] + } + ], + "best_gfq_d": 12, + "best_family": "greedy+anneal", + "beats_table_lower": false, + "best_generator": [ + [ + 0, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 0 + ], + [ + 1, + 2, + 0, + 1, + 1, + 0, + 2, + 1, + 0, + 1, + 2, + 2, + 1, + 0, + 1, + 3, + 0, + 1, + 2, + 1, + 3, + 0 + ], + [ + 0, + 0, + 2, + 2, + 2, + 1, + 0, + 2, + 0, + 0, + 3, + 1, + 3, + 0, + 0, + 2, + 1, + 3, + 3, + 2, + 2, + 0 + ], + [ + 2, + 2, + 1, + 3, + 1, + 2, + 3, + 1, + 3, + 1, + 2, + 2, + 2, + 2, + 0, + 1, + 0, + 1, + 1, + 2, + 2, + 0 + ], + [ + 2, + 1, + 3, + 2, + 3, + 1, + 1, + 2, + 1, + 3, + 2, + 2, + 2, + 1, + 2, + 1, + 0, + 1, + 1, + 0, + 3, + 0 + ], + [ + 1, + 1, + 2, + 1, + 1, + 2, + 1, + 3, + 2, + 3, + 3, + 3, + 3, + 0, + 0, + 2, + 2, + 0, + 2, + 1, + 1, + 1 + ] + ], + "best_gfq": { + "n": 22, + "k": 6, + "d": 12, + "lower_bound": 12, + "upper_bound": 12, + "complete": true, + "method": "brute", + "enumerated": 1365, + "codeword_certificate": [ + 1, + 0, + 0, + 0, + 3, + 0, + 2, + 2, + 0, + 2, + 3, + 0, + 2, + 0, + 0, + 2, + 3, + 0, + 3, + 1, + 0, + 1 + ] + }, + "wall_seconds": 25.44, + "cli_certificate_file": "best/q4_n22_k6_d12.gfq.json", + "cli_certificate_ok": true, + "second_passes": [ + { + "seed": 777001, + "seconds_budget": 45.0, + "runs": [ + { + "steps": 438192, + "accepted": 657, + "final_penalty": 14, + "spectrum_min": 12, + "seed": "from_best" + }, + { + "steps": 433258, + "accepted": 685, + "final_penalty": 13, + "spectrum_min": 12, + "seed": "greedy" + } + ], + "best_gfq_d_after": 12 + } + ] + }, + { + "q": 4, + "n": 23, + "k": 7, + "table_lower": 12, + "table_upper": 13, + "table_date": "2026-10-18", + "target_d": 13, + "families": [ + { + "family": "random", + "samples": 200, + "spectrum_min_best": 10, + "gfq_d": 10 + }, + { + "family": "greedy+anneal", + "restarts": [ + { + "steps": 44504, + "accepted": 88, + "final_penalty": 70, + "spectrum_min": 11, + "seed": "greedy" + }, + { + "steps": 45475, + "accepted": 83, + "final_penalty": 62, + "spectrum_min": 11, + "seed": "random" + }, + { + "steps": 21341, + "accepted": 75, + "final_penalty": 64, + "spectrum_min": 11, + "seed": "greedy" + }, + { + "steps": 10619, + "accepted": 42, + "final_penalty": 79, + "spectrum_min": 11, + "seed": "random" + }, + { + "steps": 5661, + "accepted": 67, + "final_penalty": 79, + "spectrum_min": 11, + "seed": "greedy" + }, + { + "steps": 5645, + "accepted": 52, + "final_penalty": 81, + "spectrum_min": 11, + "seed": "random" + } + ], + "total_steps": 133245 + }, + { + "family": "cyclic+constacyclic", + "polys_tested": 16384, + "divisors": 0, + "spectrum_min": -1 + }, + { + "family": "double_circulant_QC", + "skipped": "needs n = 2k", + "samples": 0 + }, + { + "family": "gfq.codes derivations", + "candidates_matching_target": 0, + "hits": [] + } + ], + "best_gfq_d": 11, + "best_family": "greedy+anneal", + "beats_table_lower": false, + "best_generator": [ + [ + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + [ + 2, + 1, + 1, + 0, + 1, + 3, + 1, + 1, + 1, + 3, + 1, + 1, + 0, + 1, + 1, + 3, + 0, + 1, + 3, + 2, + 0, + 3, + 1 + ], + [ + 3, + 0, + 3, + 2, + 2, + 1, + 1, + 2, + 1, + 2, + 3, + 0, + 1, + 2, + 3, + 1, + 1, + 3, + 0, + 0, + 0, + 1, + 2 + ], + [ + 0, + 0, + 1, + 2, + 0, + 3, + 2, + 2, + 1, + 2, + 1, + 0, + 2, + 0, + 2, + 2, + 3, + 2, + 2, + 2, + 0, + 3, + 1 + ], + [ + 2, + 0, + 1, + 2, + 3, + 2, + 3, + 0, + 0, + 0, + 1, + 0, + 1, + 2, + 1, + 3, + 1, + 2, + 0, + 0, + 3, + 3, + 2 + ], + [ + 2, + 2, + 3, + 3, + 3, + 0, + 0, + 0, + 1, + 1, + 2, + 0, + 3, + 2, + 1, + 3, + 0, + 1, + 3, + 1, + 2, + 1, + 1 + ], + [ + 2, + 2, + 3, + 2, + 2, + 2, + 3, + 3, + 3, + 0, + 2, + 1, + 3, + 3, + 2, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 3 + ] + ], + "best_gfq": { + "n": 23, + "k": 7, + "d": 11, + "lower_bound": 11, + "upper_bound": 11, + "complete": true, + "method": "brute", + "enumerated": 5461, + "codeword_certificate": [ + 0, + 0, + 0, + 1, + 0, + 2, + 3, + 0, + 1, + 0, + 2, + 0, + 0, + 3, + 0, + 1, + 0, + 0, + 2, + 2, + 0, + 1, + 3 + ] + }, + "wall_seconds": 27.04, + "cli_certificate_file": "best/q4_n23_k7_d11.gfq.json", + "cli_certificate_ok": true, + "second_passes": [ + { + "seed": 777001, + "seconds_budget": 45.0, + "runs": [ + { + "steps": 117300, + "accepted": 33, + "final_penalty": 65, + "spectrum_min": 11, + "seed": "from_best" + }, + { + "steps": 98171, + "accepted": 104, + "final_penalty": 66, + "spectrum_min": 11, + "seed": "greedy" + } + ], + "best_gfq_d_after": 11 + } + ] + }, + { + "q": 4, + "n": 24, + "k": 8, + "table_lower": 12, + "table_upper": 13, + "table_date": "2026-10-18", + "target_d": 13, + "families": [ + { + "family": "random", + "samples": 179, + "spectrum_min_best": 10, + "gfq_d": 10 + }, + { + "family": "greedy+anneal", + "restarts": [ + { + "steps": 11120, + "accepted": 47, + "final_penalty": 189, + "spectrum_min": 11, + "seed": "greedy" + }, + { + "steps": 9706, + "accepted": 36, + "final_penalty": 190, + "spectrum_min": 11, + "seed": "random" + }, + { + "steps": 3521, + "accepted": 46, + "final_penalty": 204, + "spectrum_min": 11, + "seed": "greedy" + }, + { + "steps": 1673, + "accepted": 24, + "final_penalty": 212, + "spectrum_min": 10, + "seed": "random" + }, + { + "steps": 1331, + "accepted": 37, + "final_penalty": 219, + "spectrum_min": 10, + "seed": "greedy" + } + ], + "total_steps": 27351 + }, + { + "family": "cyclic+constacyclic", + "polys_tested": 65536, + "divisors": 45, + "spectrum_min": 6, + "gfq_d": 6 + }, + { + "family": "double_circulant_QC", + "skipped": "needs n = 2k", + "samples": 0 + }, + { + "family": "gfq.codes derivations", + "candidates_matching_target": 0, + "hits": [] + } + ], + "best_gfq_d": 11, + "best_family": "greedy+anneal", + "beats_table_lower": false, + "best_generator": [ + [ + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ], + [ + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 3, + 0, + 0, + 3, + 0, + 0, + 2, + 1, + 3, + 3, + 1, + 3, + 3, + 1, + 1, + 2, + 3 + ], + [ + 1, + 3, + 1, + 1, + 3, + 3, + 0, + 0, + 0, + 1, + 1, + 2, + 0, + 3, + 2, + 0, + 0, + 2, + 2, + 1, + 1, + 2, + 2, + 2 + ], + [ + 3, + 1, + 0, + 1, + 2, + 0, + 0, + 1, + 0, + 3, + 0, + 1, + 3, + 3, + 1, + 2, + 0, + 0, + 1, + 0, + 0, + 1, + 2, + 1 + ], + [ + 3, + 2, + 0, + 1, + 2, + 2, + 3, + 0, + 0, + 2, + 3, + 2, + 0, + 0, + 0, + 3, + 0, + 3, + 3, + 0, + 3, + 1, + 1, + 0 + ], + [ + 2, + 0, + 3, + 2, + 1, + 1, + 3, + 0, + 3, + 0, + 0, + 2, + 3, + 3, + 2, + 2, + 1, + 1, + 1, + 0, + 2, + 1, + 3, + 3 + ], + [ + 0, + 2, + 1, + 0, + 1, + 0, + 2, + 0, + 1, + 1, + 0, + 3, + 0, + 3, + 0, + 1, + 0, + 0, + 3, + 3, + 1, + 1, + 3, + 0 + ], + [ + 0, + 1, + 0, + 0, + 1, + 3, + 1, + 2, + 0, + 2, + 1, + 0, + 2, + 2, + 0, + 3, + 1, + 0, + 1, + 1, + 3, + 3, + 0, + 1 + ] + ], + "best_gfq": { + "n": 24, + "k": 8, + "d": 11, + "lower_bound": 11, + "upper_bound": 11, + "complete": true, + "method": "brute", + "enumerated": 21845, + "codeword_certificate": [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 2, + 2, + 1, + 3, + 1, + 0, + 0, + 3, + 0, + 2, + 0, + 3, + 1 + ] + }, + "wall_seconds": 32.96, + "cli_certificate_file": "best/q4_n24_k8_d11.gfq.json", + "cli_certificate_ok": true, + "second_passes": [ + { + "seed": 777001, + "seconds_budget": 45.0, + "runs": [ + { + "steps": 19406, + "accepted": 3, + "final_penalty": 183, + "spectrum_min": 11, + "seed": "from_best" + }, + { + "steps": 16773, + "accepted": 46, + "final_penalty": 194, + "spectrum_min": 11, + "seed": "greedy" + } + ], + "best_gfq_d_after": 11 + } + ] + }, + { + "q": 5, + "n": 16, + "k": 5, + "table_lower": 9, + "table_upper": 10, + "table_date": "2026-10-18", + "target_d": 10, + "families": [ + { + "family": "random", + "samples": 200, + "spectrum_min_best": 8, + "gfq_d": 8 + }, + { + "family": "greedy+anneal", + "restarts": [ + { + "steps": 274836, + "accepted": 4426, + "final_penalty": 5, + "spectrum_min": 9, + "seed": "greedy" + }, + { + "steps": 275433, + "accepted": 4735, + "final_penalty": 5, + "spectrum_min": 9, + "seed": "random" + }, + { + "steps": 136663, + "accepted": 2292, + "final_penalty": 5, + "spectrum_min": 9, + "seed": "greedy" + }, + { + "steps": 68332, + "accepted": 1344, + "final_penalty": 5, + "spectrum_min": 9, + "seed": "random" + }, + { + "steps": 33386, + "accepted": 838, + "final_penalty": 6, + "spectrum_min": 9, + "seed": "greedy" + }, + { + "steps": 33213, + "accepted": 804, + "final_penalty": 6, + "spectrum_min": 9, + "seed": "random" + } + ], + "total_steps": 821863 + }, + { + "family": "cyclic+constacyclic", + "polys_tested": 3125, + "divisors": 20, + "spectrum_min": 6, + "gfq_d": 6 + }, + { + "family": "double_circulant_QC", + "skipped": "needs n = 2k", + "samples": 0 + }, + { + "family": "gfq.codes derivations", + "candidates_matching_target": 0, + "hits": [] + } + ], + "best_gfq_d": 9, + "best_family": "greedy+anneal", + "beats_table_lower": false, + "best_generator": [ + [ + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1 + ], + [ + 1, + 1, + 4, + 4, + 4, + 2, + 1, + 2, + 3, + 2, + 1, + 4, + 2, + 1, + 4, + 0 + ], + [ + 4, + 4, + 1, + 3, + 3, + 2, + 2, + 3, + 2, + 4, + 4, + 2, + 4, + 4, + 0, + 2 + ], + [ + 2, + 2, + 2, + 3, + 2, + 0, + 3, + 0, + 2, + 1, + 1, + 2, + 2, + 3, + 3, + 4 + ], + [ + 2, + 3, + 0, + 4, + 1, + 2, + 2, + 4, + 3, + 2, + 3, + 1, + 1, + 4, + 3, + 1 + ] + ], + "best_gfq": { + "n": 16, + "k": 5, + "d": 9, + "lower_bound": 9, + "upper_bound": 9, + "complete": true, + "method": "brute", + "enumerated": 781, + "codeword_certificate": [ + 0, + 0, + 0, + 1, + 1, + 2, + 4, + 0, + 0, + 3, + 0, + 3, + 3, + 0, + 2, + 1 + ] + }, + "wall_seconds": 25.15, + "cli_certificate_file": "best/q5_n16_k5_d9.gfq.json", + "cli_certificate_ok": true, + "second_passes": [ + { + "seed": 777001, + "seconds_budget": 45.0, + "runs": [ + { + "steps": 372407, + "accepted": 6072, + "final_penalty": 5, + "spectrum_min": 9, + "seed": "from_best" + }, + { + "steps": 423577, + "accepted": 6584, + "final_penalty": 5, + "spectrum_min": 9, + "seed": "greedy" + } + ], + "best_gfq_d_after": 9 + } + ] + }, + { + "q": 5, + "n": 16, + "k": 6, + "table_lower": 8, + "table_upper": 9, + "table_date": "2026-10-18", + "target_d": 9, + "families": [ + { + "family": "random", + "samples": 200, + "spectrum_min_best": 7, + "gfq_d": 7 + }, + { + "family": "greedy+anneal", + "restarts": [ + { + "steps": 67718, + "accepted": 646, + "final_penalty": 10, + "spectrum_min": 8, + "seed": "greedy" + }, + { + "steps": 59811, + "accepted": 499, + "final_penalty": 10, + "spectrum_min": 8, + "seed": "random" + }, + { + "steps": 31938, + "accepted": 357, + "final_penalty": 10, + "spectrum_min": 8, + "seed": "greedy" + }, + { + "steps": 16363, + "accepted": 329, + "final_penalty": 10, + "spectrum_min": 8, + "seed": "random" + }, + { + "steps": 7989, + "accepted": 287, + "final_penalty": 9, + "spectrum_min": 8, + "seed": "greedy" + }, + { + "steps": 8096, + "accepted": 188, + "final_penalty": 10, + "spectrum_min": 8, + "seed": "random" + } + ], + "total_steps": 191915 + }, + { + "family": "cyclic+constacyclic", + "polys_tested": 15625, + "divisors": 24, + "spectrum_min": 4, + "gfq_d": 4 + }, + { + "family": "double_circulant_QC", + "skipped": "needs n = 2k", + "samples": 0 + }, + { + "family": "gfq.codes derivations", + "candidates_matching_target": 0, + "hits": [] + } + ], + "best_gfq_d": 8, + "best_family": "greedy+anneal", + "beats_table_lower": false, + "best_generator": [ + [ + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1 + ], + [ + 0, + 1, + 4, + 3, + 2, + 1, + 2, + 1, + 3, + 2, + 1, + 1, + 0, + 4, + 1, + 1 + ], + [ + 2, + 1, + 0, + 3, + 2, + 3, + 1, + 1, + 4, + 0, + 0, + 0, + 0, + 2, + 1, + 0 + ], + [ + 2, + 4, + 0, + 3, + 4, + 1, + 2, + 1, + 0, + 1, + 3, + 0, + 1, + 2, + 3, + 2 + ], + [ + 1, + 1, + 2, + 1, + 3, + 1, + 1, + 2, + 3, + 4, + 4, + 4, + 2, + 3, + 3, + 3 + ], + [ + 4, + 4, + 4, + 2, + 0, + 4, + 4, + 0, + 0, + 4, + 2, + 0, + 1, + 2, + 1, + 3 + ] + ], + "best_gfq": { + "n": 16, + "k": 6, + "d": 8, + "lower_bound": 8, + "upper_bound": 8, + "complete": true, + "method": "brute", + "enumerated": 3906, + "codeword_certificate": [ + 1, + 0, + 0, + 1, + 0, + 3, + 0, + 1, + 0, + 0, + 2, + 4, + 4, + 0, + 0, + 3 + ] + }, + "wall_seconds": 25.99, + "cli_certificate_file": "best/q5_n16_k6_d8.gfq.json", + "cli_certificate_ok": true, + "second_passes": [ + { + "seed": 777001, + "seconds_budget": 45.0, + "runs": [ + { + "steps": 111337, + "accepted": 759, + "final_penalty": 8, + "spectrum_min": 8, + "seed": "from_best" + }, + { + "steps": 106728, + "accepted": 652, + "final_penalty": 9, + "spectrum_min": 8, + "seed": "greedy" + } + ], + "best_gfq_d_after": 8 + } + ] + }, + { + "q": 5, + "n": 17, + "k": 6, + "table_lower": 9, + "table_upper": 10, + "table_date": "2026-10-18", + "target_d": 10, + "families": [ + { + "family": "random", + "samples": 200, + "spectrum_min_best": 8, + "gfq_d": 8 + }, + { + "family": "greedy+anneal", + "restarts": [ + { + "steps": 64849, + "accepted": 205, + "final_penalty": 25, + "spectrum_min": 9, + "seed": "greedy" + }, + { + "steps": 65256, + "accepted": 149, + "final_penalty": 24, + "spectrum_min": 9, + "seed": "random" + }, + { + "steps": 32255, + "accepted": 170, + "final_penalty": 26, + "spectrum_min": 9, + "seed": "greedy" + }, + { + "steps": 16653, + "accepted": 135, + "final_penalty": 28, + "spectrum_min": 9, + "seed": "random" + }, + { + "steps": 8445, + "accepted": 169, + "final_penalty": 25, + "spectrum_min": 9, + "seed": "greedy" + }, + { + "steps": 8446, + "accepted": 207, + "final_penalty": 28, + "spectrum_min": 9, + "seed": "random" + } + ], + "total_steps": 195904 + }, + { + "family": "cyclic+constacyclic", + "polys_tested": 15625, + "divisors": 0, + "spectrum_min": -1 + }, + { + "family": "double_circulant_QC", + "skipped": "needs n = 2k", + "samples": 0 + }, + { + "family": "gfq.codes derivations", + "candidates_matching_target": 0, + "hits": [] + } + ], + "best_gfq_d": 9, + "best_family": "greedy+anneal", + "beats_table_lower": false, + "best_generator": [ + [ + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1 + ], + [ + 0, + 2, + 4, + 0, + 2, + 1, + 1, + 0, + 4, + 2, + 4, + 0, + 2, + 4, + 1, + 1, + 4 + ], + [ + 2, + 2, + 4, + 4, + 0, + 0, + 1, + 3, + 1, + 2, + 0, + 0, + 2, + 3, + 1, + 0, + 3 + ], + [ + 0, + 3, + 4, + 3, + 4, + 0, + 2, + 4, + 4, + 3, + 3, + 2, + 4, + 4, + 4, + 2, + 2 + ], + [ + 0, + 2, + 2, + 4, + 1, + 3, + 4, + 2, + 2, + 0, + 0, + 2, + 1, + 0, + 0, + 1, + 2 + ], + [ + 4, + 2, + 1, + 3, + 1, + 3, + 3, + 3, + 2, + 2, + 3, + 1, + 1, + 0, + 0, + 4, + 0 + ] + ], + "best_gfq": { + "n": 17, + "k": 6, + "d": 9, + "lower_bound": 9, + "upper_bound": 9, + "complete": true, + "method": "brute", + "enumerated": 3906, + "codeword_certificate": [ + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 2, + 1, + 4, + 2, + 4, + 0, + 1 + ] + }, + "wall_seconds": 26.02, + "cli_certificate_file": "best/q5_n17_k6_d9.gfq.json", + "cli_certificate_ok": true, + "second_passes": [ + { + "seed": 777001, + "seconds_budget": 45.0, + "runs": [ + { + "steps": 90832, + "accepted": 209, + "final_penalty": 24, + "spectrum_min": 8, + "seed": "from_best" + }, + { + "steps": 87031, + "accepted": 278, + "final_penalty": 24, + "spectrum_min": 9, + "seed": "greedy" + } + ], + "best_gfq_d_after": 9 + } + ] + }, + { + "q": 5, + "n": 17, + "k": 7, + "table_lower": 8, + "table_upper": 9, + "table_date": "2026-10-18", + "target_d": 9, + "families": [ + { + "family": "random", + "samples": 200, + "spectrum_min_best": 7, + "gfq_d": 7 + }, + { + "family": "greedy+anneal", + "restarts": [ + { + "steps": 12807, + "accepted": 116, + "final_penalty": 34, + "spectrum_min": 8, + "seed": "greedy" + }, + { + "steps": 11760, + "accepted": 161, + "final_penalty": 31, + "spectrum_min": 7, + "seed": "random" + }, + { + "steps": 4901, + "accepted": 153, + "final_penalty": 32, + "spectrum_min": 7, + "seed": "greedy" + }, + { + "steps": 2417, + "accepted": 104, + "final_penalty": 36, + "spectrum_min": 8, + "seed": "random" + }, + { + "steps": 1613, + "accepted": 89, + "final_penalty": 37, + "spectrum_min": 8, + "seed": "greedy" + } + ], + "total_steps": 33498 + }, + { + "family": "cyclic+constacyclic", + "polys_tested": 78125, + "divisors": 0, + "spectrum_min": -1 + }, + { + "family": "double_circulant_QC", + "skipped": "needs n = 2k", + "samples": 0 + }, + { + "family": "gfq.codes derivations", + "candidates_matching_target": 0, + "hits": [] + } + ], + "best_gfq_d": 8, + "best_family": "greedy+anneal", + "beats_table_lower": false, + "best_generator": [ + [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 0, + 1, + 1, + 1 + ], + [ + 0, + 3, + 0, + 1, + 1, + 2, + 3, + 2, + 1, + 1, + 3, + 2, + 3, + 1, + 0, + 2, + 4 + ], + [ + 0, + 1, + 0, + 0, + 1, + 3, + 1, + 3, + 0, + 4, + 1, + 1, + 1, + 0, + 0, + 4, + 4 + ], + [ + 4, + 1, + 1, + 1, + 4, + 4, + 1, + 1, + 3, + 4, + 0, + 3, + 1, + 4, + 0, + 1, + 0 + ], + [ + 1, + 2, + 4, + 3, + 3, + 3, + 0, + 1, + 2, + 2, + 2, + 2, + 0, + 1, + 3, + 0, + 2 + ], + [ + 2, + 3, + 3, + 2, + 2, + 1, + 3, + 3, + 1, + 3, + 2, + 1, + 4, + 2, + 3, + 4, + 0 + ], + [ + 0, + 1, + 3, + 2, + 2, + 3, + 2, + 3, + 0, + 4, + 2, + 1, + 0, + 1, + 3, + 0, + 4 + ] + ], + "best_gfq": { + "n": 17, + "k": 7, + "d": 8, + "lower_bound": 8, + "upper_bound": 8, + "complete": true, + "method": "brute", + "enumerated": 19531, + "codeword_certificate": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 3, + 2, + 3, + 4, + 3, + 2, + 3, + 0 + ] + }, + "wall_seconds": 29.79, + "cli_certificate_file": "best/q5_n17_k7_d8.gfq.json", + "cli_certificate_ok": true, + "second_passes": [ + { + "seed": 777001, + "seconds_budget": 45.0, + "runs": [ + { + "steps": 28618, + "accepted": 95, + "final_penalty": 29, + "spectrum_min": 8, + "seed": "from_best" + }, + { + "steps": 33336, + "accepted": 147, + "final_penalty": 32, + "spectrum_min": 8, + "seed": "greedy" + } + ], + "best_gfq_d_after": 8 + } + ] + }, + { + "q": 5, + "n": 18, + "k": 9, + "table_lower": 7, + "table_upper": 8, + "table_date": "2026-10-18", + "target_d": 8, + "families": [ + { + "family": "random", + "samples": 9, + "spectrum_min_best": 6, + "gfq_d": 6 + }, + { + "family": "greedy+anneal", + "restarts": [ + { + "steps": 422, + "accepted": 38, + "final_penalty": 68, + "spectrum_min": 6, + "seed": "greedy" + }, + { + "steps": 346, + "accepted": 33, + "final_penalty": 68, + "spectrum_min": 6, + "seed": "random" + }, + { + "steps": 100, + "accepted": 13, + "final_penalty": 79, + "spectrum_min": 6, + "seed": "greedy" + }, + { + "steps": 51, + "accepted": 11, + "final_penalty": 79, + "spectrum_min": 6, + "seed": "random" + }, + { + "steps": 50, + "accepted": 11, + "final_penalty": 74, + "spectrum_min": 6, + "seed": "greedy" + } + ], + "total_steps": 969 + }, + { + "family": "cyclic+constacyclic", + "skipped": "q^k=1953125 > budget 600000", + "polys_tested": 0, + "divisors": 0 + }, + { + "family": "double_circulant_QC", + "samples": 51, + "spectrum_min": 7, + "gfq_d": 7 + }, + { + "family": "gfq.codes derivations", + "candidates_matching_target": 0, + "hits": [] + } + ], + "best_gfq_d": 7, + "best_family": "double_circulant_QC", + "beats_table_lower": false, + "best_generator": [ + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 3, + 3, + 0, + 4, + 0, + 1, + 0, + 4 + ], + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 3, + 3, + 3, + 0, + 4, + 0, + 1, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 3, + 3, + 3, + 0, + 4, + 0, + 1 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 4, + 3, + 3, + 3, + 0, + 4, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 4, + 3, + 3, + 3, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 4, + 0, + 1, + 0, + 4, + 3, + 3, + 3, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 4, + 0, + 1, + 0, + 4, + 3, + 3, + 3 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 3, + 0, + 4, + 0, + 1, + 0, + 4, + 3, + 3 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 3, + 3, + 0, + 4, + 0, + 1, + 0, + 4, + 3 + ] + ], + "best_gfq": { + "n": 18, + "k": 9, + "d": 7, + "lower_bound": 7, + "upper_bound": 7, + "complete": true, + "method": "bz", + "enumerated": 2994, + "codeword_certificate": [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 3, + 3, + 0, + 4, + 0, + 1, + 0, + 4 + ] + }, + "wall_seconds": 42.27, + "cli_certificate_file": "best/q5_n18_k9_d7.gfq.json", + "cli_certificate_ok": true, + "second_passes": [ + { + "seed": 777001, + "seconds_budget": 45.0, + "runs": [ + { + "steps": 1055, + "accepted": 0, + "final_penalty": 54, + "spectrum_min": 7, + "seed": "from_best" + }, + { + "steps": 1080, + "accepted": 23, + "final_penalty": 57, + "spectrum_min": 7, + "seed": "greedy" + } + ], + "best_gfq_d_after": 7 + } + ] + } + ], + "phase2_cross_derivations": [ + { + "from": [ + 3, + 22, + 8 + ], + "derivation": "extend_parity", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[0]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[1]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[2]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[3]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[4]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[5]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[6]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[7]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[8]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[9]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[10]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[11]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[12]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[13]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[14]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[15]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[16]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[17]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 8 + ], + "derivation": "puncture[22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "extend_parity", + "to": [ + 3, + 24, + 9 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[0]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[1]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[2]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[3]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[4]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[5]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[6]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[7]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[8]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[9]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[10]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[11]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[12]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[13]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[14]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[15]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[16]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[17]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 23, + 9 + ], + "derivation": "shorten[22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[0]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[0]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[1]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[1]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[2]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[2]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[3]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[3]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[4]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[4]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[5]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[5]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[6]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[6]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[7]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[7]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[8]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[8]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[9]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[9]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[10]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[10]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[11]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[11]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[12]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[12]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[13]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[13]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[14]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[14]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[15]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[15]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[16]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[16]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[17]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[17]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[18]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[18]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[19]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[19]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[20]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[20]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[21]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[21]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[22]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[22]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "puncture[23]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 9 + ], + "derivation": "shorten[23]", + "to": [ + 3, + 23, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 10 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[5]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[6]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[7]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[8]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[9]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[10]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[11]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[12]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[13]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[14]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[15]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[16]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[17]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[18]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[19]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[20]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[21]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[22]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[23]", + "to": [ + 3, + 23, + 9 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,1]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,2]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,3]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,4]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,5]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,6]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,7]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,8]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,9]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,10]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,11]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,12]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,13]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,14]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,15]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,16]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,17]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[0,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,2]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,3]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,4]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,5]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,6]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,7]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,8]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,9]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,10]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,11]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,12]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,13]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,14]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,15]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,16]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,17]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[1,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,3]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,4]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,5]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,6]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,7]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,8]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,9]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,10]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,11]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,12]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,13]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,14]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,15]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,16]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,17]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[2,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,4]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,5]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,6]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,7]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,8]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,9]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,10]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,11]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,12]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,13]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,14]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,15]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,16]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,17]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[3,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4,5]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4,6]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4,7]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4,8]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4,9]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4,10]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4,11]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4,12]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4,13]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4,14]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4,15]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4,16]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4,17]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4,18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4,19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[4,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[5,6]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[5,7]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[5,8]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[5,9]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[5,10]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[5,11]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[5,12]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[5,13]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[5,14]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[5,15]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[5,16]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[5,17]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[5,18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[5,19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[5,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[5,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[5,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[5,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[6,7]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[6,8]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[6,9]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[6,10]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[6,11]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[6,12]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[6,13]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[6,14]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[6,15]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[6,16]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[6,17]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[6,18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[6,19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[6,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[6,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[6,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[6,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[7,8]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[7,9]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[7,10]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[7,11]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[7,12]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[7,13]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[7,14]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[7,15]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[7,16]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[7,17]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[7,18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[7,19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[7,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[7,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[7,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[7,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[8,9]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[8,10]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[8,11]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[8,12]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[8,13]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[8,14]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[8,15]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[8,16]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[8,17]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[8,18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[8,19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[8,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[8,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[8,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[8,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[9,10]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[9,11]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[9,12]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[9,13]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[9,14]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[9,15]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[9,16]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[9,17]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[9,18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[9,19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[9,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[9,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[9,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[9,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[10,11]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[10,12]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[10,13]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[10,14]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[10,15]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[10,16]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[10,17]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[10,18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[10,19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[10,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[10,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[10,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[10,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[11,12]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[11,13]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[11,14]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[11,15]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[11,16]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[11,17]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[11,18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[11,19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[11,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[11,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[11,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[11,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[12,13]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[12,14]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[12,15]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[12,16]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[12,17]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[12,18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[12,19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[12,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[12,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[12,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[12,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[13,14]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[13,15]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[13,16]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[13,17]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[13,18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[13,19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[13,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[13,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[13,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[13,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[14,15]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[14,16]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[14,17]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[14,18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[14,19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[14,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[14,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[14,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[14,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[15,16]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[15,17]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[15,18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[15,19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[15,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[15,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[15,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[15,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[16,17]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[16,18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[16,19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[16,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[16,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[16,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[16,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[17,18]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[17,19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[17,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[17,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[17,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[17,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[18,19]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[18,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[18,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[18,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[18,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[19,20]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[19,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[19,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[19,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[20,21]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[20,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[20,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[21,22]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[21,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 3, + 24, + 10 + ], + "derivation": "shorten[22,23]", + "to": [ + 3, + 22, + 8 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[0]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[1]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[2]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[3]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[4]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[5]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[6]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[7]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[8]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[9]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[10]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[11]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[12]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[13]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[14]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[15]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[16]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[17]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[18]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 20, + 9 + ], + "derivation": "shorten[19]", + "to": [ + 4, + 19, + 8 + ], + "gfq_d": 7, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[0]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[1]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[2]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[3]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[4]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[5]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[6]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[7]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[8]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[9]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[10]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[11]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[12]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[13]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[14]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[15]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[16]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[17]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[18]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 23, + 7 + ], + "derivation": "shorten[22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[5]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[6]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[7]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[8]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[9]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[10]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[11]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[12]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[13]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[14]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[15]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[16]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[17]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[18]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[19]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[20]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[21]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[22]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[23]", + "to": [ + 4, + 23, + 7 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 11 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,1]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,2]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,3]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,4]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,5]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,6]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,7]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,8]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,9]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,10]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,11]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,12]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,13]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,14]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,15]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,16]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,17]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,18]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[0,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,2]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,3]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,4]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,5]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,6]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,7]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,8]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,9]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,10]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,11]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,12]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,13]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,14]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,15]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,16]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,17]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,18]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[1,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,3]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,4]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,5]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,6]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,7]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,8]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,9]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,10]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,11]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,12]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,13]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,14]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,15]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,16]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,17]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,18]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[2,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,4]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,5]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,6]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,7]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,8]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,9]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,10]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,11]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,12]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,13]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,14]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,15]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,16]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,17]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,18]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[3,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4,5]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4,6]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4,7]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4,8]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4,9]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4,10]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4,11]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4,12]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4,13]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4,14]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4,15]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4,16]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4,17]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4,18]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4,19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[4,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[5,6]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[5,7]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[5,8]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[5,9]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[5,10]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[5,11]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[5,12]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[5,13]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[5,14]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[5,15]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[5,16]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[5,17]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[5,18]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[5,19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[5,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[5,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[5,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[5,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[6,7]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[6,8]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[6,9]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[6,10]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[6,11]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[6,12]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[6,13]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[6,14]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[6,15]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[6,16]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[6,17]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[6,18]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[6,19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[6,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[6,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[6,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[6,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[7,8]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[7,9]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[7,10]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[7,11]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[7,12]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[7,13]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[7,14]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[7,15]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[7,16]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[7,17]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[7,18]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[7,19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[7,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[7,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[7,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[7,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[8,9]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[8,10]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[8,11]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[8,12]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[8,13]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[8,14]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[8,15]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[8,16]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[8,17]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[8,18]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[8,19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[8,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[8,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[8,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[8,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[9,10]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[9,11]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[9,12]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[9,13]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[9,14]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[9,15]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[9,16]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[9,17]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[9,18]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[9,19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[9,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[9,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[9,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[9,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[10,11]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[10,12]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[10,13]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[10,14]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[10,15]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[10,16]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[10,17]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[10,18]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[10,19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[10,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[10,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[10,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[10,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[11,12]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[11,13]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[11,14]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[11,15]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[11,16]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[11,17]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[11,18]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[11,19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[11,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[11,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[11,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[11,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[12,13]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[12,14]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[12,15]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[12,16]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[12,17]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[12,18]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[12,19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[12,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[12,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[12,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[12,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[13,14]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[13,15]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[13,16]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[13,17]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[13,18]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[13,19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[13,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[13,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[13,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[13,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[14,15]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[14,16]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[14,17]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[14,18]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[14,19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[14,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[14,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[14,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[14,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[15,16]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[15,17]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[15,18]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[15,19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[15,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[15,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[15,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[15,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[16,17]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[16,18]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[16,19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[16,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[16,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[16,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[16,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[17,18]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[17,19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[17,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[17,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[17,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[17,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[18,19]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[18,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[18,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[18,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[18,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[19,20]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[19,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[19,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[19,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[20,21]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[20,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[20,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[21,22]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[21,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 4, + 24, + 8 + ], + "derivation": "shorten[22,23]", + "to": [ + 4, + 22, + 6 + ], + "gfq_d": 11, + "complete": true, + "previous_best": 12 + }, + { + "from": [ + 5, + 16, + 6 + ], + "derivation": "extend_parity", + "to": [ + 5, + 17, + 6 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "puncture[0]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "shorten[0]", + "to": [ + 5, + 16, + 5 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "puncture[1]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "shorten[1]", + "to": [ + 5, + 16, + 5 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "puncture[2]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "shorten[2]", + "to": [ + 5, + 16, + 5 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "puncture[3]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "shorten[3]", + "to": [ + 5, + 16, + 5 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "puncture[4]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "shorten[4]", + "to": [ + 5, + 16, + 5 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "puncture[5]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "shorten[5]", + "to": [ + 5, + 16, + 5 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "puncture[6]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "shorten[6]", + "to": [ + 5, + 16, + 5 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "puncture[7]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "shorten[7]", + "to": [ + 5, + 16, + 5 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "puncture[8]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "shorten[8]", + "to": [ + 5, + 16, + 5 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "puncture[9]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "shorten[9]", + "to": [ + 5, + 16, + 5 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "puncture[10]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "shorten[10]", + "to": [ + 5, + 16, + 5 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "puncture[11]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "shorten[11]", + "to": [ + 5, + 16, + 5 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "puncture[12]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "shorten[12]", + "to": [ + 5, + 16, + 5 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "puncture[13]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "shorten[13]", + "to": [ + 5, + 16, + 5 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "puncture[14]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "shorten[14]", + "to": [ + 5, + 16, + 5 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "puncture[15]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "shorten[15]", + "to": [ + 5, + 16, + 5 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "puncture[16]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 6 + ], + "derivation": "shorten[16]", + "to": [ + 5, + 16, + 5 + ], + "gfq_d": 9, + "complete": true, + "previous_best": 9 + }, + { + "from": [ + 5, + 17, + 7 + ], + "derivation": "shorten[0]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 7 + ], + "derivation": "shorten[1]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 7 + ], + "derivation": "shorten[2]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 7 + ], + "derivation": "shorten[3]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 7 + ], + "derivation": "shorten[4]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 7 + ], + "derivation": "shorten[5]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 7 + ], + "derivation": "shorten[6]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 7 + ], + "derivation": "shorten[7]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 7 + ], + "derivation": "shorten[8]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 7 + ], + "derivation": "shorten[9]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 7 + ], + "derivation": "shorten[10]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 7 + ], + "derivation": "shorten[11]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 7 + ], + "derivation": "shorten[12]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 7 + ], + "derivation": "shorten[13]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 7 + ], + "derivation": "shorten[14]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 7 + ], + "derivation": "shorten[15]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + }, + { + "from": [ + 5, + 17, + 7 + ], + "derivation": "shorten[16]", + "to": [ + 5, + 16, + 6 + ], + "gfq_d": 8, + "complete": true, + "previous_best": 8 + } + ] +} \ No newline at end of file diff --git a/results/codetables/search.py b/results/codetables/search.py new file mode 100644 index 0000000..e387d1d --- /dev/null +++ b/results/codetables/search.py @@ -0,0 +1,730 @@ +"""Attack ~15 smallest-gap open codetables.de entries over GF(3)/GF(4)/GF(5). + +Targets (TARGETS below) were picked from a live regeneration of the census +in data/codetables/ on 2026-10-18 (counts identical to the committed +census-2026-10-18.json). Only these specific (q,n,k,lb,ub) entries are +committed here; Grassl's full tables are NOT (regenerate them locally with +data/codetables/census.py --csv). + +Search families, per target: + 1. random generator matrices (random projective column multisets); + 2. greedy column augmentation + simulated-annealing column swaps, + scored on the *exact* weight spectrum over all messages + (the Spectrum class: for a column multiset C, the codeword weight + for message u is #{c in C : u.c != 0}; the minimum over all + normalised u is the exact minimum distance of that code, provided + the columns span GF(q)^k, which is checked separately); + 3. cyclic and constacyclic codes: every monic generator polynomial + g of degree n-k with g | x^n - lambda, when q^(n-k) is within budget; + 4. double-circulant codes [I | Circ(a)] when n = 2k (random a); + 5. shortening / puncturing / parity-extending the classical codes in + gfq.codes, and (phase 2) the best codes found here for neighbouring + parameters. + +Every candidate that is *reported* (best per family and best overall per +target) is re-verified independently with gfq's exact checker +(gfq.min_distance, and the gfq CLI for the best overall). The spectrum +score is used only to guide the search; no claim rests on it alone. + +Usage: + python3 results/codetables/search.py [--seconds 25] [--seed 20261018] + [--only 5,16,5] [--quick] +Writes results.json (checkpointed after each target), best matrices and +gfq CLI certificates under results/codetables/. +""" +from __future__ import annotations + +import argparse +import json +import math +import os +import random +import subprocess +import sys +import time + +import numpy as np + +sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..")) + +from gfq import GF, min_distance # noqa: E402 +from gfq.codes import (hamming_generator, reed_solomon_generator, # noqa: E402 + repetition_generator, single_parity_generator, + ternary_golay_generator) +from gfq.matrix import combine, nullspace_basis, rank, rref # noqa: E402 + +TABLE_DATE = "2026-10-18" +TABLE_SOURCE = "https://www.codetables.de/BKLC/ (Markus Grassl), Tables_color.php per field" + +# (q, n, k, lower_bound, upper_bound) -- all gap 1 on TABLE_DATE, smallest n +# per field with k <= 10 so exact verification stays fast. The GF(5) +# (18,9) entry is included (instead of (18,7)) so that the double-circulant +# family (n = 2k) is exercised on at least one target. +TARGETS = [ + (3, 22, 8, 9, 10), (3, 23, 8, 10, 11), (3, 23, 9, 9, 10), + (3, 24, 9, 10, 11), (3, 24, 10, 9, 10), + (4, 19, 8, 8, 9), (4, 20, 9, 8, 9), (4, 22, 6, 12, 13), + (4, 23, 7, 12, 13), (4, 24, 8, 12, 13), + (5, 16, 5, 9, 10), (5, 16, 6, 8, 9), (5, 17, 6, 9, 10), + (5, 17, 7, 8, 9), (5, 18, 9, 7, 8), +] + +HERE = os.path.dirname(os.path.abspath(__file__)) + + +# -------------------------------------------------------------------------- +# Exact weight spectrum over all messages (search scoring only) +# -------------------------------------------------------------------------- +class Spectrum: + def __init__(self, q: int, k: int): + self.F = GF(q) + self.q, self.k = q, k + self.add = np.array(self.F._add, dtype=np.int64) + self.mul = np.array(self.F._mul, dtype=np.int64) + N = q ** k + V = np.zeros((N, k), dtype=np.int16) + tmp = np.arange(N, dtype=np.int64) + for i in range(k): + V[:, i] = tmp % q + tmp //= q + seen_nz = np.zeros(N, dtype=bool) + first_is_one = np.ones(N, dtype=bool) + for i in range(k): + col = V[:, i] + first_here = (~seen_nz) & (col != 0) + first_is_one &= ~(first_here & (col != 1)) + seen_nz |= col != 0 + mask = seen_nz & first_is_one + self.U = V[mask].astype(np.int64) # one msg per scalar class + self.P = self.U # projective points (column reps) + self.M = len(self.U) + self._p_index = {tuple(r): i for i, r in enumerate(self.P.tolist())} + + def dot_nz(self, c) -> np.ndarray: + acc = np.zeros(self.M, dtype=np.int64) + for i in range(self.k): + if c[i]: + acc = self.add[acc, self.mul[self.U[:, i], int(c[i])]] + return acc != 0 + + def weights(self, cols) -> np.ndarray: + W = np.zeros(self.M, dtype=np.int64) + for c in cols: + W += self.dot_nz(c) + return W + + def normalize_col(self, c): + """Projective representative (first nonzero entry scaled to 1).""" + c = list(c) + for i, a in enumerate(c): + if a: + inv = self.F.inv(a) + return tuple(self.F.mul(inv, x) for x in c) + return None # zero column: useless, dropped by caller + + +def penalty(W: np.ndarray, target: int) -> int: + short = np.maximum(0, target - W) + return int((short * short).sum()) + + +def cols_to_matrix(cols, k: int): + return [[int(cols[j][i]) for j in range(len(cols))] for i in range(k)] + + +def matrix_to_cols(G): + k, n = len(G), len(G[0]) + return [tuple(G[i][j] for i in range(k)) for j in range(n)] + + +# -------------------------------------------------------------------------- +# Random + greedy + anneal (all scored on the exact spectrum) +# -------------------------------------------------------------------------- +def random_cols(sp: Spectrum, n: int, rng: random.Random): + return [tuple(sp.P[rng.randrange(sp.M)].tolist()) for _ in range(n)] + + +def greedy_cols(sp: Spectrum, n: int, target: int, rng: random.Random, + pool: int | None = None): + if pool is None: # ~2 s of dot products, any spectrum size + pool = max(6, min(120, int(2.0 / (sp.M * 35e-9) / n))) + cols, W = [], np.zeros(sp.M, dtype=np.int64) + for _ in range(n): + best_c, best_score = None, None + for _ in range(pool): + c = tuple(sp.P[rng.randrange(sp.M)].tolist()) + score = int(np.minimum(W + sp.dot_nz(c), target).sum()) + if best_score is None or score > best_score: + best_c, best_score = c, score + cols.append(best_c) + W += sp.dot_nz(best_c) + return cols + + +def anneal(sp: Spectrum, cols, target: int, seconds: float, + rng: random.Random): + """Simulated annealing on column swaps. Returns (cols, stats).""" + cols = list(cols) + nz = [sp.dot_nz(c) for c in cols] + W = np.zeros(sp.M, dtype=np.int64) + for v in nz: + W += v + pen = penalty(W, target) + best_cols, best_pen = list(cols), pen + best_min = int(W.min()) + steps = accepted = 0 + t0 = time.time() + temp = 2.0 + while time.time() - t0 < seconds: + steps += 1 + j = rng.randrange(len(cols)) + if rng.random() < 0.5: + # guided: pick a low-weight message, propose a column it sees + low = np.flatnonzero(W <= W.min() + 1) + u = sp.U[int(low[rng.randrange(len(low))])] + for _ in range(20): + c = tuple(sp.P[rng.randrange(sp.M)].tolist()) + acc = 0 + for i in range(sp.k): + acc = sp.F.add(acc, sp.F.mul(int(u[i]), c[i])) + if acc != 0: + break + else: + c = tuple(sp.P[rng.randrange(sp.M)].tolist()) + new_nz = sp.dot_nz(c) + W2 = W - nz[j] + new_nz + pen2 = penalty(W2, target) + if pen2 <= pen or rng.random() < math.exp(-(pen2 - pen) / temp): + cols[j], nz[j], W, pen = c, new_nz, W2, pen2 + accepted += 1 + m = int(W.min()) + if pen < best_pen or (pen == best_pen and m > best_min): + best_cols, best_pen, best_min = list(cols), pen, m + if pen == 0: + break + temp = max(0.05, temp * 0.9995) + if steps % 4000 == 0: + temp = 1.0 # periodic reheat + return best_cols, {"steps": steps, "accepted": accepted, + "final_penalty": best_pen, "spectrum_min": best_min} + + +# -------------------------------------------------------------------------- +# Cyclic / constacyclic exhaustive (budgeted), double-circulant random +# -------------------------------------------------------------------------- +def _poly_divmod(a, mod, F: GF): + """(quotient, remainder) of a / mod, polynomials low -> high.""" + a = list(a) + dm = len(mod) - 1 + while dm > 0 and mod[dm] == 0: + dm -= 1 + quot = [0] * max(1, len(a) - dm) + d = len(a) - 1 + while d >= dm: + if a[d]: + c = F.div(a[d], mod[dm]) + quot[d - dm] = c + for j in range(dm + 1): + a[d - dm + j] = F.sub(a[d - dm + j], F.mul(c, mod[j])) + d -= 1 + rem = a[:dm] if dm else [0] + while len(quot) > 1 and quot[-1] == 0: + quot.pop() + return quot, rem + + +def cyclic_search(sp: Spectrum, n: int, k: int, budget: int = 600_000): + """All cyclic/constacyclic [n,k] codes, via their check polynomials. + + Enumerates every monic h of degree k; h is the check polynomial of a + (consta)cyclic code of dimension k iff h | x^n - lambda for some + lambda != 0, in which case the generator polynomial is + g = (x^n - lambda)/h. One division per h suffices: with + (x^n - 1) = h*g + r, we have h | x^n - lambda iff r is the constant + polynomial lambda - 1 (and then the same g is the quotient). + Exhaustive when q^k <= budget, else skipped with a stated reason. + """ + F, q = sp.F, sp.q + total = q ** k + if total > budget: + return None, {"skipped": f"q^k={total} > budget {budget}", + "polys_tested": 0, "divisors": 0} + xn1 = [0] * (n + 1) + xn1[0] = F.neg(1) + xn1[n] = 1 + best, best_min, tested, divisors = None, -1, 0, 0 + for code in range(total): + h, tmp = [], code + for _ in range(k): + h.append(tmp % q) + tmp //= q + h.append(1) + tested += 1 + g, r = _poly_divmod(xn1, h, F) + if any(r[1:]): + continue # no lambda makes h a divisor + lam = F.add(r[0], 1) if r else 1 + if lam == 0: + continue + divisors += 1 + G = [] + for i in range(k): + row = [0] * i + list(g) + [0] * (n - i - len(g)) + G.append(row[:n]) + cols = matrix_to_cols(G) + d = int(sp.weights(cols).min()) + if d > best_min: + best, best_min = cols, d + return best, {"polys_tested": tested, "divisors": divisors, + "spectrum_min": best_min} + + +def double_circulant_search(sp: Spectrum, n: int, k: int, + rng: random.Random, samples: int = 3000): + if n != 2 * k: + return None, {"skipped": "needs n = 2k", "samples": 0} + F, q = sp.F, sp.q + best, best_min, done = None, -1, 0 + t0 = time.time() + for _ in range(samples): + if done and time.time() - t0 > 10.0: + break + done += 1 + a = [rng.randrange(q) for _ in range(k)] + G = [] + for i in range(k): + row = [1 if j == i else 0 for j in range(k)] + row += [a[(j - i) % k] for j in range(k)] + G.append(row) + cols = matrix_to_cols(G) + d = int(sp.weights(cols).min()) + if d > best_min: + best, best_min = cols, d + return best, {"samples": done, "spectrum_min": best_min} + + +# -------------------------------------------------------------------------- +# Derivations: puncture / shorten / parity-extend +# -------------------------------------------------------------------------- +def puncture(G, F: GF, drop): + keep = [j for j in range(len(G[0])) if j not in set(drop)] + rows, _ = rref([[row[j] for j in keep] for row in G], F) + return rows + + +def shorten(G, F: GF, coords, basis=None): + if basis is None: + basis, _ = rref(G, F) + k = len(basis) + H = [[basis[j][s] for j in range(k)] for s in coords] # |S| x k + msgs = nullspace_basis(H, F) + if not msgs: + return [] + keep = [j for j in range(len(G[0])) if j not in set(coords)] + rows = [[combine(basis, u, F)[j] for j in keep] for u in msgs] + rows, _ = rref(rows, F) + return rows + + +def extend_parity(G, F: GF): + out = [] + for row in G: + s = 0 + for a in row: + s = F.add(s, a) + out.append(list(row) + [F.neg(s)]) + return out + + +def derivations(G, F: GF): + """Yield (label, matrix) for 1- and 2-coordinate derivations.""" + n = len(G[0]) + basis, _ = rref(G, F) + yield "extend_parity", extend_parity(G, F) + for a in range(n): + yield f"puncture[{a}]", puncture(G, F, [a]) + s = shorten(G, F, [a], basis) + if s: + yield f"shorten[{a}]", s + for a in range(n): + for b in range(a + 1, n): + yield f"puncture[{a},{b}]", puncture(G, F, [a, b]) + s = shorten(G, F, [a, b], basis) + if s: + yield f"shorten[{a},{b}]", s + + +def seed_codes(q: int): + """Classical codes from gfq.codes over GF(q): (label, matrix).""" + F = GF(q) + out = [] + for r in (2, 3): + try: + out.append((f"hamming_r{r}", hamming_generator(F, r))) + except ValueError: + pass + for n in range(2, q + 1): + for k in range(1, n + 1): + out.append((f"reed_solomon[{n},{k}]", + reed_solomon_generator(F, n, k))) + if q == 3: + out.append(("ternary_golay[11,6]", ternary_golay_generator(False))) + out.append(("ternary_golay_ext[12,6]", ternary_golay_generator(True))) + for n in range(2, 30): + out.append((f"repetition[{n},1]", repetition_generator(F, n))) + out.append((f"single_parity[{n},{n-1}]", + single_parity_generator(F, n))) + return out + + +# -------------------------------------------------------------------------- +# Independent verification with gfq (the only basis for reported d) +# -------------------------------------------------------------------------- +def verify_with_gfq(G, q: int): + F = GF(q) + res = min_distance(G, F, method="auto") + return {"n": res.n, "k": res.k, "d": res.d, + "lower_bound": res.lower_bound, "upper_bound": res.upper_bound, + "complete": res.complete, "method": res.method, + "enumerated": res.enumerated, + "codeword_certificate": res.codeword} + + +def write_matrix(path, G): + with open(path, "w") as fh: + for row in G: + fh.write(" ".join(str(a) for a in row) + "\n") + + +def cli_certificate(G, q: int, stem: str): + """Save matrix + `python3 -m gfq --json` output; return parsed JSON.""" + mpath = os.path.join(HERE, stem + ".txt") + write_matrix(mpath, G) + proc = subprocess.run( + [sys.executable, "-m", "gfq", "--q", str(q), "--json", mpath], + capture_output=True, text=True, + cwd=os.path.join(HERE, "..", "..")) + cert = {"command": f"python3 -m gfq --q {q} --json {stem}.txt", + "exit_code": proc.returncode, "stdout": proc.stdout, + "stderr": proc.stderr} + with open(os.path.join(HERE, stem + ".gfq.json"), "w") as fh: + json.dump(cert, fh, indent=1) + try: + cert["parsed"] = json.loads(proc.stdout) + except json.JSONDecodeError: + cert["parsed"] = None + return cert + + +def consider(best: dict, family: str, G, q: int, k_want: int, stats: dict): + """gfq-verify a family-best candidate; keep it if it beats `best`.""" + if G is None or not G or not G[0]: + return best, None + F = GF(q) + if rank(G, F) != k_want: + return best, {"family": family, "rejected": "rank != k", + "stats": stats} + ver = verify_with_gfq(G, q) + rec = {"family": family, "stats": stats, "gfq": ver, + "generator": [[int(a) for a in row] for row in G]} + if ver["complete"] and (best is None or ver["d"] > best["gfq"]["d"]): + return rec, rec + return best, rec + + +# -------------------------------------------------------------------------- +# Per-target driver +# -------------------------------------------------------------------------- +def run_target(t, seconds: float, rng: random.Random, derived_hits: dict): + q, n, k, lb, ub = t + target = lb + 1 + print(f"== GF({q}) [{n},{k}] table {lb}-{ub}, attacking d>={target}", + flush=True) + t0 = time.time() + sp = Spectrum(q, k) + families = [] + best = None + + # 1. random baseline (200 samples or ~3 s, whichever first) + rbest, rbest_min, n_random = None, -1, 0 + rt0 = time.time() + while n_random < 200 and (n_random == 0 or time.time() - rt0 < 3.0): + n_random += 1 + cols = random_cols(sp, n, rng) + d = int(sp.weights(cols).min()) + if d > rbest_min: + rbest, rbest_min = cols, d + families.append({"family": "random", "samples": n_random, + "spectrum_min_best": rbest_min}) + best, rec = consider(best, "random", cols_to_matrix(rbest, k), q, k, + families[-1]) + if rec and "gfq" in rec: + families[-1]["gfq_d"] = rec["gfq"]["d"] + + # 2. greedy + anneal restarts within the time budget + restarts = [] + deadline = time.time() + seconds + r = 0 + while time.time() < deadline: + r += 1 + seed_cols = (greedy_cols(sp, n, target, rng) if r % 2 == 1 + else random_cols(sp, n, rng)) + slice_s = max(1.0, (deadline - time.time()) / 2) + cols, stats = anneal(sp, seed_cols, target, + min(slice_s, max(1.0, seconds / 3)), rng) + stats["seed"] = "greedy" if r % 2 == 1 else "random" + restarts.append(stats) + best, rec = consider(best, "greedy+anneal", + cols_to_matrix(cols, k), q, k, stats) + if best and best["gfq"]["d"] >= target: + break + if r >= 6: + break + fam = {"family": "greedy+anneal", "restarts": restarts, + "total_steps": sum(s["steps"] for s in restarts)} + families.append(fam) + + # 3. cyclic / constacyclic + cols, stats = cyclic_search(sp, n, k) + fam = {"family": "cyclic+constacyclic", **stats} + families.append(fam) + if cols is not None: + best, rec = consider(best, "cyclic+constacyclic", + cols_to_matrix(cols, k), q, k, stats) + if rec and "gfq" in rec: + fam["gfq_d"] = rec["gfq"]["d"] + + # 4. double-circulant (n = 2k only) + cols, stats = double_circulant_search(sp, n, k, rng) + fam = {"family": "double_circulant_QC", **stats} + families.append(fam) + if cols is not None: + best, rec = consider(best, "double_circulant_QC", + cols_to_matrix(cols, k), q, k, stats) + if rec and "gfq" in rec: + fam["gfq_d"] = rec["gfq"]["d"] + + # 5a. derivations of gfq.codes seeds that land on this target + hits = derived_hits.get((q, n, k), []) + fam = {"family": "gfq.codes derivations", + "candidates_matching_target": len(hits), "hits": []} + for label, G in hits: + best, rec = consider(best, f"derived:{label}", G, q, k, {}) + if rec and "gfq" in rec: + fam["hits"].append({"derivation": label, + "gfq_d": rec["gfq"]["d"]}) + families.append(fam) + + result = {"q": q, "n": n, "k": k, "table_lower": lb, "table_upper": ub, + "table_date": TABLE_DATE, "target_d": target, + "families": families, + "best_gfq_d": best["gfq"]["d"] if best else None, + "best_family": best["family"] if best else None, + "beats_table_lower": bool(best and best["gfq"]["complete"] + and best["gfq"]["d"] > lb), + "best_generator": best["generator"] if best else None, + "best_gfq": best["gfq"] if best else None, + "wall_seconds": round(time.time() - t0, 2)} + print(f" best gfq d = {result['best_gfq_d']} via " + f"{result['best_family']} (table lb {lb}) " + f"in {result['wall_seconds']}s", flush=True) + return result + + +def second_pass(seconds: float, seed: int): + """Longer annealing from each target's recorded best code, new seed. + + Updates results.json in place (checkpointed per target); a target's + best code/certificate is replaced only on a gfq-verified improvement. + """ + out_path = os.path.join(HERE, "results.json") + out = json.load(open(out_path)) + rng = random.Random(seed) + for r in out["targets"]: + q, n, k, lb = r["q"], r["n"], r["k"], r["table_lower"] + target = lb + 1 + sp = Spectrum(q, k) + stats = {"seed": seed, "seconds_budget": seconds, "runs": []} + starts = [] + if r["best_generator"]: + cols = [] + for c in matrix_to_cols(r["best_generator"]): + nc = sp.normalize_col(c) + cols.append(nc if nc is not None + else tuple(sp.P[rng.randrange(sp.M)].tolist())) + starts.append(("from_best", cols)) + starts.append(("greedy", greedy_cols(sp, n, target, rng))) + best = {"gfq": r["best_gfq"], "generator": r["best_generator"], + "family": r["best_family"]} + for label, seed_cols in starts: + cols, st = anneal(sp, seed_cols, target, + seconds / len(starts), rng) + st["seed"] = label + stats["runs"].append(st) + best, _ = consider(best, f"second_pass:{label}", + cols_to_matrix(cols, k), q, k, st) + if best["gfq"]["d"] >= target: + break + stats["best_gfq_d_after"] = best["gfq"]["d"] + r.setdefault("second_passes", []).append(stats) + if best["gfq"]["d"] > r["best_gfq_d"]: + import glob + for old in glob.glob(os.path.join( + HERE, "best", f"q{q}_n{n}_k{k}_d*")): + os.remove(old) + r["best_gfq_d"] = best["gfq"]["d"] + r["best_family"] = best["family"] + r["best_generator"] = best["generator"] + r["best_gfq"] = best["gfq"] + r["beats_table_lower"] = best["gfq"]["d"] > lb + stem = f"best/q{q}_n{n}_k{k}_d{best['gfq']['d']}" + cert = cli_certificate(best["generator"], q, stem) + r["cli_certificate_file"] = stem + ".gfq.json" + r["cli_certificate_ok"] = bool( + cert["parsed"] and cert["parsed"].get("complete") + and cert["parsed"].get("d") == best["gfq"]["d"] + and cert["parsed"].get("certificate_checked")) + if r["beats_table_lower"]: + istem = f"improvements/q{q}_n{n}_k{k}_d{best['gfq']['d']}" + cli_certificate(best["generator"], q, istem) + r["improvement_certificate_file"] = istem + ".gfq.json" + with open(out_path, "w") as fh: + json.dump(out, fh, indent=1) + print(f"second pass GF({q}) [{n},{k}]: best d = " + f"{r['best_gfq_d']} (table lb {lb})", flush=True) + + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument("--seconds", type=float, default=25.0, + help="annealing budget per target") + ap.add_argument("--seed", type=int, default=20261018) + ap.add_argument("--only", help="single target as q,n,k") + ap.add_argument("--quick", action="store_true", + help="tiny budgets, for a smoke test") + ap.add_argument("--second-pass", action="store_true", + help="anneal longer from recorded best codes, then exit") + args = ap.parse_args() + if args.second_pass: + second_pass(args.seconds, args.seed) + return + if args.quick: + args.seconds = 2.0 + rng = random.Random(args.seed) + targets = TARGETS + if args.only: + want = tuple(int(x) for x in args.only.split(",")) + targets = [t for t in TARGETS if t[:3] == want] + assert targets, f"no target {want}" + + # Phase 0: gfq.codes derivations toward targets. A seed [n0,k0] can + # only reach (n0+1,k0), (n0-1,k0/k0-1), (n0-2,k0/k0-1/k0-2) by the + # derivations above, so seeds outside that parameter reach of every + # target are excluded by parameter arithmetic alone (counted, not + # silently dropped); reachable seeds get full matrix derivations. + derived_hits = {} + derived_total = {} + target_keys = {(t[0], t[1], t[2]) for t in TARGETS} + for q in sorted({t[0] for t in targets}): + F = GF(q) + seeds = seed_codes(q) + generated = reachable = 0 + for label, G in seeds: + n0, k0 = len(G[0]), rank(G, F) + reach = {(q, n0 + 1, k0), (q, n0 - 1, k0), (q, n0 - 1, k0 - 1), + (q, n0 - 2, k0), (q, n0 - 2, k0 - 1), + (q, n0 - 2, k0 - 2), (q, n0, k0)} + if not (reach & target_keys): + continue + reachable += 1 + for dlabel, D in derivations(G, F): + if not D or not D[0]: + continue + generated += 1 + key = (q, len(D[0]), rank(D, F)) + if key in target_keys: + derived_hits.setdefault(key, []).append( + (f"{label} -> {dlabel}", D)) + derived_total[str(q)] = { + "seeds_examined": len(seeds), + "seeds_within_derivation_reach_of_a_target": reachable, + "derived_matrices_generated": generated} + print(f"GF({q}): {len(seeds)} seeds, {reachable} within reach, " + f"{generated} derivations, " + f"{sum(len(v) for kk, v in derived_hits.items() if kk[0] == q)}" + " match a target", flush=True) + + out_path = os.path.join(HERE, "results.json") + out = {"table_date": TABLE_DATE, "table_source": TABLE_SOURCE, + "seed": args.seed, "seconds_per_target": args.seconds, + "derived_seed_matrices_generated": derived_total, + "targets": []} + if os.path.exists(out_path) and not args.only: + pass # fresh run overwrites; see git history + for t in targets: + out["targets"].append(run_target(t, args.seconds, rng, + derived_hits)) + with open(out_path, "w") as fh: # checkpoint per target + json.dump(out, fh, indent=1) + + # Phase 2: derive from best-found codes toward neighbouring targets, + # gfq-verify, keep genuine improvements over phase-1 best. + by_key = {(r["q"], r["n"], r["k"]): r for r in out["targets"]} + phase2 = [] + for r in list(out["targets"]): + if not r["best_generator"]: + continue + F = GF(r["q"]) + for dlabel, D in derivations(r["best_generator"], F): + if not D or not D[0]: + continue + key = (r["q"], len(D[0]), rank(D, F)) + tgt = by_key.get(key) + if tgt is None or tgt is r: + continue + ver = verify_with_gfq(D, r["q"]) + phase2.append({"from": [r["q"], r["n"], r["k"]], + "derivation": dlabel, "to": list(key), + "gfq_d": ver["d"], "complete": ver["complete"], + "previous_best": tgt["best_gfq_d"]}) + if ver["complete"] and ver["d"] > (tgt["best_gfq_d"] or -1): + tgt["best_gfq_d"] = ver["d"] + tgt["best_family"] = (f"phase2 derived:{dlabel} from " + f"[{r['n']},{r['k']}]") + tgt["best_generator"] = D + tgt["best_gfq"] = ver + tgt["beats_table_lower"] = ver["d"] > tgt["table_lower"] + out["phase2_cross_derivations"] = phase2 + print(f"phase 2: {len(phase2)} cross-derivations gfq-verified", + flush=True) + + # Certificates: CLI output for the best code of every target. + os.makedirs(os.path.join(HERE, "best"), exist_ok=True) + os.makedirs(os.path.join(HERE, "improvements"), exist_ok=True) + for r in out["targets"]: + if not r["best_generator"]: + continue + stem = f"best/q{r['q']}_n{r['n']}_k{r['k']}_d{r['best_gfq_d']}" + cert = cli_certificate(r["best_generator"], r["q"], stem) + r["cli_certificate_file"] = stem + ".gfq.json" + r["cli_certificate_ok"] = bool( + cert["parsed"] and cert["parsed"].get("complete") + and cert["parsed"].get("d") == r["best_gfq_d"] + and cert["parsed"].get("certificate_checked")) + if r["beats_table_lower"]: + istem = (f"improvements/q{r['q']}_n{r['n']}_k{r['k']}" + f"_d{r['best_gfq_d']}") + cli_certificate(r["best_generator"], r["q"], istem) + r["improvement_certificate_file"] = istem + ".gfq.json" + with open(out_path, "w") as fh: + json.dump(out, fh, indent=1) + beat = [r for r in out["targets"] if r["beats_table_lower"]] + print(f"DONE: {len(beat)} target(s) beat the table lower bound") + for r in out["targets"]: + print(f" GF({r['q']}) [{r['n']},{r['k']}] table " + f"{r['table_lower']}-{r['table_upper']} best found " + f"d={r['best_gfq_d']} ({r['best_family']})") + + +if __name__ == "__main__": + main()