From 5a55ab7f2dcc6345a04dfe251d5e2d3bc824a385 Mon Sep 17 00:00:00 2001 From: Ali Romman <226877337+aliromman@users.noreply.github.com> Date: Thu, 22 Oct 2026 23:16:39 -0500 Subject: [PATCH] Prove returned-register query floor and scoped clean-helper limits --- research/bit-clean-extra-register/README.md | 93 + .../SOURCE-MANIFEST.json | 143 + .../expected/all-basis-summary.json | 3170 ++++++++++++ .../expected/catalogue-audit.json | 71 + .../clean-zero-independent-order-result.json | 1 + .../expected/clean-zero-result.json | 46 + .../expected/selected-comparison.json | 2648 ++++++++++ research/bit-clean-extra-register/replay.log | 11 + .../replayed-receipt.json | 49 + .../review/REMOTE-PREDECESSORS.json | 26 + .../review/REVIEW.json | 144 + .../bit-clean-extra-register/review/REVIEW.md | 161 + .../review/REVIEWED-FILES.json | 145 + .../review/SOURCE-REVIEW.json | 223 + .../review/check_controls.py | 115 + .../review/check_reductions.json | 22 + .../review/check_reductions.py | 80 + .../review/controls.log | 1 + .../review/controls/receipt.json | 26 + .../review/eumemic-predecessor.txt | 380 ++ .../review/full-replay-runner.py | 167 + .../review/huxint-predecessor.txt | 355 ++ .../review/replay.log | 176 + .../review/replay/receipt.json | 49 + .../clean-ancilla/ALPHABETS.txt | 166 + .../clean-ancilla/RESULT.txt | 72 + .../clean-ancilla/run_two_bases.py | 40 + .../clean-ancilla/search.py | 84 + .../clean-ancilla/two_bases.cpp | 456 ++ .../clean-audit/PROOF-AUDIT.txt | 134 + .../clean-audit/selected_words.cpp | 23 + .../four-register/CLEAN-ONE-RELATION.txt | 140 + .../sources/four-register/CLEAN-SPAN-FOUR.txt | 86 + .../sources/four-register/F101-ARITHMETIC.txt | 64 + .../four-register/FINAL-CLEAN-REPORT.txt | 127 + .../sources/four-register/dirty_ancilla.py | 169 + .../check_clean_zero_orders.cpp | 96 + .../clean-zero-family-metadata.txt | 216 + .../independent/clean-zero/PROOF.txt | 99 + .../independent/clean-zero/field.cpp | 413 ++ .../independent/clean-zero/generate.py | 47 + .../independent/clean-zero/integer.cpp | 373 ++ research/bit-clean-extra-register/verify.py | 167 + .../bit-three-active-one-returned/AUDIT.txt | 323 ++ .../bit-three-active-one-returned/PROOF.txt | 168 + .../bit-three-active-one-returned/README.md | 108 + .../bit-three-active-one-returned/REPLAY.txt | 55 + .../SOURCE-MANIFEST.json | 167 + .../field101.cpp | 443 ++ .../bit-three-active-one-returned/generate.py | 259 + .../independent-receipt.json | 97 + .../independent-replay.log | 12 + .../work/four-register/DIRTY-MODEL.txt | 64 + .../work/four-register/F101-ARITHMETIC.txt | 64 + .../work/four-register/dirty_ancilla.py | 169 + .../work/four-register/dirty_f101_controls.py | 72 + .../work/four-register/dirty_h_alphabet.py | 106 + .../work/four-register/dirty_rank2.py | 49 + .../independent-audit/DIRTY-AUDIT.txt | 323 ++ .../independent-audit/PROOF-AUDIT.txt | 173 + .../independent-audit/check_input_binding.py | 73 + .../independent-audit/check_off_catalogue.py | 90 + .../independent-audit/check_rank2_orders.py | 79 + .../check_rank3_multisets.cpp | 126 + .../independent-audit/check_rank3_orders.cpp | 145 + .../independent/fraction-terminal-audit.json | 4314 +++++++++++++++++ .../independent/off_pattern_spaces.py | 50 + .../four-register/independent/rank2_binary.py | 49 + .../four-register/independent/rank3_data.py | 42 + .../multisets.cpp | 98 + .../bit-three-active-one-returned/orders.cpp | 116 + .../rational.cpp | 411 ++ .../receipt.json | 130 + .../bit-three-active-one-returned/replay.log | 6 + .../replayed-fraction-terminals.json | 4313 ++++++++++++++++ .../replayed-independent-receipt.json | 83 + .../replayed-receipt.json | 131 + .../review/CHECKED-FILES.json | 192 + .../review/CONTROLS.json | 24 + .../review/DEPENDENCY-AND-OVERLAP-PINS.json | 38 + .../review/ENVIRONMENT-GUARD.json | 6 + .../review/FRACTION-TERMINALS.json | 4313 ++++++++++++++++ .../review/INDEPENDENT-REPLAY-RECEIPT.json | 83 + .../review/PACKAGED-FRACTION-TERMINALS.json | 4313 ++++++++++++++++ .../review/REPLAY-RECEIPT.json | 132 + .../review/RESULT.json | 34 + .../review/REVIEW.txt | 191 + .../review/WRAPPER-FINDING.json | 11 + .../review/controls.py | 76 + .../review/environment_guard.py | 24 + .../review/fraction_terminals.py | 41 + .../review/independent-replay.log | 12 + .../review/replay.log | 6 + .../bit-three-active-one-returned/verify.py | 17 + .../verify_fraction_terminals.py | 44 + .../verify_independent.py | 98 + 96 files changed, 33837 insertions(+) create mode 100644 research/bit-clean-extra-register/README.md create mode 100644 research/bit-clean-extra-register/SOURCE-MANIFEST.json create mode 100644 research/bit-clean-extra-register/expected/all-basis-summary.json create mode 100644 research/bit-clean-extra-register/expected/catalogue-audit.json create mode 100644 research/bit-clean-extra-register/expected/clean-zero-independent-order-result.json create mode 100644 research/bit-clean-extra-register/expected/clean-zero-result.json create mode 100644 research/bit-clean-extra-register/expected/selected-comparison.json create mode 100644 research/bit-clean-extra-register/replay.log create mode 100644 research/bit-clean-extra-register/replayed-receipt.json create mode 100644 research/bit-clean-extra-register/review/REMOTE-PREDECESSORS.json create mode 100644 research/bit-clean-extra-register/review/REVIEW.json create mode 100644 research/bit-clean-extra-register/review/REVIEW.md create mode 100644 research/bit-clean-extra-register/review/REVIEWED-FILES.json create mode 100644 research/bit-clean-extra-register/review/SOURCE-REVIEW.json create mode 100644 research/bit-clean-extra-register/review/check_controls.py create mode 100644 research/bit-clean-extra-register/review/check_reductions.json create mode 100644 research/bit-clean-extra-register/review/check_reductions.py create mode 100644 research/bit-clean-extra-register/review/controls.log create mode 100644 research/bit-clean-extra-register/review/controls/receipt.json create mode 100644 research/bit-clean-extra-register/review/eumemic-predecessor.txt create mode 100644 research/bit-clean-extra-register/review/full-replay-runner.py create mode 100644 research/bit-clean-extra-register/review/huxint-predecessor.txt create mode 100644 research/bit-clean-extra-register/review/replay.log create mode 100644 research/bit-clean-extra-register/review/replay/receipt.json create mode 100644 research/bit-clean-extra-register/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt create mode 100644 research/bit-clean-extra-register/sources/doubling-architecture/clean-ancilla/RESULT.txt create mode 100644 research/bit-clean-extra-register/sources/doubling-architecture/clean-ancilla/run_two_bases.py create mode 100644 research/bit-clean-extra-register/sources/doubling-architecture/clean-ancilla/search.py create mode 100644 research/bit-clean-extra-register/sources/doubling-architecture/clean-ancilla/two_bases.cpp create mode 100644 research/bit-clean-extra-register/sources/doubling-architecture/rank-independent/clean-audit/PROOF-AUDIT.txt create mode 100644 research/bit-clean-extra-register/sources/doubling-architecture/rank-independent/clean-audit/selected_words.cpp create mode 100644 research/bit-clean-extra-register/sources/four-register/CLEAN-ONE-RELATION.txt create mode 100644 research/bit-clean-extra-register/sources/four-register/CLEAN-SPAN-FOUR.txt create mode 100644 research/bit-clean-extra-register/sources/four-register/F101-ARITHMETIC.txt create mode 100644 research/bit-clean-extra-register/sources/four-register/FINAL-CLEAN-REPORT.txt create mode 100644 research/bit-clean-extra-register/sources/four-register/dirty_ancilla.py create mode 100644 research/bit-clean-extra-register/sources/four-register/independent-audit/check_clean_zero_orders.cpp create mode 100644 research/bit-clean-extra-register/sources/four-register/independent-audit/clean-zero-family-metadata.txt create mode 100644 research/bit-clean-extra-register/sources/four-register/independent/clean-zero/PROOF.txt create mode 100644 research/bit-clean-extra-register/sources/four-register/independent/clean-zero/field.cpp create mode 100644 research/bit-clean-extra-register/sources/four-register/independent/clean-zero/generate.py create mode 100644 research/bit-clean-extra-register/sources/four-register/independent/clean-zero/integer.cpp create mode 100644 research/bit-clean-extra-register/verify.py create mode 100644 research/bit-three-active-one-returned/AUDIT.txt create mode 100644 research/bit-three-active-one-returned/PROOF.txt create mode 100644 research/bit-three-active-one-returned/README.md create mode 100644 research/bit-three-active-one-returned/REPLAY.txt create mode 100644 research/bit-three-active-one-returned/SOURCE-MANIFEST.json create mode 100644 research/bit-three-active-one-returned/field101.cpp create mode 100644 research/bit-three-active-one-returned/generate.py create mode 100644 research/bit-three-active-one-returned/independent-receipt.json create mode 100644 research/bit-three-active-one-returned/independent-replay.log create mode 100644 research/bit-three-active-one-returned/independent-sources/work/four-register/DIRTY-MODEL.txt create mode 100644 research/bit-three-active-one-returned/independent-sources/work/four-register/F101-ARITHMETIC.txt create mode 100644 research/bit-three-active-one-returned/independent-sources/work/four-register/dirty_ancilla.py create mode 100644 research/bit-three-active-one-returned/independent-sources/work/four-register/dirty_f101_controls.py create mode 100644 research/bit-three-active-one-returned/independent-sources/work/four-register/dirty_h_alphabet.py create mode 100644 research/bit-three-active-one-returned/independent-sources/work/four-register/dirty_rank2.py create mode 100644 research/bit-three-active-one-returned/independent-sources/work/four-register/independent-audit/DIRTY-AUDIT.txt create mode 100644 research/bit-three-active-one-returned/independent-sources/work/four-register/independent-audit/PROOF-AUDIT.txt create mode 100644 research/bit-three-active-one-returned/independent-sources/work/four-register/independent-audit/check_input_binding.py create mode 100644 research/bit-three-active-one-returned/independent-sources/work/four-register/independent-audit/check_off_catalogue.py create mode 100644 research/bit-three-active-one-returned/independent-sources/work/four-register/independent-audit/check_rank2_orders.py create mode 100644 research/bit-three-active-one-returned/independent-sources/work/four-register/independent-audit/check_rank3_multisets.cpp create mode 100644 research/bit-three-active-one-returned/independent-sources/work/four-register/independent-audit/check_rank3_orders.cpp create mode 100644 research/bit-three-active-one-returned/independent-sources/work/four-register/independent/fraction-terminal-audit.json create mode 100644 research/bit-three-active-one-returned/independent-sources/work/four-register/independent/off_pattern_spaces.py create mode 100644 research/bit-three-active-one-returned/independent-sources/work/four-register/independent/rank2_binary.py create mode 100644 research/bit-three-active-one-returned/independent-sources/work/four-register/independent/rank3_data.py create mode 100644 research/bit-three-active-one-returned/multisets.cpp create mode 100644 research/bit-three-active-one-returned/orders.cpp create mode 100644 research/bit-three-active-one-returned/rational.cpp create mode 100644 research/bit-three-active-one-returned/receipt.json create mode 100644 research/bit-three-active-one-returned/replay.log create mode 100644 research/bit-three-active-one-returned/replayed-fraction-terminals.json create mode 100644 research/bit-three-active-one-returned/replayed-independent-receipt.json create mode 100644 research/bit-three-active-one-returned/replayed-receipt.json create mode 100644 research/bit-three-active-one-returned/review/CHECKED-FILES.json create mode 100644 research/bit-three-active-one-returned/review/CONTROLS.json create mode 100644 research/bit-three-active-one-returned/review/DEPENDENCY-AND-OVERLAP-PINS.json create mode 100644 research/bit-three-active-one-returned/review/ENVIRONMENT-GUARD.json create mode 100644 research/bit-three-active-one-returned/review/FRACTION-TERMINALS.json create mode 100644 research/bit-three-active-one-returned/review/INDEPENDENT-REPLAY-RECEIPT.json create mode 100644 research/bit-three-active-one-returned/review/PACKAGED-FRACTION-TERMINALS.json create mode 100644 research/bit-three-active-one-returned/review/REPLAY-RECEIPT.json create mode 100644 research/bit-three-active-one-returned/review/RESULT.json create mode 100644 research/bit-three-active-one-returned/review/REVIEW.txt create mode 100644 research/bit-three-active-one-returned/review/WRAPPER-FINDING.json create mode 100644 research/bit-three-active-one-returned/review/controls.py create mode 100644 research/bit-three-active-one-returned/review/environment_guard.py create mode 100644 research/bit-three-active-one-returned/review/fraction_terminals.py create mode 100644 research/bit-three-active-one-returned/review/independent-replay.log create mode 100644 research/bit-three-active-one-returned/review/replay.log create mode 100644 research/bit-three-active-one-returned/verify.py create mode 100644 research/bit-three-active-one-returned/verify_fraction_terminals.py create mode 100644 research/bit-three-active-one-returned/verify_independent.py diff --git a/research/bit-clean-extra-register/README.md b/research/bit-clean-extra-register/README.md new file mode 100644 index 0000000000..eb24297a07 --- /dev/null +++ b/research/bit-clean-extra-register/README.md @@ -0,0 +1,93 @@ +# Restrictions for three active targets and one clean extra register + +This package proves restrictions on an eight-call formal binary circuit. +There are three active targets and one extra input that starts at zero. +The extra output is discarded. The required upper-left block is +`diag([C_1],[C_2],[C_3])`, where the targets are invertible lower-triangular +rational 3 by 3 frames. Paid factors are `I + ([A]-1)N`: `A` is nonzero +and has rational rank one, and `N` is a binary rank-one idempotent on +four registers. The coefficient ring is `F_2[M_3(Q)]`. +The endpoint is the product of these listed paid factors. No additional +free scalar map is applied at the end. The clean active-block condition +alone does not justify removing such a map from a broader circuit model. + +The [final report](sources/four-register/FINAL-CLEAN-REPORT.txt) states +the scope and proof dependencies. The results are: + +- Paid-frame span at most four needs at least nine calls. This bound + permits any number of clean extra registers. +- Span eight is impossible. Span seven forces zero active off-diagonal + entries in every scalar projector. +- For one clean extra register, the complete 24-projector class with + zero active off-diagonal entries is impossible in eight calls. +- Eight calls are also impossible over the union of the coordinate-basis + projectors and one arbitrary binary-basis set of projectors. + +The remaining arbitrary four-register problem has frame span five or six, +a nonzero active off-diagonal pattern, and an alphabet outside the last +class. It remains open here. Fixing one basis to the coordinate basis is +a restriction; it is not a normalization of every pair of bases. These +results give no construction, complete clean-register lower bound, or +new kappa value. + +The [span proof](sources/four-register/CLEAN-SPAN-FOUR.txt) extends the +method in [PR #468](https://github.com/CrocSwap/integer-mult-bounds/pull/468), +at its [recorded source](https://github.com/CrocSwap/integer-mult-bounds/blob/07a78bf335b0b5039a1fecd7cd74a0fe1d1605ea/research/bit-three-register-lower-bound/README.md). +The [one-relation proof](sources/four-register/CLEAN-ONE-RELATION.txt), +[zero-pattern proof](sources/four-register/independent/clean-zero/PROOF.txt), +and [independent scope audit](sources/doubling-architecture/rank-independent/clean-audit/PROOF-AUDIT.txt) +give the other arguments. The predecessor credits the scalar model to +[PR #288](https://github.com/CrocSwap/integer-mult-bounds/pull/288), at +[its recorded source](https://github.com/eumemic/integer-mult-bounds/blob/475a088b5862f75f0b10596cfd6842d19531a5ec/research/negative-results-paradigm-search/README.md). +The pinned PR #468 proof also credits @huxint's +[PR #203](https://github.com/CrocSwap/integer-mult-bounds/pull/203) for the +related common triangular-frame obstruction, at +[its recorded commit](https://github.com/huxint/integer-mult-bounds/commit/d2873e20750d0949d2ad75cbc4cd82b5b1a74e84). +OpenAI Codex and research agents prepared the proof and checks under the +user's direction. No independent human review is claimed. + +From this package directory, with Python 3.10 or later and a C++17 compiler: + +```sh +python3 -B verify.py --build /tmp/clean-extra-register-replay +``` + +The build path must not exist. `CXX` can select the compiler. The runner +copies the saved source files there before any generated output is written. +It rejects optimized Python because some historical sources use assertions. +No repository source or third-party Python module is required. + +The final line must be: + +```text +PASS_CLEAN_RESTRICTED_CLASSES 314666 7406643 +``` + +The replay checks all 314,666 zero-pattern words with primitive-integer and +finite-field engines and compares every output record. A separate generator +checks all 3,674,160 raw orders by dependence signatures. It also checks +all 166 basis alphabets, with 7,406,643 words, in the finite-field engine. +The basis catalogue is reconstructed through dual-vector tests. A separate +rational engine checks 48 fixed words from the saved independent receipt. +The full basis search does not have a second complete arithmetic replay. + +`SOURCE-MANIFEST.json` records the original paths and hashes. Source bytes +are unchanged. The new runner only makes the existing checks portable and +compares their outcomes. `expected/` contains historical receipts. The +new `replayed-receipt.json` and `replay.log` record the cleanup audit run. +Historical prose can name receipts at their old paths; `expected/` +contains the receipts used by this replay. The earlier layer-only audits +and returned-register controls are historical evidence. They are not +replay dependencies. The current runner executes the 166 basis checks +in sequence; the preserved historical scheduler used three workers. +Python child processes ignore Python environment options so their +assertions remain enabled. + +## Open next questions + +Does an eight-call clean circuit exist in frame span five or six outside +the two excluded scalar classes? A first step is an exact completeness +reduction for the remaining nonzero active off-diagonal patterns. The +present reductions do not bound that full scalar search. A positive word +would still need an all-size compiler and a full cost calculation before +it could affect kappa. diff --git a/research/bit-clean-extra-register/SOURCE-MANIFEST.json b/research/bit-clean-extra-register/SOURCE-MANIFEST.json new file mode 100644 index 0000000000..924bd8d9e7 --- /dev/null +++ b/research/bit-clean-extra-register/SOURCE-MANIFEST.json @@ -0,0 +1,143 @@ +{ + "main_pin": "cef4b52f2a59009865bf8eabde1be3f159063703", + "files": [ + { + "original": "work/doubling-architecture/clean-ancilla/ALL-BASIS-SUMMARY.json", + "package": "expected/all-basis-summary.json", + "sha256": "46040fe7a442e117f9a28ce47caa53d3800ca45777a9bfb16463fc58125b1a4a", + "bytes": 64174 + }, + { + "original": "work/doubling-architecture/rank-independent/clean-audit/CATALOGUE-AUDIT.json", + "package": "expected/catalogue-audit.json", + "sha256": "5034f22651597e8710498194a185543735d2cdfd1d65b62b554045b1516638c8", + "bytes": 1493 + }, + { + "original": "work/four-register/independent-audit/CLEAN-ZERO-ORDER-RESULT.json", + "package": "expected/clean-zero-independent-order-result.json", + "sha256": "7dcd340eedf19388a4a2db364be4a00388e93a38ab4d08d7729971c88d1d2632", + "bytes": 178 + }, + { + "original": "work/four-register/independent/clean-zero/RESULT.json", + "package": "expected/clean-zero-result.json", + "sha256": "b8ce3ecf7bd762cfb9a2bfaa37f0dbd0034eba42ad59bb68e714c4d220c2d997", + "bytes": 2031 + }, + { + "original": "work/doubling-architecture/rank-independent/clean-audit/SELECTED-COMPARISON.json", + "package": "expected/selected-comparison.json", + "sha256": "5f0e29bb04fd0f44267237060728dfb8bca2e1f41181c940f30fe0ae8c2cee39", + "bytes": 37045 + }, + { + "original": "work/doubling-architecture/clean-ancilla/ALPHABETS.txt", + "package": "sources/doubling-architecture/clean-ancilla/ALPHABETS.txt", + "sha256": "9578ac3ba047a87502cc6e481f5bf8154f1c2477f3be4b2d1e7c1e8b35213da4", + "bytes": 5868 + }, + { + "original": "work/doubling-architecture/clean-ancilla/RESULT.txt", + "package": "sources/doubling-architecture/clean-ancilla/RESULT.txt", + "sha256": "bddf6f4a91273966179f36fd59734c125f2bad69d10ed27998595da438aa2c73", + "bytes": 3768 + }, + { + "original": "work/doubling-architecture/clean-ancilla/run_two_bases.py", + "package": "sources/doubling-architecture/clean-ancilla/run_two_bases.py", + "sha256": "33ac757f42b7e770d24ea82b70cc167627e28b1da98c1e0c8c5d0e35f9bb2931", + "bytes": 1748 + }, + { + "original": "work/doubling-architecture/clean-ancilla/search.py", + "package": "sources/doubling-architecture/clean-ancilla/search.py", + "sha256": "3f1301263134b1ed17d356f39bdd175f911c2c4cdddb5e3cab40fed6969e53bf", + "bytes": 3762 + }, + { + "original": "work/doubling-architecture/clean-ancilla/two_bases.cpp", + "package": "sources/doubling-architecture/clean-ancilla/two_bases.cpp", + "sha256": "7d7438f5c473eba5a0863afacdb7b0896b2c45325cf2f88c7cfb078d189ff132", + "bytes": 15146 + }, + { + "original": "work/doubling-architecture/rank-independent/clean-audit/PROOF-AUDIT.txt", + "package": "sources/doubling-architecture/rank-independent/clean-audit/PROOF-AUDIT.txt", + "sha256": "92f039fd3868592bc8cfa3b14ea90f42c5be9ed639ca84ac6ce7a6cb5fc59e5b", + "bytes": 7629 + }, + { + "original": "work/doubling-architecture/rank-independent/clean-audit/selected_words.cpp", + "package": "sources/doubling-architecture/rank-independent/clean-audit/selected_words.cpp", + "sha256": "bd5ee927c75a78ce4658d2290dd4301c78744178c2b95b3fe676153dae2a2fa0", + "bytes": 778 + }, + { + "original": "work/four-register/CLEAN-ONE-RELATION.txt", + "package": "sources/four-register/CLEAN-ONE-RELATION.txt", + "sha256": "9aebe7497d3ff594141ab1674bc34284c6cc410f2d066994ff8c059c940902e6", + "bytes": 6804 + }, + { + "original": "work/four-register/CLEAN-SPAN-FOUR.txt", + "package": "sources/four-register/CLEAN-SPAN-FOUR.txt", + "sha256": "a65edc9dfe3744322a4fad5f30d2d0c7fb737bb611f5b11de48264386e742019", + "bytes": 3817 + }, + { + "original": "work/four-register/F101-ARITHMETIC.txt", + "package": "sources/four-register/F101-ARITHMETIC.txt", + "sha256": "540dfa9f49488b92ee24e9f82704ac2032aa2117957dd4c9cbcf33ca4fafe09f", + "bytes": 3513 + }, + { + "original": "work/four-register/FINAL-CLEAN-REPORT.txt", + "package": "sources/four-register/FINAL-CLEAN-REPORT.txt", + "sha256": "a948c7380e22ff83030811c9e6b5a867b510609c89ee0b586feb7616374e748c", + "bytes": 6492 + }, + { + "original": "work/four-register/dirty_ancilla.py", + "package": "sources/four-register/dirty_ancilla.py", + "sha256": "81d8df0b7b08e0ad89dc13f65325e7091cb9c201d9c5bc4d8637f8325d0be876", + "bytes": 6293 + }, + { + "original": "work/four-register/independent-audit/check_clean_zero_orders.cpp", + "package": "sources/four-register/independent-audit/check_clean_zero_orders.cpp", + "sha256": "488f25346635fdebac5b0d928da59dabe0c92792d375938b5dfe1c2244309d6a", + "bytes": 4419 + }, + { + "original": "work/four-register/independent-audit/clean-zero-family-metadata.txt", + "package": "sources/four-register/independent-audit/clean-zero-family-metadata.txt", + "sha256": "6e4758a04985074fc78aca9a55aecff947573b66803d26f5f4d7676a30dd8dd7", + "bytes": 8410 + }, + { + "original": "work/four-register/independent/clean-zero/PROOF.txt", + "package": "sources/four-register/independent/clean-zero/PROOF.txt", + "sha256": "4dea498aee7f2e39a0607b6d4f1e7f8f9f7ad9a5f1e72241743180f1775fb7e7", + "bytes": 5049 + }, + { + "original": "work/four-register/independent/clean-zero/field.cpp", + "package": "sources/four-register/independent/clean-zero/field.cpp", + "sha256": "a39b5f3ca6dbd506c6008e356a0239173e8dff53047c4a6e71972c6c35226c9e", + "bytes": 13395 + }, + { + "original": "work/four-register/independent/clean-zero/generate.py", + "package": "sources/four-register/independent/clean-zero/generate.py", + "sha256": "f002f6479e244da91724ca2589c03c4067d82f2206304660a92f8355dfedb6ef", + "bytes": 2088 + }, + { + "original": "work/four-register/independent/clean-zero/integer.cpp", + "package": "sources/four-register/independent/clean-zero/integer.cpp", + "sha256": "927fcb11154edfeabfdf852c0f243f82b7d5d56475ced11bdaa3417b8528b6d9", + "bytes": 13367 + } + ] +} diff --git a/research/bit-clean-extra-register/expected/all-basis-summary.json b/research/bit-clean-extra-register/expected/all-basis-summary.json new file mode 100644 index 0000000000..7462d3d1c9 --- /dev/null +++ b/research/bit-clean-extra-register/expected/all-basis-summary.json @@ -0,0 +1,3170 @@ +{ + "alphabets": 166, + "completed": 166, + "searched_words": 7406643, + "states": [ + 7406643, + 24410375, + 59745229, + 89537683 + ], + "terminals": 262735, + "robust": 0, + "seconds": 90.62961008306593, + "results": [ + { + "basis": 0, + "alphabet_size": 4, + "complete": true, + "prefixes": 247, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 7.292e-06 + }, + { + "basis": 1, + "alphabet_size": 6, + "complete": true, + "prefixes": 6430, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 8.9e-05 + }, + { + "basis": 2, + "alphabet_size": 6, + "complete": true, + "prefixes": 6394, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 9.1e-05 + }, + { + "basis": 3, + "alphabet_size": 6, + "complete": true, + "prefixes": 10138, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 9.6125e-05 + }, + { + "basis": 4, + "alphabet_size": 7, + "complete": true, + "prefixes": 36949, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.000306292 + }, + { + "basis": 5, + "alphabet_size": 7, + "complete": true, + "prefixes": 26542, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00024525 + }, + { + "basis": 6, + "alphabet_size": 7, + "complete": true, + "prefixes": 22471, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.000197917 + }, + { + "basis": 7, + "alphabet_size": 7, + "complete": true, + "prefixes": 32309, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.000272417 + }, + { + "basis": 8, + "alphabet_size": 7, + "complete": true, + "prefixes": 26769, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.000250125 + }, + { + "basis": 9, + "alphabet_size": 7, + "complete": true, + "prefixes": 35985, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.000309708 + }, + { + "basis": 10, + "alphabet_size": 7, + "complete": true, + "prefixes": 32233, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.0002995 + }, + { + "basis": 11, + "alphabet_size": 7, + "complete": true, + "prefixes": 36781, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.000305667 + }, + { + "basis": 12, + "alphabet_size": 7, + "complete": true, + "prefixes": 52509, + "distance_trace_words": 253, + "searched_words": 253, + "states": [ + 253, + 523, + 685, + 605 + ], + "terminals": 73, + "robust": 0, + "parity_prunes": 489, + "zero_frame_prunes": 521, + "seconds": 0.00256767 + }, + { + "basis": 13, + "alphabet_size": 7, + "complete": true, + "prefixes": 35384, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.000298375 + }, + { + "basis": 14, + "alphabet_size": 7, + "complete": true, + "prefixes": 22152, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.000263791 + }, + { + "basis": 15, + "alphabet_size": 7, + "complete": true, + "prefixes": 50649, + "distance_trace_words": 178, + "searched_words": 178, + "states": [ + 178, + 426, + 622, + 546 + ], + "terminals": 51, + "robust": 0, + "parity_prunes": 446, + "zero_frame_prunes": 415, + "seconds": 0.00202275 + }, + { + "basis": 16, + "alphabet_size": 8, + "complete": true, + "prefixes": 45857, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.000408666 + }, + { + "basis": 17, + "alphabet_size": 8, + "complete": true, + "prefixes": 44001, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.000397291 + }, + { + "basis": 18, + "alphabet_size": 7, + "complete": true, + "prefixes": 153529, + "distance_trace_words": 7776, + "searched_words": 7776, + "states": [ + 7776, + 15804, + 15940, + 23364 + ], + "terminals": 1063, + "robust": 0, + "parity_prunes": 18077, + "zero_frame_prunes": 11722, + "seconds": 0.0524807 + }, + { + "basis": 19, + "alphabet_size": 8, + "complete": true, + "prefixes": 471272, + "distance_trace_words": 16086, + "searched_words": 16086, + "states": [ + 16086, + 30568, + 31974, + 43063 + ], + "terminals": 2638, + "robust": 0, + "parity_prunes": 31348, + "zero_frame_prunes": 23964, + "seconds": 0.121799 + }, + { + "basis": 20, + "alphabet_size": 8, + "complete": true, + "prefixes": 254809, + "distance_trace_words": 7776, + "searched_words": 7776, + "states": [ + 7776, + 15804, + 15940, + 23364 + ], + "terminals": 1063, + "robust": 0, + "parity_prunes": 18077, + "zero_frame_prunes": 11722, + "seconds": 0.0538696 + }, + { + "basis": 21, + "alphabet_size": 8, + "complete": true, + "prefixes": 120944, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00113446 + }, + { + "basis": 22, + "alphabet_size": 8, + "complete": true, + "prefixes": 332933, + "distance_trace_words": 4842, + "searched_words": 4842, + "states": [ + 4842, + 7642, + 7378, + 10676 + ], + "terminals": 1085, + "robust": 0, + "parity_prunes": 7558, + "zero_frame_prunes": 6689, + "seconds": 0.02834 + }, + { + "basis": 23, + "alphabet_size": 8, + "complete": true, + "prefixes": 323024, + "distance_trace_words": 7776, + "searched_words": 7776, + "states": [ + 7776, + 15804, + 15940, + 23364 + ], + "terminals": 1063, + "robust": 0, + "parity_prunes": 18077, + "zero_frame_prunes": 11722, + "seconds": 0.0525706 + }, + { + "basis": 24, + "alphabet_size": 8, + "complete": true, + "prefixes": 332017, + "distance_trace_words": 10689, + "searched_words": 10689, + "states": [ + 10689, + 21441, + 22894, + 32132 + ], + "terminals": 1668, + "robust": 0, + "parity_prunes": 23605, + "zero_frame_prunes": 16462, + "seconds": 0.0807185 + }, + { + "basis": 25, + "alphabet_size": 8, + "complete": true, + "prefixes": 182126, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00161154 + }, + { + "basis": 26, + "alphabet_size": 7, + "complete": true, + "prefixes": 79205, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.000735583 + }, + { + "basis": 27, + "alphabet_size": 8, + "complete": true, + "prefixes": 252437, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00226054 + }, + { + "basis": 28, + "alphabet_size": 8, + "complete": true, + "prefixes": 141679, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00129408 + }, + { + "basis": 29, + "alphabet_size": 8, + "complete": true, + "prefixes": 135229, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00120708 + }, + { + "basis": 30, + "alphabet_size": 8, + "complete": true, + "prefixes": 140522, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00135388 + }, + { + "basis": 31, + "alphabet_size": 8, + "complete": true, + "prefixes": 224770, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00220412 + }, + { + "basis": 32, + "alphabet_size": 8, + "complete": true, + "prefixes": 139751, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00134504 + }, + { + "basis": 33, + "alphabet_size": 8, + "complete": true, + "prefixes": 194597, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.001729 + }, + { + "basis": 34, + "alphabet_size": 8, + "complete": true, + "prefixes": 309405, + "distance_trace_words": 7776, + "searched_words": 7776, + "states": [ + 7776, + 15804, + 15891, + 23345 + ], + "terminals": 1063, + "robust": 0, + "parity_prunes": 18091, + "zero_frame_prunes": 11722, + "seconds": 0.0530179 + }, + { + "basis": 35, + "alphabet_size": 8, + "complete": true, + "prefixes": 608513, + "distance_trace_words": 28187, + "searched_words": 28187, + "states": [ + 28187, + 59701, + 43046, + 22759 + ], + "terminals": 846, + "robust": 0, + "parity_prunes": 68115, + "zero_frame_prunes": 24655, + "seconds": 0.135025 + }, + { + "basis": 36, + "alphabet_size": 8, + "complete": true, + "prefixes": 506547, + "distance_trace_words": 29138, + "searched_words": 29138, + "states": [ + 29138, + 56290, + 38410, + 20447 + ], + "terminals": 958, + "robust": 0, + "parity_prunes": 55737, + "zero_frame_prunes": 28463, + "seconds": 0.123861 + }, + { + "basis": 37, + "alphabet_size": 8, + "complete": true, + "prefixes": 302715, + "distance_trace_words": 7776, + "searched_words": 7776, + "states": [ + 7776, + 15804, + 15940, + 23364 + ], + "terminals": 1063, + "robust": 0, + "parity_prunes": 18077, + "zero_frame_prunes": 11722, + "seconds": 0.056236 + }, + { + "basis": 38, + "alphabet_size": 8, + "complete": true, + "prefixes": 179046, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00155671 + }, + { + "basis": 39, + "alphabet_size": 8, + "complete": true, + "prefixes": 78020, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.000744667 + }, + { + "basis": 40, + "alphabet_size": 8, + "complete": true, + "prefixes": 443443, + "distance_trace_words": 19184, + "searched_words": 19184, + "states": [ + 19184, + 40814, + 34158, + 22355 + ], + "terminals": 672, + "robust": 0, + "parity_prunes": 54132, + "zero_frame_prunes": 14251, + "seconds": 0.103835 + }, + { + "basis": 41, + "alphabet_size": 7, + "complete": true, + "prefixes": 76823, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.000711917 + }, + { + "basis": 42, + "alphabet_size": 8, + "complete": true, + "prefixes": 195129, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00166512 + }, + { + "basis": 43, + "alphabet_size": 8, + "complete": true, + "prefixes": 133570, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00121142 + }, + { + "basis": 44, + "alphabet_size": 7, + "complete": true, + "prefixes": 153529, + "distance_trace_words": 7776, + "searched_words": 7776, + "states": [ + 7776, + 15804, + 16214, + 21733 + ], + "terminals": 1063, + "robust": 0, + "parity_prunes": 18130, + "zero_frame_prunes": 12167, + "seconds": 0.048632 + }, + { + "basis": 45, + "alphabet_size": 8, + "complete": true, + "prefixes": 376397, + "distance_trace_words": 15159, + "searched_words": 15159, + "states": [ + 15159, + 26485, + 23944, + 30052 + ], + "terminals": 2050, + "robust": 0, + "parity_prunes": 23235, + "zero_frame_prunes": 22131, + "seconds": 0.0931108 + }, + { + "basis": 46, + "alphabet_size": 8, + "complete": true, + "prefixes": 257500, + "distance_trace_words": 7776, + "searched_words": 7776, + "states": [ + 7776, + 15804, + 16214, + 21733 + ], + "terminals": 1063, + "robust": 0, + "parity_prunes": 18130, + "zero_frame_prunes": 12167, + "seconds": 0.052392 + }, + { + "basis": 47, + "alphabet_size": 8, + "complete": true, + "prefixes": 270599, + "distance_trace_words": 7350, + "searched_words": 7350, + "states": [ + 7350, + 15040, + 13100, + 18274 + ], + "terminals": 2464, + "robust": 0, + "parity_prunes": 14339, + "zero_frame_prunes": 11755, + "seconds": 0.0478829 + }, + { + "basis": 48, + "alphabet_size": 8, + "complete": true, + "prefixes": 300860, + "distance_trace_words": 4692, + "searched_words": 4692, + "states": [ + 4692, + 7034, + 3295, + 2069 + ], + "terminals": 282, + "robust": 0, + "parity_prunes": 4079, + "zero_frame_prunes": 4504, + "seconds": 0.016373 + }, + { + "basis": 49, + "alphabet_size": 8, + "complete": true, + "prefixes": 311196, + "distance_trace_words": 7776, + "searched_words": 7776, + "states": [ + 7776, + 15804, + 16214, + 21733 + ], + "terminals": 1063, + "robust": 0, + "parity_prunes": 18130, + "zero_frame_prunes": 12165, + "seconds": 0.0533703 + }, + { + "basis": 50, + "alphabet_size": 8, + "complete": true, + "prefixes": 408201, + "distance_trace_words": 12792, + "searched_words": 12792, + "states": [ + 12792, + 24590, + 24325, + 31633 + ], + "terminals": 1859, + "robust": 0, + "parity_prunes": 25193, + "zero_frame_prunes": 19475, + "seconds": 0.0928714 + }, + { + "basis": 51, + "alphabet_size": 8, + "complete": true, + "prefixes": 424852, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00456558 + }, + { + "basis": 52, + "alphabet_size": 8, + "complete": true, + "prefixes": 325248, + "distance_trace_words": 7776, + "searched_words": 7776, + "states": [ + 7776, + 15804, + 16173, + 21798 + ], + "terminals": 1063, + "robust": 0, + "parity_prunes": 18209, + "zero_frame_prunes": 12086, + "seconds": 0.0548922 + }, + { + "basis": 53, + "alphabet_size": 8, + "complete": true, + "prefixes": 495293, + "distance_trace_words": 26789, + "searched_words": 26789, + "states": [ + 26789, + 44955, + 31154, + 16203 + ], + "terminals": 764, + "robust": 0, + "parity_prunes": 41386, + "zero_frame_prunes": 25902, + "seconds": 0.110991 + }, + { + "basis": 54, + "alphabet_size": 8, + "complete": true, + "prefixes": 293616, + "distance_trace_words": 7776, + "searched_words": 7776, + "states": [ + 7776, + 15804, + 16214, + 21733 + ], + "terminals": 1063, + "robust": 0, + "parity_prunes": 18130, + "zero_frame_prunes": 12167, + "seconds": 0.0510114 + }, + { + "basis": 55, + "alphabet_size": 8, + "complete": true, + "prefixes": 187421, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.001909 + }, + { + "basis": 56, + "alphabet_size": 8, + "complete": true, + "prefixes": 591397, + "distance_trace_words": 25952, + "searched_words": 25952, + "states": [ + 25952, + 45984, + 31337, + 17858 + ], + "terminals": 526, + "robust": 0, + "parity_prunes": 50736, + "zero_frame_prunes": 17366, + "seconds": 0.119533 + }, + { + "basis": 57, + "alphabet_size": 8, + "complete": true, + "prefixes": 72247, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.000669542 + }, + { + "basis": 58, + "alphabet_size": 8, + "complete": true, + "prefixes": 159758, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00140663 + }, + { + "basis": 59, + "alphabet_size": 8, + "complete": true, + "prefixes": 85095, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.000877292 + }, + { + "basis": 60, + "alphabet_size": 8, + "complete": true, + "prefixes": 121381, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.0011145 + }, + { + "basis": 61, + "alphabet_size": 8, + "complete": true, + "prefixes": 140778, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00122887 + }, + { + "basis": 62, + "alphabet_size": 8, + "complete": true, + "prefixes": 196100, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00166487 + }, + { + "basis": 63, + "alphabet_size": 8, + "complete": true, + "prefixes": 353651, + "distance_trace_words": 8570, + "searched_words": 8570, + "states": [ + 8570, + 16542, + 21816, + 19617 + ], + "terminals": 1242, + "robust": 0, + "parity_prunes": 14058, + "zero_frame_prunes": 17344, + "seconds": 0.0764972 + }, + { + "basis": 64, + "alphabet_size": 8, + "complete": true, + "prefixes": 298669, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.002551 + }, + { + "basis": 65, + "alphabet_size": 8, + "complete": true, + "prefixes": 154924, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00130846 + }, + { + "basis": 66, + "alphabet_size": 8, + "complete": true, + "prefixes": 547663, + "distance_trace_words": 17513, + "searched_words": 17513, + "states": [ + 17513, + 36077, + 50078, + 51904 + ], + "terminals": 1432, + "robust": 0, + "parity_prunes": 34739, + "zero_frame_prunes": 35895, + "seconds": 0.153209 + }, + { + "basis": 67, + "alphabet_size": 8, + "complete": true, + "prefixes": 130325, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00110187 + }, + { + "basis": 68, + "alphabet_size": 8, + "complete": true, + "prefixes": 262299, + "distance_trace_words": 7776, + "searched_words": 7776, + "states": [ + 7776, + 15804, + 15940, + 23364 + ], + "terminals": 1063, + "robust": 0, + "parity_prunes": 18077, + "zero_frame_prunes": 11722, + "seconds": 0.0535562 + }, + { + "basis": 69, + "alphabet_size": 8, + "complete": true, + "prefixes": 406856, + "distance_trace_words": 12366, + "searched_words": 12366, + "states": [ + 12366, + 23938, + 24774, + 34196 + ], + "terminals": 1906, + "robust": 0, + "parity_prunes": 25289, + "zero_frame_prunes": 18580, + "seconds": 0.0911052 + }, + { + "basis": 70, + "alphabet_size": 8, + "complete": true, + "prefixes": 214013, + "distance_trace_words": 3258, + "searched_words": 3258, + "states": [ + 3258, + 6638, + 2512, + 1072 + ], + "terminals": 260, + "robust": 0, + "parity_prunes": 5270, + "zero_frame_prunes": 2649, + "seconds": 0.0114845 + }, + { + "basis": 71, + "alphabet_size": 8, + "complete": true, + "prefixes": 187512, + "distance_trace_words": 1791, + "searched_words": 1791, + "states": [ + 1791, + 2927, + 2781, + 4141 + ], + "terminals": 633, + "robust": 0, + "parity_prunes": 3287, + "zero_frame_prunes": 2504, + "seconds": 0.0108207 + }, + { + "basis": 72, + "alphabet_size": 8, + "complete": true, + "prefixes": 304769, + "distance_trace_words": 7776, + "searched_words": 7776, + "states": [ + 7776, + 15804, + 15940, + 23364 + ], + "terminals": 1063, + "robust": 0, + "parity_prunes": 18077, + "zero_frame_prunes": 11722, + "seconds": 0.0545414 + }, + { + "basis": 73, + "alphabet_size": 8, + "complete": true, + "prefixes": 511724, + "distance_trace_words": 14172, + "searched_words": 14172, + "states": [ + 14172, + 28044, + 31131, + 42528 + ], + "terminals": 2406, + "robust": 0, + "parity_prunes": 29955, + "zero_frame_prunes": 22009, + "seconds": 0.114236 + }, + { + "basis": 74, + "alphabet_size": 8, + "complete": true, + "prefixes": 256798, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00225033 + }, + { + "basis": 75, + "alphabet_size": 8, + "complete": true, + "prefixes": 196307, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00186204 + }, + { + "basis": 76, + "alphabet_size": 8, + "complete": true, + "prefixes": 224198, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00205296 + }, + { + "basis": 77, + "alphabet_size": 8, + "complete": true, + "prefixes": 161748, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00151217 + }, + { + "basis": 78, + "alphabet_size": 8, + "complete": true, + "prefixes": 430737, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00362967 + }, + { + "basis": 79, + "alphabet_size": 8, + "complete": true, + "prefixes": 310736, + "distance_trace_words": 4692, + "searched_words": 4692, + "states": [ + 4692, + 7034, + 3095, + 2269 + ], + "terminals": 282, + "robust": 0, + "parity_prunes": 4225, + "zero_frame_prunes": 4563, + "seconds": 0.0173155 + }, + { + "basis": 80, + "alphabet_size": 8, + "complete": true, + "prefixes": 344351, + "distance_trace_words": 8786, + "searched_words": 8786, + "states": [ + 8786, + 16470, + 12400, + 6654 + ], + "terminals": 450, + "robust": 0, + "parity_prunes": 18259, + "zero_frame_prunes": 8183, + "seconds": 0.0394754 + }, + { + "basis": 81, + "alphabet_size": 8, + "complete": true, + "prefixes": 628859, + "distance_trace_words": 31955, + "searched_words": 31955, + "states": [ + 31955, + 52633, + 27830, + 14611 + ], + "terminals": 836, + "robust": 0, + "parity_prunes": 43215, + "zero_frame_prunes": 27444, + "seconds": 0.119754 + }, + { + "basis": 82, + "alphabet_size": 8, + "complete": true, + "prefixes": 189383, + "distance_trace_words": 1791, + "searched_words": 1791, + "states": [ + 1791, + 2927, + 2731, + 4172 + ], + "terminals": 633, + "robust": 0, + "parity_prunes": 3276, + "zero_frame_prunes": 2556, + "seconds": 0.012149 + }, + { + "basis": 83, + "alphabet_size": 8, + "complete": true, + "prefixes": 259274, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00231875 + }, + { + "basis": 84, + "alphabet_size": 8, + "complete": true, + "prefixes": 136300, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00121333 + }, + { + "basis": 85, + "alphabet_size": 8, + "complete": true, + "prefixes": 322788, + "distance_trace_words": 6458, + "searched_words": 6458, + "states": [ + 6458, + 11890, + 9565, + 6350 + ], + "terminals": 426, + "robust": 0, + "parity_prunes": 15733, + "zero_frame_prunes": 4324, + "seconds": 0.0311112 + }, + { + "basis": 86, + "alphabet_size": 8, + "complete": true, + "prefixes": 142817, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00131862 + }, + { + "basis": 87, + "alphabet_size": 8, + "complete": true, + "prefixes": 178835, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00157625 + }, + { + "basis": 88, + "alphabet_size": 8, + "complete": true, + "prefixes": 129418, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00112888 + }, + { + "basis": 89, + "alphabet_size": 8, + "complete": true, + "prefixes": 262299, + "distance_trace_words": 7776, + "searched_words": 7776, + "states": [ + 7776, + 15804, + 16214, + 21733 + ], + "terminals": 1063, + "robust": 0, + "parity_prunes": 18130, + "zero_frame_prunes": 12167, + "seconds": 0.0508378 + }, + { + "basis": 90, + "alphabet_size": 8, + "complete": true, + "prefixes": 576701, + "distance_trace_words": 19947, + "searched_words": 19947, + "states": [ + 19947, + 33295, + 28991, + 35511 + ], + "terminals": 2685, + "robust": 0, + "parity_prunes": 26753, + "zero_frame_prunes": 28261, + "seconds": 0.11562 + }, + { + "basis": 91, + "alphabet_size": 8, + "complete": true, + "prefixes": 533118, + "distance_trace_words": 15606, + "searched_words": 15606, + "states": [ + 15606, + 30436, + 17298, + 7095 + ], + "terminals": 262, + "robust": 0, + "parity_prunes": 30655, + "zero_frame_prunes": 11446, + "seconds": 0.0575915 + }, + { + "basis": 92, + "alphabet_size": 8, + "complete": true, + "prefixes": 486983, + "distance_trace_words": 12975, + "searched_words": 12975, + "states": [ + 12975, + 25563, + 22329, + 31513 + ], + "terminals": 4445, + "robust": 0, + "parity_prunes": 24782, + "zero_frame_prunes": 19716, + "seconds": 0.081875 + }, + { + "basis": 93, + "alphabet_size": 8, + "complete": true, + "prefixes": 457384, + "distance_trace_words": 10056, + "searched_words": 10056, + "states": [ + 10056, + 15434, + 8207, + 5274 + ], + "terminals": 244, + "robust": 0, + "parity_prunes": 10916, + "zero_frame_prunes": 9167, + "seconds": 0.0365525 + }, + { + "basis": 94, + "alphabet_size": 8, + "complete": true, + "prefixes": 314524, + "distance_trace_words": 7776, + "searched_words": 7776, + "states": [ + 7776, + 15804, + 16214, + 21733 + ], + "terminals": 1063, + "robust": 0, + "parity_prunes": 18130, + "zero_frame_prunes": 12165, + "seconds": 0.0508495 + }, + { + "basis": 95, + "alphabet_size": 8, + "complete": true, + "prefixes": 405898, + "distance_trace_words": 10326, + "searched_words": 10326, + "states": [ + 10326, + 20282, + 20408, + 26817 + ], + "terminals": 1432, + "robust": 0, + "parity_prunes": 21779, + "zero_frame_prunes": 15929, + "seconds": 0.075366 + }, + { + "basis": 96, + "alphabet_size": 8, + "complete": true, + "prefixes": 297028, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00248825 + }, + { + "basis": 97, + "alphabet_size": 8, + "complete": true, + "prefixes": 345093, + "distance_trace_words": 4842, + "searched_words": 4842, + "states": [ + 4842, + 7642, + 7323, + 9959 + ], + "terminals": 1085, + "robust": 0, + "parity_prunes": 7568, + "zero_frame_prunes": 6912, + "seconds": 0.0287489 + }, + { + "basis": 98, + "alphabet_size": 8, + "complete": true, + "prefixes": 627997, + "distance_trace_words": 28901, + "searched_words": 28901, + "states": [ + 28901, + 56583, + 51932, + 33658 + ], + "terminals": 1048, + "robust": 0, + "parity_prunes": 65600, + "zero_frame_prunes": 33783, + "seconds": 0.16176 + }, + { + "basis": 99, + "alphabet_size": 8, + "complete": true, + "prefixes": 459048, + "distance_trace_words": 10056, + "searched_words": 10056, + "states": [ + 10056, + 15434, + 7907, + 5101 + ], + "terminals": 244, + "robust": 0, + "parity_prunes": 11744, + "zero_frame_prunes": 8660, + "seconds": 0.0367094 + }, + { + "basis": 100, + "alphabet_size": 8, + "complete": true, + "prefixes": 152476, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00133608 + }, + { + "basis": 101, + "alphabet_size": 8, + "complete": true, + "prefixes": 610657, + "distance_trace_words": 28349, + "searched_words": 28349, + "states": [ + 28349, + 59089, + 53197, + 35275 + ], + "terminals": 850, + "robust": 0, + "parity_prunes": 76425, + "zero_frame_prunes": 25853, + "seconds": 0.155945 + }, + { + "basis": 102, + "alphabet_size": 8, + "complete": true, + "prefixes": 467779, + "distance_trace_words": 16086, + "searched_words": 16086, + "states": [ + 16086, + 30568, + 31078, + 42468 + ], + "terminals": 2638, + "robust": 0, + "parity_prunes": 31277, + "zero_frame_prunes": 23981, + "seconds": 0.111836 + }, + { + "basis": 103, + "alphabet_size": 8, + "complete": true, + "prefixes": 251557, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.0021795 + }, + { + "basis": 104, + "alphabet_size": 8, + "complete": true, + "prefixes": 609424, + "distance_trace_words": 28187, + "searched_words": 28187, + "states": [ + 28187, + 59701, + 43557, + 22894 + ], + "terminals": 846, + "robust": 0, + "parity_prunes": 68432, + "zero_frame_prunes": 24766, + "seconds": 0.136461 + }, + { + "basis": 105, + "alphabet_size": 8, + "complete": true, + "prefixes": 507978, + "distance_trace_words": 29138, + "searched_words": 29138, + "states": [ + 29138, + 56290, + 37737, + 20357 + ], + "terminals": 958, + "robust": 0, + "parity_prunes": 55816, + "zero_frame_prunes": 28559, + "seconds": 0.125586 + }, + { + "basis": 106, + "alphabet_size": 8, + "complete": true, + "prefixes": 212980, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00181313 + }, + { + "basis": 107, + "alphabet_size": 8, + "complete": true, + "prefixes": 329564, + "distance_trace_words": 10689, + "searched_words": 10689, + "states": [ + 10689, + 21441, + 22346, + 31721 + ], + "terminals": 1668, + "robust": 0, + "parity_prunes": 23659, + "zero_frame_prunes": 16469, + "seconds": 0.0811424 + }, + { + "basis": 108, + "alphabet_size": 8, + "complete": true, + "prefixes": 117532, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00109258 + }, + { + "basis": 109, + "alphabet_size": 8, + "complete": true, + "prefixes": 444388, + "distance_trace_words": 19184, + "searched_words": 19184, + "states": [ + 19184, + 40814, + 34330, + 22323 + ], + "terminals": 672, + "robust": 0, + "parity_prunes": 54312, + "zero_frame_prunes": 14507, + "seconds": 0.276678 + }, + { + "basis": 110, + "alphabet_size": 7, + "complete": true, + "prefixes": 379035, + "distance_trace_words": 111458, + "searched_words": 111458, + "states": [ + 111458, + 520248, + 3105586, + 4813364 + ], + "terminals": 5701, + "robust": 0, + "parity_prunes": 6347096, + "zero_frame_prunes": 271448, + "seconds": 11.1845 + }, + { + "basis": 111, + "alphabet_size": 8, + "complete": true, + "prefixes": 1009277, + "distance_trace_words": 188468, + "searched_words": 188468, + "states": [ + 188468, + 758034, + 3856027, + 5384857 + ], + "terminals": 10285, + "robust": 0, + "parity_prunes": 7340617, + "zero_frame_prunes": 429513, + "seconds": 13.2823 + }, + { + "basis": 112, + "alphabet_size": 8, + "complete": true, + "prefixes": 1000400, + "distance_trace_words": 188468, + "searched_words": 188468, + "states": [ + 188468, + 758034, + 3852305, + 5392460 + ], + "terminals": 10285, + "robust": 0, + "parity_prunes": 7327941, + "zero_frame_prunes": 430290, + "seconds": 13.138 + }, + { + "basis": 113, + "alphabet_size": 8, + "complete": true, + "prefixes": 807757, + "distance_trace_words": 165053, + "searched_words": 165053, + "states": [ + 165053, + 695027, + 3666446, + 5173966 + ], + "terminals": 8816, + "robust": 0, + "parity_prunes": 7048749, + "zero_frame_prunes": 382690, + "seconds": 12.6337 + }, + { + "basis": 114, + "alphabet_size": 8, + "complete": true, + "prefixes": 789288, + "distance_trace_words": 161633, + "searched_words": 161633, + "states": [ + 161633, + 685385, + 3647854, + 5187215 + ], + "terminals": 8844, + "robust": 0, + "parity_prunes": 7053651, + "zero_frame_prunes": 375821, + "seconds": 12.7702 + }, + { + "basis": 115, + "alphabet_size": 8, + "complete": true, + "prefixes": 1209709, + "distance_trace_words": 198752, + "searched_words": 198752, + "states": [ + 198752, + 523068, + 342474, + 186843 + ], + "terminals": 2740, + "robust": 0, + "parity_prunes": 692830, + "zero_frame_prunes": 155858, + "seconds": 1.3389 + }, + { + "basis": 116, + "alphabet_size": 8, + "complete": true, + "prefixes": 912137, + "distance_trace_words": 141510, + "searched_words": 141510, + "states": [ + 141510, + 671246, + 1008704, + 2310885 + ], + "terminals": 2448, + "robust": 0, + "parity_prunes": 2929648, + "zero_frame_prunes": 202239, + "seconds": 5.82108 + }, + { + "basis": 117, + "alphabet_size": 8, + "complete": true, + "prefixes": 369783, + "distance_trace_words": 15159, + "searched_words": 15159, + "states": [ + 15159, + 26485, + 24029, + 30708 + ], + "terminals": 2050, + "robust": 0, + "parity_prunes": 22362, + "zero_frame_prunes": 21894, + "seconds": 0.0969896 + }, + { + "basis": 118, + "alphabet_size": 8, + "complete": true, + "prefixes": 795977, + "distance_trace_words": 165053, + "searched_words": 165053, + "states": [ + 165053, + 695027, + 3656379, + 5220003 + ], + "terminals": 8816, + "robust": 0, + "parity_prunes": 7061483, + "zero_frame_prunes": 386498, + "seconds": 12.9951 + }, + { + "basis": 119, + "alphabet_size": 8, + "complete": true, + "prefixes": 1208198, + "distance_trace_words": 198752, + "searched_words": 198752, + "states": [ + 198752, + 523068, + 325262, + 179396 + ], + "terminals": 2740, + "robust": 0, + "parity_prunes": 675663, + "zero_frame_prunes": 151158, + "seconds": 1.40057 + }, + { + "basis": 120, + "alphabet_size": 8, + "complete": true, + "prefixes": 915184, + "distance_trace_words": 141510, + "searched_words": 141510, + "states": [ + 141510, + 671246, + 1009532, + 2308775 + ], + "terminals": 2448, + "robust": 0, + "parity_prunes": 2934453, + "zero_frame_prunes": 199057, + "seconds": 5.86077 + }, + { + "basis": 121, + "alphabet_size": 8, + "complete": true, + "prefixes": 387376, + "distance_trace_words": 12366, + "searched_words": 12366, + "states": [ + 12366, + 23938, + 24820, + 33663 + ], + "terminals": 1906, + "robust": 0, + "parity_prunes": 25138, + "zero_frame_prunes": 18699, + "seconds": 0.0968898 + }, + { + "basis": 122, + "alphabet_size": 8, + "complete": true, + "prefixes": 767363, + "distance_trace_words": 161633, + "searched_words": 161633, + "states": [ + 161633, + 685385, + 3646287, + 5212409 + ], + "terminals": 8844, + "robust": 0, + "parity_prunes": 7056789, + "zero_frame_prunes": 376796, + "seconds": 12.9496 + }, + { + "basis": 123, + "alphabet_size": 8, + "complete": true, + "prefixes": 563318, + "distance_trace_words": 19947, + "searched_words": 19947, + "states": [ + 19947, + 33295, + 29036, + 36202 + ], + "terminals": 2685, + "robust": 0, + "parity_prunes": 25665, + "zero_frame_prunes": 27972, + "seconds": 0.125944 + }, + { + "basis": 124, + "alphabet_size": 8, + "complete": true, + "prefixes": 1013250, + "distance_trace_words": 195236, + "searched_words": 195236, + "states": [ + 195236, + 783378, + 504266, + 397372 + ], + "terminals": 1937, + "robust": 0, + "parity_prunes": 1274531, + "zero_frame_prunes": 166262, + "seconds": 1.98803 + }, + { + "basis": 125, + "alphabet_size": 8, + "complete": true, + "prefixes": 1002732, + "distance_trace_words": 132714, + "searched_words": 132714, + "states": [ + 132714, + 313578, + 222860, + 96132 + ], + "terminals": 2291, + "robust": 0, + "parity_prunes": 393754, + "zero_frame_prunes": 100996, + "seconds": 0.831249 + }, + { + "basis": 126, + "alphabet_size": 8, + "complete": true, + "prefixes": 989482, + "distance_trace_words": 196644, + "searched_words": 196644, + "states": [ + 196644, + 670438, + 822613, + 2088941 + ], + "terminals": 5049, + "robust": 0, + "parity_prunes": 2523478, + "zero_frame_prunes": 235679, + "seconds": 5.52093 + }, + { + "basis": 127, + "alphabet_size": 8, + "complete": true, + "prefixes": 604220, + "distance_trace_words": 28901, + "searched_words": 28901, + "states": [ + 28901, + 56583, + 49690, + 32892 + ], + "terminals": 1048, + "robust": 0, + "parity_prunes": 63300, + "zero_frame_prunes": 34522, + "seconds": 0.161888 + }, + { + "basis": 128, + "alphabet_size": 8, + "complete": true, + "prefixes": 329186, + "distance_trace_words": 8786, + "searched_words": 8786, + "states": [ + 8786, + 16470, + 12054, + 6610 + ], + "terminals": 450, + "robust": 0, + "parity_prunes": 17677, + "zero_frame_prunes": 8172, + "seconds": 0.0418768 + }, + { + "basis": 129, + "alphabet_size": 8, + "complete": true, + "prefixes": 738815, + "distance_trace_words": 90072, + "searched_words": 90072, + "states": [ + 90072, + 272444, + 235537, + 237656 + ], + "terminals": 2007, + "robust": 0, + "parity_prunes": 536828, + "zero_frame_prunes": 72812, + "seconds": 0.935067 + }, + { + "basis": 130, + "alphabet_size": 8, + "complete": true, + "prefixes": 1078051, + "distance_trace_words": 157083, + "searched_words": 157083, + "states": [ + 157083, + 606135, + 1106891, + 2402071 + ], + "terminals": 2928, + "robust": 0, + "parity_prunes": 2991451, + "zero_frame_prunes": 194632, + "seconds": 7.11736 + }, + { + "basis": 131, + "alphabet_size": 8, + "complete": true, + "prefixes": 1007516, + "distance_trace_words": 189596, + "searched_words": 189596, + "states": [ + 189596, + 758448, + 3806506, + 5273624 + ], + "terminals": 10257, + "robust": 0, + "parity_prunes": 7210333, + "zero_frame_prunes": 425303, + "seconds": 17.0533 + }, + { + "basis": 132, + "alphabet_size": 8, + "complete": true, + "prefixes": 959946, + "distance_trace_words": 180128, + "searched_words": 180128, + "states": [ + 180128, + 758034, + 3923422, + 5398917 + ], + "terminals": 10657, + "robust": 0, + "parity_prunes": 7428503, + "zero_frame_prunes": 415850, + "seconds": 17.3969 + }, + { + "basis": 133, + "alphabet_size": 8, + "complete": true, + "prefixes": 1569622, + "distance_trace_words": 288201, + "searched_words": 288201, + "states": [ + 288201, + 760813, + 425802, + 220004 + ], + "terminals": 3555, + "robust": 0, + "parity_prunes": 897440, + "zero_frame_prunes": 245968, + "seconds": 2.91932 + }, + { + "basis": 134, + "alphabet_size": 8, + "complete": true, + "prefixes": 486146, + "distance_trace_words": 26789, + "searched_words": 26789, + "states": [ + 26789, + 44955, + 29021, + 18045 + ], + "terminals": 764, + "robust": 0, + "parity_prunes": 40593, + "zero_frame_prunes": 26251, + "seconds": 0.170809 + }, + { + "basis": 135, + "alphabet_size": 8, + "complete": true, + "prefixes": 1030452, + "distance_trace_words": 199652, + "searched_words": 199652, + "states": [ + 199652, + 842588, + 1542853, + 3291576 + ], + "terminals": 3165, + "robust": 0, + "parity_prunes": 4277449, + "zero_frame_prunes": 234753, + "seconds": 10.1792 + }, + { + "basis": 136, + "alphabet_size": 8, + "complete": true, + "prefixes": 1428866, + "distance_trace_words": 207640, + "searched_words": 207640, + "states": [ + 207640, + 365094, + 287508, + 142341 + ], + "terminals": 2973, + "robust": 0, + "parity_prunes": 448670, + "zero_frame_prunes": 130246, + "seconds": 1.37757 + }, + { + "basis": 137, + "alphabet_size": 8, + "complete": true, + "prefixes": 1101359, + "distance_trace_words": 157083, + "searched_words": 157083, + "states": [ + 157083, + 606135, + 1112236, + 2491821 + ], + "terminals": 2928, + "robust": 0, + "parity_prunes": 3071994, + "zero_frame_prunes": 195547, + "seconds": 7.66311 + }, + { + "basis": 138, + "alphabet_size": 8, + "complete": true, + "prefixes": 329930, + "distance_trace_words": 8570, + "searched_words": 8570, + "states": [ + 8570, + 16542, + 21252, + 20478 + ], + "terminals": 1242, + "robust": 0, + "parity_prunes": 13365, + "zero_frame_prunes": 17434, + "seconds": 0.0892843 + }, + { + "basis": 139, + "alphabet_size": 8, + "complete": true, + "prefixes": 596000, + "distance_trace_words": 31955, + "searched_words": 31955, + "states": [ + 31955, + 52633, + 26841, + 14213 + ], + "terminals": 836, + "robust": 0, + "parity_prunes": 42797, + "zero_frame_prunes": 27446, + "seconds": 0.154969 + }, + { + "basis": 140, + "alphabet_size": 8, + "complete": true, + "prefixes": 1047004, + "distance_trace_words": 143276, + "searched_words": 143276, + "states": [ + 143276, + 302206, + 192197, + 84699 + ], + "terminals": 1574, + "robust": 0, + "parity_prunes": 363017, + "zero_frame_prunes": 87733, + "seconds": 1.01706 + }, + { + "basis": 141, + "alphabet_size": 8, + "complete": true, + "prefixes": 1415074, + "distance_trace_words": 207640, + "searched_words": 207640, + "states": [ + 207640, + 365094, + 277005, + 145592 + ], + "terminals": 2973, + "robust": 0, + "parity_prunes": 455477, + "zero_frame_prunes": 132088, + "seconds": 1.45665 + }, + { + "basis": 142, + "alphabet_size": 8, + "complete": true, + "prefixes": 405217, + "distance_trace_words": 12792, + "searched_words": 12792, + "states": [ + 12792, + 24590, + 23851, + 32956 + ], + "terminals": 1859, + "robust": 0, + "parity_prunes": 25884, + "zero_frame_prunes": 19295, + "seconds": 0.117597 + }, + { + "basis": 143, + "alphabet_size": 8, + "complete": true, + "prefixes": 271167, + "distance_trace_words": 7350, + "searched_words": 7350, + "states": [ + 7350, + 15040, + 13201, + 17916 + ], + "terminals": 2464, + "robust": 0, + "parity_prunes": 14344, + "zero_frame_prunes": 11515, + "seconds": 0.0649482 + }, + { + "basis": 144, + "alphabet_size": 8, + "complete": true, + "prefixes": 591397, + "distance_trace_words": 25952, + "searched_words": 25952, + "states": [ + 25952, + 45984, + 31072, + 18318 + ], + "terminals": 526, + "robust": 0, + "parity_prunes": 50135, + "zero_frame_prunes": 17317, + "seconds": 0.152294 + }, + { + "basis": 145, + "alphabet_size": 8, + "complete": true, + "prefixes": 987173, + "distance_trace_words": 189596, + "searched_words": 189596, + "states": [ + 189596, + 758448, + 3796674, + 5368562 + ], + "terminals": 10257, + "robust": 0, + "parity_prunes": 7301356, + "zero_frame_prunes": 431748, + "seconds": 15.4444 + }, + { + "basis": 146, + "alphabet_size": 8, + "complete": true, + "prefixes": 816137, + "distance_trace_words": 269666, + "searched_words": 269666, + "states": [ + 269666, + 1394614, + 2343734, + 4921413 + ], + "terminals": 5058, + "robust": 0, + "parity_prunes": 6683770, + "zero_frame_prunes": 315026, + "seconds": 14.1255 + }, + { + "basis": 147, + "alphabet_size": 8, + "complete": true, + "prefixes": 1004123, + "distance_trace_words": 132714, + "searched_words": 132714, + "states": [ + 132714, + 313578, + 217881, + 92150 + ], + "terminals": 2291, + "robust": 0, + "parity_prunes": 387113, + "zero_frame_prunes": 102993, + "seconds": 0.964867 + }, + { + "basis": 148, + "alphabet_size": 8, + "complete": true, + "prefixes": 719807, + "distance_trace_words": 87488, + "searched_words": 87488, + "states": [ + 87488, + 194356, + 140849, + 72493 + ], + "terminals": 1726, + "robust": 0, + "parity_prunes": 263505, + "zero_frame_prunes": 49721, + "seconds": 0.610453 + }, + { + "basis": 149, + "alphabet_size": 8, + "complete": true, + "prefixes": 1551935, + "distance_trace_words": 288201, + "searched_words": 288201, + "states": [ + 288201, + 760813, + 412598, + 211095 + ], + "terminals": 3555, + "robust": 0, + "parity_prunes": 876903, + "zero_frame_prunes": 242577, + "seconds": 2.03426 + }, + { + "basis": 150, + "alphabet_size": 8, + "complete": true, + "prefixes": 988044, + "distance_trace_words": 196644, + "searched_words": 196644, + "states": [ + 196644, + 670438, + 828077, + 2106490 + ], + "terminals": 5049, + "robust": 0, + "parity_prunes": 2539266, + "zero_frame_prunes": 237701, + "seconds": 6.31674 + }, + { + "basis": 151, + "alphabet_size": 8, + "complete": true, + "prefixes": 1599386, + "distance_trace_words": 309953, + "searched_words": 309953, + "states": [ + 309953, + 1191517, + 1700093, + 2953851 + ], + "terminals": 3676, + "robust": 0, + "parity_prunes": 4358402, + "zero_frame_prunes": 272700, + "seconds": 9.37422 + }, + { + "basis": 152, + "alphabet_size": 8, + "complete": true, + "prefixes": 395300, + "distance_trace_words": 10326, + "searched_words": 10326, + "states": [ + 10326, + 20282, + 19722, + 28592 + ], + "terminals": 1432, + "robust": 0, + "parity_prunes": 21567, + "zero_frame_prunes": 15530, + "seconds": 0.092499 + }, + { + "basis": 153, + "alphabet_size": 8, + "complete": true, + "prefixes": 211155, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00234929 + }, + { + "basis": 154, + "alphabet_size": 8, + "complete": true, + "prefixes": 922759, + "distance_trace_words": 180128, + "searched_words": 180128, + "states": [ + 180128, + 758034, + 3918407, + 5421376 + ], + "terminals": 10657, + "robust": 0, + "parity_prunes": 7427637, + "zero_frame_prunes": 416983, + "seconds": 15.2938 + }, + { + "basis": 155, + "alphabet_size": 8, + "complete": true, + "prefixes": 116344, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.00130204 + }, + { + "basis": 156, + "alphabet_size": 8, + "complete": true, + "prefixes": 493917, + "distance_trace_words": 14172, + "searched_words": 14172, + "states": [ + 14172, + 28044, + 31068, + 38033 + ], + "terminals": 2406, + "robust": 0, + "parity_prunes": 29795, + "zero_frame_prunes": 23292, + "seconds": 0.127875 + }, + { + "basis": 157, + "alphabet_size": 8, + "complete": true, + "prefixes": 69771, + "distance_trace_words": 0, + "searched_words": 0, + "states": [ + 0, + 0, + 0, + 0 + ], + "terminals": 0, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 0, + "seconds": 0.000912916 + }, + { + "basis": 158, + "alphabet_size": 8, + "complete": true, + "prefixes": 484677, + "distance_trace_words": 12975, + "searched_words": 12975, + "states": [ + 12975, + 25563, + 23071, + 31006 + ], + "terminals": 4445, + "robust": 0, + "parity_prunes": 24748, + "zero_frame_prunes": 19403, + "seconds": 0.0994283 + }, + { + "basis": 159, + "alphabet_size": 8, + "complete": true, + "prefixes": 549016, + "distance_trace_words": 17513, + "searched_words": 17513, + "states": [ + 17513, + 36077, + 50398, + 50346 + ], + "terminals": 1432, + "robust": 0, + "parity_prunes": 32226, + "zero_frame_prunes": 36002, + "seconds": 0.193009 + }, + { + "basis": 160, + "alphabet_size": 8, + "complete": true, + "prefixes": 741354, + "distance_trace_words": 90072, + "searched_words": 90072, + "states": [ + 90072, + 272444, + 231423, + 235819 + ], + "terminals": 2007, + "robust": 0, + "parity_prunes": 532815, + "zero_frame_prunes": 73090, + "seconds": 1.11846 + }, + { + "basis": 161, + "alphabet_size": 8, + "complete": true, + "prefixes": 724728, + "distance_trace_words": 87488, + "searched_words": 87488, + "states": [ + 87488, + 194356, + 144418, + 73478 + ], + "terminals": 1726, + "robust": 0, + "parity_prunes": 266817, + "zero_frame_prunes": 49794, + "seconds": 0.58675 + }, + { + "basis": 162, + "alphabet_size": 8, + "complete": true, + "prefixes": 593966, + "distance_trace_words": 28349, + "searched_words": 28349, + "states": [ + 28349, + 59089, + 52317, + 33669 + ], + "terminals": 850, + "robust": 0, + "parity_prunes": 74892, + "zero_frame_prunes": 26521, + "seconds": 0.192436 + }, + { + "basis": 163, + "alphabet_size": 8, + "complete": true, + "prefixes": 312401, + "distance_trace_words": 6458, + "searched_words": 6458, + "states": [ + 6458, + 11890, + 9711, + 6447 + ], + "terminals": 426, + "robust": 0, + "parity_prunes": 15426, + "zero_frame_prunes": 4244, + "seconds": 0.0404735 + }, + { + "basis": 164, + "alphabet_size": 8, + "complete": true, + "prefixes": 1033668, + "distance_trace_words": 143276, + "searched_words": 143276, + "states": [ + 143276, + 302206, + 189604, + 81571 + ], + "terminals": 1574, + "robust": 0, + "parity_prunes": 360178, + "zero_frame_prunes": 86942, + "seconds": 0.927306 + }, + { + "basis": 165, + "alphabet_size": 8, + "complete": true, + "prefixes": 1561130, + "distance_trace_words": 309953, + "searched_words": 309953, + "states": [ + 309953, + 1191517, + 1667102, + 2806495 + ], + "terminals": 3676, + "robust": 0, + "parity_prunes": 4227628, + "zero_frame_prunes": 263222, + "seconds": 8.97335 + } + ] +} diff --git a/research/bit-clean-extra-register/expected/catalogue-audit.json b/research/bit-clean-extra-register/expected/catalogue-audit.json new file mode 100644 index 0000000000..eea310cd47 --- /dev/null +++ b/research/bit-clean-extra-register/expected/catalogue-audit.json @@ -0,0 +1,71 @@ +{ + "status": "PASS_CATALOGUE_FOR_DECLARED_THREE_SHAPES", + "unordered_binary_bases": 840, + "active_permutation_orbits": 166, + "basis_orbit_size_counts": { + "1": 6, + "3": 42, + "6": 118 + }, + "jobs": 17106, + "per_shape_distinct_jobs": { + "(2, 2, 2, 2)": 14148, + "(3, 3, 2)": 1479, + "(2, 3, 3)": 1479 + }, + "all_order_alphabet_file_exact_match": true, + "saved_search_record_coverage": 17106, + "saved_search_counts": { + "nodes": 114782, + "terminals": 656, + "low_rank_targets": 656, + "parity_prunes": 59249 + }, + "additional_shapes_counts": { + "(3, 2, 3)": 779, + "(4, 4)": 72 + }, + "additional_shape_jobs_outside_saved_catalogue": 851, + "additional_shape_jobs_also_outside_IH_scope": 831, + "valid_omitted_example_outside_IH_scope": [ + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 4, + 4 + ], + [ + 1, + 1 + ], + [ + 14, + 14 + ], + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 4, + 4 + ] + ], + "source_sha256": { + "search.py": "3f1301263134b1ed17d356f39bdd175f911c2c4cdddb5e3cab40fed6969e53bf", + "bases.py": "bb931f93b113b8368031fbfc937d8cdf4e93da976dbb94cf00fe9cc4b78f690b", + "BASIS-JOBS.json": "ac55df3fe71b66ea8147d4992e7bfd7dbefd44577b165aaa2b173eeab9e2cb99", + "ALPHABETS.txt": "9578ac3ba047a87502cc6e481f5bf8154f1c2477f3be4b2d1e7c1e8b35213da4", + "BASIS-RESULTS.jsonl": "82fbacb98c45cdb42bb0c8c66816276ef4def6ea03f9b28d3724cf4a5b8e72b6" + } +} diff --git a/research/bit-clean-extra-register/expected/clean-zero-independent-order-result.json b/research/bit-clean-extra-register/expected/clean-zero-independent-order-result.json new file mode 100644 index 0000000000..ad88643d88 --- /dev/null +++ b/research/bit-clean-extra-register/expected/clean-zero-independent-order-result.json @@ -0,0 +1 @@ +{"status":"PASS_INDEPENDENT_CLEAN_ZERO_ORDER_COVERAGE","families":216,"raw_orders":3674160,"commutation_orders":314666,"binary_word_stream_identical":true,"reversal_used":false} diff --git a/research/bit-clean-extra-register/expected/clean-zero-result.json b/research/bit-clean-extra-register/expected/clean-zero-result.json new file mode 100644 index 0000000000..8885160551 --- /dev/null +++ b/research/bit-clean-extra-register/expected/clean-zero-result.json @@ -0,0 +1,46 @@ +{ + "status": "PASS_COMPLETE_ZERO_ACTIVE_OFF_PATTERN_CLEAN_CASE", + "alphabet_size": 24, + "multisets": 216, + "raw_orders": 3674160, + "commutation_orders": 314666, + "word_sha256": "07514db121efab4f9ccd5c64c4dfc6985e2345232890bad253f902d2e9ddadc0", + "engine_totals": { + "words": 314666, + "states": [ + 314666, + 1005125, + 1024411, + 2160151 + ], + "terminals": 20430, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 1612361 + }, + "all_chunk_totals_agree": true, + "all_terminal_word_and_counts_agree": true, + "terminal_word_count": 17799, + "source_and_result_sha256": { + "generate.py": "f002f6479e244da91724ca2589c03c4067d82f2206304660a92f8355dfedb6ef", + "catalogue.json": "08b253bec9189d5384d2867a4becd0cd2196150fc60c16db5ec0f1c00ecdd010", + "words.bin": "07514db121efab4f9ccd5c64c4dfc6985e2345232890bad253f902d2e9ddadc0", + "integer.cpp": "927fcb11154edfeabfdf852c0f243f82b7d5d56475ced11bdaa3417b8528b6d9", + "field.cpp": "a39b5f3ca6dbd506c6008e356a0239173e8dff53047c4a6e71972c6c35226c9e", + "integer-canonical-results.jsonl": "dd276858e3b033cc803667405b362ac10f89fb0fa0a67f01e6a7a208fce1bc98", + "field-results.jsonl": "dd276858e3b033cc803667405b362ac10f89fb0fa0a67f01e6a7a208fce1bc98", + "integer-canonical-results.jsonl.terminals.jsonl": "867a17bff3401105972153d20a1682de7c843177388b205ff76ba2782757c096", + "field-results.jsonl.terminals.jsonl": "867a17bff3401105972153d20a1682de7c843177388b205ff76ba2782757c096", + "PROOF.txt": "4dea498aee7f2e39a0607b6d4f1e7f8f9f7ad9a5f1e72241743180f1775fb7e7" + }, + "independent_front_end_audit": { + "status": "PASS_INDEPENDENT_CLEAN_ZERO_ORDER_COVERAGE", + "families": 216, + "raw_orders": 3674160, + "commutation_orders": 314666, + "binary_word_stream_identical": true, + "reversal_used": false + }, + "multiplicity_reduction": "Independent analytical proof and exact finite check agree", + "independent_front_end_receipt_sha256": "7dcd340eedf19388a4a2db364be4a00388e93a38ab4d08d7729971c88d1d2632" +} diff --git a/research/bit-clean-extra-register/expected/selected-comparison.json b/research/bit-clean-extra-register/expected/selected-comparison.json new file mode 100644 index 0000000000..c793196c2b --- /dev/null +++ b/research/bit-clean-extra-register/expected/selected-comparison.json @@ -0,0 +1,2648 @@ +{ + "status": "PASS_SELECTED_RATIONAL_FIELD_COMPARISON", + "cases": 48, + "selection": "24 nonsymmetric catalogue cases with the most terminals; 24 fixed-seed all-order words, with repeats permitted", + "scope": "Selected-case comparison, not a second full replay of all basis alphabets", + "results": [ + { + "case": 0, + "word": [ + [ + 1, + 9 + ], + [ + 6, + 10 + ], + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 4, + 4 + ], + [ + 1, + 9 + ], + [ + 11, + 6 + ], + [ + 15, + 14 + ] + ], + "fraction_stats": { + "nodes": 15, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 5 + }, + "fraction_survivors": 0, + "field": { + "case": 0, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 5, + 8, + 5 + ] + } + }, + { + "case": 1, + "word": [ + [ + 1, + 1 + ], + [ + 6, + 10 + ], + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 4, + 4 + ], + [ + 1, + 1 + ], + [ + 10, + 6 + ], + [ + 14, + 14 + ] + ], + "fraction_stats": { + "nodes": 14, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 4 + }, + "fraction_survivors": 0, + "field": { + "case": 1, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 5, + 7, + 5 + ] + } + }, + { + "case": 2, + "word": [ + [ + 3, + 13 + ], + [ + 11, + 15 + ], + [ + 12, + 4 + ], + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 4, + 4 + ], + [ + 9, + 3 + ], + [ + 12, + 4 + ] + ], + "fraction_stats": { + "nodes": 14, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 4 + }, + "fraction_survivors": 0, + "field": { + "case": 2, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 5, + 9, + 5 + ] + } + }, + { + "case": 3, + "word": [ + [ + 1, + 1 + ], + [ + 6, + 10 + ], + [ + 14, + 14 + ], + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 4, + 4 + ], + [ + 1, + 1 + ], + [ + 10, + 6 + ] + ], + "fraction_stats": { + "nodes": 13, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 3 + }, + "fraction_survivors": 0, + "field": { + "case": 3, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 5, + 8, + 5 + ] + } + }, + { + "case": 4, + "word": [ + [ + 1, + 3 + ], + [ + 3, + 6 + ], + [ + 7, + 12 + ], + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 4, + 4 + ], + [ + 1, + 3 + ], + [ + 15, + 8 + ] + ], + "fraction_stats": { + "nodes": 7, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 4, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 5, + "word": [ + [ + 1, + 3 + ], + [ + 3, + 14 + ], + [ + 7, + 12 + ], + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 4, + 4 + ], + [ + 1, + 3 + ], + [ + 12, + 8 + ] + ], + "fraction_stats": { + "nodes": 7, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 5, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 6, + "word": [ + [ + 1, + 11 + ], + [ + 3, + 6 + ], + [ + 7, + 12 + ], + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 4, + 4 + ], + [ + 1, + 11 + ], + [ + 14, + 8 + ] + ], + "fraction_stats": { + "nodes": 7, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 6, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 7, + "word": [ + [ + 1, + 11 + ], + [ + 3, + 14 + ], + [ + 7, + 12 + ], + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 4, + 4 + ], + [ + 1, + 11 + ], + [ + 13, + 8 + ] + ], + "fraction_stats": { + "nodes": 7, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 7, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 8, + "word": [ + [ + 3, + 1 + ], + [ + 8, + 12 + ], + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 4, + 4 + ], + [ + 3, + 1 + ], + [ + 12, + 7 + ], + [ + 14, + 3 + ] + ], + "fraction_stats": { + "nodes": 7, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 8, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 9, + "word": [ + [ + 3, + 1 + ], + [ + 8, + 15 + ], + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 4, + 4 + ], + [ + 3, + 1 + ], + [ + 6, + 3 + ], + [ + 12, + 7 + ] + ], + "fraction_stats": { + "nodes": 7, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 9, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 10, + "word": [ + [ + 3, + 5 + ], + [ + 10, + 7 + ], + [ + 13, + 4 + ], + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 4, + 4 + ], + [ + 8, + 11 + ], + [ + 13, + 4 + ] + ], + "fraction_stats": { + "nodes": 7, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 10, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 11, + "word": [ + [ + 8, + 11 + ], + [ + 13, + 1 + ], + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 4, + 4 + ], + [ + 10, + 7 + ], + [ + 13, + 1 + ], + [ + 14, + 5 + ] + ], + "fraction_stats": { + "nodes": 7, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 11, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 12, + "word": [ + [ + 9, + 7 + ], + [ + 11, + 6 + ], + [ + 14, + 4 + ], + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 4, + 4 + ], + [ + 8, + 13 + ], + [ + 14, + 4 + ] + ], + "fraction_stats": { + "nodes": 7, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 12, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 13, + "word": [ + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 1, + 5 + ], + [ + 10, + 8 + ], + [ + 1, + 1 + ], + [ + 4, + 4 + ], + [ + 5, + 14 + ], + [ + 7, + 10 + ] + ], + "fraction_stats": { + "nodes": 6, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 13, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 14, + "word": [ + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 1, + 5 + ], + [ + 15, + 8 + ], + [ + 1, + 1 + ], + [ + 4, + 4 + ], + [ + 5, + 6 + ], + [ + 7, + 10 + ] + ], + "fraction_stats": { + "nodes": 6, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 14, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 15, + "word": [ + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 1, + 7 + ], + [ + 3, + 10 + ], + [ + 1, + 1 + ], + [ + 4, + 4 + ], + [ + 5, + 12 + ], + [ + 14, + 8 + ] + ], + "fraction_stats": { + "nodes": 6, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 15, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 16, + "word": [ + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 1, + 13 + ], + [ + 11, + 8 + ], + [ + 1, + 1 + ], + [ + 4, + 4 + ], + [ + 5, + 14 + ], + [ + 7, + 10 + ] + ], + "fraction_stats": { + "nodes": 6, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 16, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 17, + "word": [ + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 1, + 13 + ], + [ + 14, + 8 + ], + [ + 1, + 1 + ], + [ + 4, + 4 + ], + [ + 5, + 6 + ], + [ + 7, + 10 + ] + ], + "fraction_stats": { + "nodes": 6, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 17, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 18, + "word": [ + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 1, + 15 + ], + [ + 3, + 10 + ], + [ + 1, + 1 + ], + [ + 4, + 4 + ], + [ + 5, + 12 + ], + [ + 15, + 8 + ] + ], + "fraction_stats": { + "nodes": 6, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 18, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 19, + "word": [ + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 5, + 1 + ], + [ + 8, + 15 + ], + [ + 1, + 1 + ], + [ + 4, + 4 + ], + [ + 6, + 5 + ], + [ + 10, + 7 + ] + ], + "fraction_stats": { + "nodes": 6, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 19, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 20, + "word": [ + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 5, + 1 + ], + [ + 8, + 10 + ], + [ + 1, + 1 + ], + [ + 4, + 4 + ], + [ + 10, + 7 + ], + [ + 14, + 5 + ] + ], + "fraction_stats": { + "nodes": 6, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 20, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 21, + "word": [ + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 5, + 6 + ], + [ + 7, + 10 + ], + [ + 1, + 1 + ], + [ + 4, + 4 + ], + [ + 1, + 5 + ], + [ + 15, + 8 + ] + ], + "fraction_stats": { + "nodes": 6, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 21, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 22, + "word": [ + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 5, + 6 + ], + [ + 7, + 10 + ], + [ + 1, + 1 + ], + [ + 4, + 4 + ], + [ + 1, + 13 + ], + [ + 14, + 8 + ] + ], + "fraction_stats": { + "nodes": 6, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 22, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 23, + "word": [ + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 5, + 6 + ], + [ + 9, + 7 + ], + [ + 2, + 2 + ], + [ + 4, + 4 + ], + [ + 6, + 2 + ], + [ + 8, + 15 + ] + ], + "fraction_stats": { + "nodes": 6, + "terminals": 2, + "low_rank_targets": 2, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 23, + "terminals": 2, + "robust": 0, + "states": [ + 1, + 1, + 3, + 2 + ] + } + }, + { + "case": 24, + "word": [ + [ + 6, + 12 + ], + [ + 15, + 7 + ], + [ + 6, + 12 + ], + [ + 3, + 9 + ], + [ + 1, + 1 + ], + [ + 1, + 1 + ], + [ + 6, + 12 + ], + [ + 15, + 7 + ] + ], + "fraction_stats": { + "nodes": 3, + "terminals": 0, + "low_rank_targets": 0, + "parity_prunes": 2 + }, + "fraction_survivors": 0, + "field": { + "case": 24, + "terminals": 0, + "robust": 0, + "states": [ + 1, + 3, + 0, + 0 + ] + } + }, + { + "case": 25, + "word": [ + [ + 1, + 1 + ], + [ + 2, + 14 + ], + [ + 8, + 8 + ], + [ + 4, + 4 + ], + [ + 12, + 4 + ], + [ + 1, + 1 + ], + [ + 1, + 1 + ], + [ + 8, + 8 + ] + ], + "fraction_stats": { + "nodes": 7, + "terminals": 0, + "low_rank_targets": 0, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 25, + "terminals": 0, + "robust": 0, + "states": [ + 1, + 5, + 6, + 1 + ] + } + }, + { + "case": 26, + "word": [ + [ + 4, + 4 + ], + [ + 8, + 8 + ], + [ + 6, + 2 + ], + [ + 13, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 1 + ], + [ + 4, + 4 + ], + [ + 1, + 9 + ] + ], + "fraction_stats": { + "nodes": 1, + "terminals": 0, + "low_rank_targets": 0, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 26, + "terminals": 0, + "robust": 0, + "states": [ + 1, + 1, + 0, + 0 + ] + } + }, + { + "case": 27, + "word": [ + [ + 8, + 12 + ], + [ + 8, + 8 + ], + [ + 3, + 1 + ], + [ + 8, + 8 + ], + [ + 8, + 12 + ], + [ + 2, + 2 + ], + [ + 4, + 4 + ], + [ + 14, + 3 + ] + ], + "fraction_stats": { + "nodes": 1, + "terminals": 0, + "low_rank_targets": 0, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 27, + "terminals": 0, + "robust": 0, + "states": [ + 1, + 1, + 0, + 0 + ] + } + }, + { + "case": 28, + "word": [ + [ + 8, + 8 + ], + [ + 3, + 6 + ], + [ + 3, + 6 + ], + [ + 3, + 6 + ], + [ + 1, + 3 + ], + [ + 3, + 6 + ], + [ + 8, + 8 + ], + [ + 8, + 8 + ] + ], + "fraction_stats": { + "nodes": 2, + "terminals": 0, + "low_rank_targets": 0, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 28, + "terminals": 0, + "robust": 0, + "states": [ + 1, + 1, + 1, + 0 + ] + } + }, + { + "case": 29, + "word": [ + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 8, + 8 + ], + [ + 1, + 1 + ], + [ + 8, + 8 + ], + [ + 4, + 12 + ], + [ + 4, + 4 + ], + [ + 2, + 10 + ] + ], + "fraction_stats": { + "nodes": 1, + "terminals": 1, + "low_rank_targets": 1, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 29, + "terminals": 1, + "robust": 0, + "states": [ + 1, + 0, + 0, + 0 + ] + } + }, + { + "case": 30, + "word": [ + [ + 1, + 11 + ], + [ + 1, + 11 + ], + [ + 7, + 2 + ], + [ + 8, + 8 + ], + [ + 9, + 14 + ], + [ + 7, + 2 + ], + [ + 9, + 14 + ], + [ + 1, + 11 + ] + ], + "fraction_stats": { + "nodes": 8, + "terminals": 1, + "low_rank_targets": 1, + "parity_prunes": 4 + }, + "fraction_survivors": 0, + "field": { + "case": 30, + "terminals": 1, + "robust": 0, + "states": [ + 1, + 1, + 5, + 1 + ] + } + }, + { + "case": 31, + "word": [ + [ + 2, + 2 + ], + [ + 4, + 6 + ], + [ + 8, + 8 + ], + [ + 2, + 2 + ], + [ + 8, + 8 + ], + [ + 4, + 6 + ], + [ + 1, + 3 + ], + [ + 4, + 4 + ] + ], + "fraction_stats": { + "nodes": 1, + "terminals": 0, + "low_rank_targets": 0, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 31, + "terminals": 0, + "robust": 0, + "states": [ + 1, + 1, + 0, + 0 + ] + } + }, + { + "case": 32, + "word": [ + [ + 14, + 2 + ], + [ + 2, + 2 + ], + [ + 13, + 6 + ], + [ + 9, + 7 + ], + [ + 8, + 8 + ], + [ + 1, + 1 + ], + [ + 13, + 6 + ], + [ + 14, + 2 + ] + ], + "fraction_stats": { + "nodes": 6, + "terminals": 0, + "low_rank_targets": 0, + "parity_prunes": 2 + }, + "fraction_survivors": 0, + "field": { + "case": 32, + "terminals": 0, + "robust": 0, + "states": [ + 1, + 3, + 2, + 3 + ] + } + }, + { + "case": 33, + "word": [ + [ + 4, + 14 + ], + [ + 4, + 4 + ], + [ + 4, + 14 + ], + [ + 11, + 8 + ], + [ + 4, + 14 + ], + [ + 1, + 1 + ], + [ + 7, + 10 + ], + [ + 8, + 8 + ] + ], + "fraction_stats": { + "nodes": 1, + "terminals": 0, + "low_rank_targets": 0, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 33, + "terminals": 0, + "robust": 0, + "states": [ + 1, + 1, + 0, + 0 + ] + } + }, + { + "case": 34, + "word": [ + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 1, + 1 + ], + [ + 1, + 1 + ], + [ + 10, + 8 + ], + [ + 10, + 8 + ], + [ + 10, + 8 + ], + [ + 10, + 8 + ] + ], + "fraction_stats": { + "nodes": 2, + "terminals": 1, + "low_rank_targets": 1, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 34, + "terminals": 1, + "robust": 0, + "states": [ + 1, + 1, + 0, + 0 + ] + } + }, + { + "case": 35, + "word": [ + [ + 11, + 12 + ], + [ + 8, + 8 + ], + [ + 2, + 2 + ], + [ + 15, + 7 + ], + [ + 11, + 12 + ], + [ + 3, + 9 + ], + [ + 1, + 1 + ], + [ + 8, + 8 + ] + ], + "fraction_stats": { + "nodes": 1, + "terminals": 0, + "low_rank_targets": 0, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 35, + "terminals": 0, + "robust": 0, + "states": [ + 1, + 1, + 0, + 0 + ] + } + }, + { + "case": 36, + "word": [ + [ + 1, + 11 + ], + [ + 1, + 11 + ], + [ + 1, + 1 + ], + [ + 8, + 8 + ], + [ + 1, + 1 + ], + [ + 14, + 14 + ], + [ + 7, + 10 + ], + [ + 1, + 1 + ] + ], + "fraction_stats": { + "nodes": 1, + "terminals": 0, + "low_rank_targets": 0, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 36, + "terminals": 0, + "robust": 0, + "states": [ + 1, + 1, + 0, + 0 + ] + } + }, + { + "case": 37, + "word": [ + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 1, + 1 + ], + [ + 7, + 10 + ], + [ + 14, + 14 + ], + [ + 10, + 6 + ], + [ + 4, + 4 + ], + [ + 10, + 6 + ] + ], + "fraction_stats": { + "nodes": 5, + "terminals": 0, + "low_rank_targets": 0, + "parity_prunes": 3 + }, + "fraction_survivors": 0, + "field": { + "case": 37, + "terminals": 0, + "robust": 0, + "states": [ + 1, + 1, + 3, + 0 + ] + } + }, + { + "case": 38, + "word": [ + [ + 11, + 11 + ], + [ + 4, + 4 + ], + [ + 14, + 9 + ], + [ + 4, + 4 + ], + [ + 9, + 7 + ], + [ + 2, + 2 + ], + [ + 14, + 9 + ], + [ + 13, + 13 + ] + ], + "fraction_stats": { + "nodes": 5, + "terminals": 0, + "low_rank_targets": 0, + "parity_prunes": 2 + }, + "fraction_survivors": 0, + "field": { + "case": 38, + "terminals": 0, + "robust": 0, + "states": [ + 1, + 1, + 1, + 3 + ] + } + }, + { + "case": 39, + "word": [ + [ + 10, + 8 + ], + [ + 10, + 8 + ], + [ + 3, + 14 + ], + [ + 3, + 14 + ], + [ + 4, + 4 + ], + [ + 2, + 2 + ], + [ + 10, + 8 + ], + [ + 6, + 4 + ] + ], + "fraction_stats": { + "nodes": 2, + "terminals": 0, + "low_rank_targets": 0, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 39, + "terminals": 0, + "robust": 0, + "states": [ + 1, + 1, + 1, + 0 + ] + } + }, + { + "case": 40, + "word": [ + [ + 8, + 8 + ], + [ + 15, + 14 + ], + [ + 1, + 1 + ], + [ + 4, + 4 + ], + [ + 2, + 2 + ], + [ + 4, + 4 + ], + [ + 1, + 3 + ], + [ + 2, + 2 + ] + ], + "fraction_stats": { + "nodes": 1, + "terminals": 0, + "low_rank_targets": 0, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 40, + "terminals": 0, + "robust": 0, + "states": [ + 1, + 1, + 0, + 0 + ] + } + }, + { + "case": 41, + "word": [ + [ + 4, + 4 + ], + [ + 1, + 11 + ], + [ + 4, + 4 + ], + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 4, + 14 + ], + [ + 8, + 8 + ], + [ + 2, + 2 + ] + ], + "fraction_stats": { + "nodes": 1, + "terminals": 0, + "low_rank_targets": 0, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 41, + "terminals": 0, + "robust": 0, + "states": [ + 1, + 1, + 0, + 0 + ] + } + }, + { + "case": 42, + "word": [ + [ + 1, + 1 + ], + [ + 8, + 8 + ], + [ + 8, + 8 + ], + [ + 2, + 14 + ], + [ + 12, + 4 + ], + [ + 8, + 8 + ], + [ + 1, + 1 + ], + [ + 1, + 1 + ] + ], + "fraction_stats": { + "nodes": 1, + "terminals": 0, + "low_rank_targets": 0, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 42, + "terminals": 0, + "robust": 0, + "states": [ + 1, + 1, + 0, + 0 + ] + } + }, + { + "case": 43, + "word": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ], + [ + 10, + 12 + ], + [ + 13, + 10 + ], + [ + 2, + 2 + ], + [ + 10, + 12 + ], + [ + 8, + 8 + ], + [ + 13, + 10 + ] + ], + "fraction_stats": { + "nodes": 4, + "terminals": 0, + "low_rank_targets": 0, + "parity_prunes": 3 + }, + "fraction_survivors": 0, + "field": { + "case": 43, + "terminals": 0, + "robust": 0, + "states": [ + 1, + 3, + 0, + 0 + ] + } + }, + { + "case": 44, + "word": [ + [ + 3, + 1 + ], + [ + 10, + 3 + ], + [ + 8, + 15 + ], + [ + 12, + 4 + ], + [ + 8, + 8 + ], + [ + 3, + 1 + ], + [ + 10, + 3 + ], + [ + 1, + 1 + ] + ], + "fraction_stats": { + "nodes": 2, + "terminals": 1, + "low_rank_targets": 1, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 44, + "terminals": 1, + "robust": 0, + "states": [ + 1, + 1, + 0, + 0 + ] + } + }, + { + "case": 45, + "word": [ + [ + 13, + 4 + ], + [ + 11, + 12 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 1, + 1 + ], + [ + 1, + 7 + ], + [ + 1, + 7 + ], + [ + 11, + 12 + ] + ], + "fraction_stats": { + "nodes": 4, + "terminals": 0, + "low_rank_targets": 0, + "parity_prunes": 2 + }, + "fraction_survivors": 0, + "field": { + "case": 45, + "terminals": 0, + "robust": 0, + "states": [ + 1, + 1, + 3, + 0 + ] + } + }, + { + "case": 46, + "word": [ + [ + 1, + 15 + ], + [ + 1, + 15 + ], + [ + 10, + 6 + ], + [ + 15, + 14 + ], + [ + 1, + 1 + ], + [ + 10, + 6 + ], + [ + 6, + 10 + ], + [ + 8, + 8 + ] + ], + "fraction_stats": { + "nodes": 4, + "terminals": 1, + "low_rank_targets": 1, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 46, + "terminals": 1, + "robust": 0, + "states": [ + 1, + 1, + 1, + 1 + ] + } + }, + { + "case": 47, + "word": [ + [ + 14, + 8 + ], + [ + 14, + 8 + ], + [ + 1, + 1 + ], + [ + 4, + 4 + ], + [ + 2, + 10 + ], + [ + 1, + 1 + ], + [ + 4, + 4 + ], + [ + 14, + 8 + ] + ], + "fraction_stats": { + "nodes": 1, + "terminals": 1, + "low_rank_targets": 1, + "parity_prunes": 0 + }, + "fraction_survivors": 0, + "field": { + "case": 47, + "terminals": 1, + "robust": 0, + "states": [ + 1, + 0, + 0, + 0 + ] + } + } + ] +} diff --git a/research/bit-clean-extra-register/replay.log b/research/bit-clean-extra-register/replay.log new file mode 100644 index 0000000000..5900a083cc --- /dev/null +++ b/research/bit-clean-extra-register/replay.log @@ -0,0 +1,11 @@ +Run: /usr/bin/clang++ -O3 -std=c++17 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/four-register/independent/clean-zero/integer.cpp -o /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/four-register/independent/clean-zero/integer +Run: /usr/bin/clang++ -O3 -std=c++17 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/four-register/independent/clean-zero/field.cpp -o /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/four-register/independent/clean-zero/field +Run: /usr/bin/clang++ -O3 -std=c++17 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/four-register/independent-audit/check_clean_zero_orders.cpp -o /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/four-register/independent-audit/orders +Run: /usr/bin/clang++ -O3 -std=c++17 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/doubling-architecture/clean-ancilla/two_bases.cpp -o /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/doubling-architecture/clean-ancilla/two_bases +Run: /usr/bin/clang++ -O3 -std=c++17 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/doubling-architecture/rank-independent/clean-audit/selected_words.cpp -o /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/doubling-architecture/rank-independent/clean-audit/selected_words +Run: /opt/homebrew/opt/python@3.14/bin/python3.14 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/four-register/independent/clean-zero/generate.py +Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/four-register/independent-audit/orders /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/four-register/independent-audit/clean-zero-family-metadata.txt /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/four-register/independent/clean-zero/words.bin +Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/four-register/independent/clean-zero/integer /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/four-register/independent/clean-zero/words.bin /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/four-register/independent/clean-zero/integer.jsonl +Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/four-register/independent/clean-zero/field /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/four-register/independent/clean-zero/words.bin /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/four-register/independent/clean-zero/field.jsonl +Run: /opt/homebrew/opt/python@3.14/bin/python3.14 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/early-projects-audit/checks/clean-full/sources/doubling-architecture/clean-ancilla/run_two_bases.py +PASS_CLEAN_RESTRICTED_CLASSES 314666 7406643 diff --git a/research/bit-clean-extra-register/replayed-receipt.json b/research/bit-clean-extra-register/replayed-receipt.json new file mode 100644 index 0000000000..71c580ce5b --- /dev/null +++ b/research/bit-clean-extra-register/replayed-receipt.json @@ -0,0 +1,49 @@ +{ + "status": "PASS_CLEAN_RESTRICTED_CLASSES", + "clean_zero": { + "words": 314666, + "states": [ + 314666, + 1005125, + 1024411, + 2160151 + ], + "terminals": 20430, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 1612361 + }, + "independent_orders": { + "status": "PASS_INDEPENDENT_CLEAN_ZERO_ORDER_COVERAGE", + "families": 216, + "raw_orders": 3674160, + "commutation_orders": 314666, + "binary_word_stream_identical": true, + "reversal_used": false + }, + "basis_catalogue": { + "unordered_bases": 840, + "alphabets": 166, + "orbit_sizes": { + "1": 6, + "3": 42, + "6": 118 + } + }, + "all_basis": { + "alphabets": 166, + "completed": 166, + "searched_words": 7406643, + "states": [ + 7406643, + 24410375, + 59745229, + 89537683 + ], + "terminals": 262735, + "robust": 0 + }, + "selected_rational_field_words": 48, + "source_manifest_sha256": "f6936c24dcabf23a7d07e85fe1f098ba649a42913f4d545e6062a9de37fa1541", + "scope": "Restricted clean endpoint; frame spans five and six remain open." +} diff --git a/research/bit-clean-extra-register/review/REMOTE-PREDECESSORS.json b/research/bit-clean-extra-register/review/REMOTE-PREDECESSORS.json new file mode 100644 index 0000000000..b002faf532 --- /dev/null +++ b/research/bit-clean-extra-register/review/REMOTE-PREDECESSORS.json @@ -0,0 +1,26 @@ +{ + "pr203": { + "author": { + "id": "MDQ6VXNlcjU4MDc1ODUz", + "is_bot": false, + "login": "huxint", + "name": "huxint" + }, + "body": "Current paired-cube refinements leave substantial data-interface and copied-center costs in place. This research package proves explicit limits on several such continuations and tests a different small-network construction. **It reports no new multiplication exponent.**\n\nThe new statements are:\n\n- Keeping the pinned #193 complex or #187 bit data calls cannot reach kappa=0.01 even if every auxiliary call and all center loss are granted for free: the ordinary-saving ceilings are below 0.008867 and 0.008898.\n- A stated odd-dimensional paired-cube family remains below 0.008094 even with arbitrary local data chains and zero auxiliary entropy. The check includes an analytic infinite tail, not only a finite parameter scan.\n- For paired triples with p>=5, every nonzero linear combination of coordinate stars has binary source-support span at least h-2. Consequently any factorization through exactly h copied centers costs at least h(h-2); the current stars attain equality. Overcomplete center factors and different center implementations remain open.\n- A common triangular flag for every rational frame in the general finite bit contract forces s>=Wm. The argument also covers commuting frames whose common eigenbasis is not rational.\n- On all 87 chronological reuses of the balanced Fano model, every completed scalar permutation obtainable from local GL(2,F2) gates is routable. This extends the earlier fixed-terminal test to every auxiliary/data output permutation in this bounded family.\n\nOnly a self-contained research package and its workflow are added to main. Inputs from the unmerged supplier PRs are small pinned profiles; reproduction does not fetch or run those suppliers and does not enlarge their validation scope. The proofs state the interface assumptions and exclusions separately. Optional vector-code solver receipts are not used as independently checked impossibility certificates.\n\nValidation passed on a clean checkout based on main 3b6b668:\n\n```sh\npython -B -S research/percent-exponent-architecture/verify.py --deep\n```\n\nThis regenerates the rational ceilings, checks 59,048 nonzero finite center-coefficient controls and sharp examples, runs seven adverse/unit controls, exhausts the 87 scalar/routing cases in C++17, compares the matching algorithm with eight direct full-word enumerations, and independently replays all 16 retained-demand cases with Python. Verification leaves the checkout unchanged. CI repeats the exact package on Python 3.11 and 3.14.\n\nThe whole multiplication theorem remains conditional on its inherited analytic, all-size, precision, row and fixed-tape interfaces. The existing construction, supplier certificates and claimed kappa are unchanged.\n\nCredits and source hashes are in the package NOTICE and manifests, including the paired-cube/compiler authors, #193 and #187 suppliers, DaysSky's #192 entropy ceiling, romainhedouin's #183 assembly ceiling, and the repository's earlier Fano investigations. Prepared for huxint with substantial OpenAI Codex assistance.\n", + "headRefOid": "d2873e20750d0949d2ad75cbc4cd82b5b1a74e84", + "number": 203, + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/203" + }, + "files": [ + { + "url": "https://github.com/huxint/integer-mult-bounds/blob/d2873e20750d0949d2ad75cbc4cd82b5b1a74e84/research/percent-exponent-architecture/PROOF.md", + "sha256": "b2830274450bcaa4fbc169e8a78a9b8f5d93c5ab41812a0216f33e0fdbd6d7a5", + "bytes": 16588 + }, + { + "url": "https://github.com/eumemic/integer-mult-bounds/blob/475a088b5862f75f0b10596cfd6842d19531a5ec/research/negative-results-paradigm-search/README.md", + "sha256": "c091e98c415e2a80bb28402b789363eb97dd3492061ca8875e421ae437de7482", + "bytes": 32216 + } + ] +} diff --git a/research/bit-clean-extra-register/review/REVIEW.json b/research/bit-clean-extra-register/review/REVIEW.json new file mode 100644 index 0000000000..18d7b5f377 --- /dev/null +++ b/research/bit-clean-extra-register/review/REVIEW.json @@ -0,0 +1,144 @@ +{ + "status": "APPROVED_SCOPED_RESULTS", + "timestamp_utc": "2026-10-23T04:09:53.766751+00:00", + "reviewer": "Independent OpenAI Codex agent /root/clean_register_review", + "human_review": false, + "proof_assistant_verification": false, + "main_pin": "cef4b52f2a59009865bf8eabde1be3f159063703", + "claims": [ + "Span at most four needs 3W calls with clean discarded workspace and lower-triangular invertible targets.", + "For eight calls, span eight is impossible; span seven forces zero active off-diagonal entries.", + "The complete 24-projector zero-active-off-pattern alphabet on four registers has no eight-call solution.", + "The coordinate-plus-one-basis alphabet on four registers has no eight-call solution." + ], + "fresh_replay": { + "status": "PASS_CLEAN_RESTRICTED_CLASSES", + "clean_zero": { + "words": 314666, + "states": [ + 314666, + 1005125, + 1024411, + 2160151 + ], + "terminals": 20430, + "robust": 0, + "parity_prunes": 0, + "zero_frame_prunes": 1612361 + }, + "independent_orders": { + "status": "PASS_INDEPENDENT_CLEAN_ZERO_ORDER_COVERAGE", + "families": 216, + "raw_orders": 3674160, + "commutation_orders": 314666, + "binary_word_stream_identical": true, + "reversal_used": false + }, + "basis_catalogue": { + "unordered_bases": 840, + "alphabets": 166, + "orbit_sizes": { + "1": 6, + "3": 42, + "6": 118 + } + }, + "all_basis": { + "alphabets": 166, + "completed": 166, + "searched_words": 7406643, + "states": [ + 7406643, + 24410375, + 59745229, + 89537683 + ], + "terminals": 262735, + "robust": 0 + }, + "selected_rational_field_words": 48, + "source_manifest_sha256": "f6936c24dcabf23a7d07e85fe1f098ba649a42913f4d545e6062a9de37fa1541", + "scope": "Restricted clean endpoint; frame spans five and six remain open." + }, + "selected_fraction_and_field_terminal_count": 54, + "full_replay_matches_primary_receipt": true, + "controls": { + "status": "PASS_INDEPENDENT_CONTROLS", + "polynomial_engines": [ + { + "engine": "integer", + "output": "0 1 1\n1 1 0\n2 1 1\n3 0 0\n4 1 0\n", + "source_sha256": "927fcb11154edfeabfdf852c0f243f82b7d5d56475ced11bdaa3417b8528b6d9" + }, + { + "engine": "field", + "output": "0 1 1\n1 1 0\n2 1 1\n3 0 0\n4 1 0\n", + "source_sha256": "a39b5f3ca6dbd506c6008e356a0239173e8dff53047c4a6e71972c6c35226c9e" + } + ], + "fixture_scope": "Five polynomial fixtures; these are not paid-call circuit constructions.", + "fixtures": [ + "accept monomial targets of support three", + "reject a target of support two", + "accept after a required collision", + "reject a collision that forces a zero paid frame", + "reject a target reduced to a two-frame span" + ], + "optimized_python_rejected": true, + "source_corruption_rejected": true, + "child_optimization_environment_ignored": true + }, + "independent_reductions": { + "status": "PASS_INDEPENDENT_FINITE_REDUCTIONS", + "all_rank_one_idempotents": 120, + "zero_active_off_pattern_projectors": 24, + "distance_feasible_families": [ + { + "active_counts": [ + 2, + 2, + 2 + ], + "extra": [ + 7 + ] + } + ], + "active_rank_one_completion_patterns": { + "coordinate_plane": 6, + "coordinate_image_or_row": 6, + "unique": 16 + } + }, + "commands": [ + "python3 -B work/project-final-cleanup-20261022/early-projects-audit/packages/bit-clean-extra-register/verify.py --build work/project-final-cleanup-20261022/reviews/clean-register/replay", + "python3 -B work/project-final-cleanup-20261022/reviews/clean-register/check_reductions.py", + "python3 -B work/project-final-cleanup-20261022/reviews/clean-register/check_controls.py --package work/project-final-cleanup-20261022/early-projects-audit/packages/bit-clean-extra-register --build work/project-final-cleanup-20261022/reviews/clean-register/controls" + ], + "one_worker": true, + "full_replay_wrapper": { + "sha256": "ceb386dfda20481b46bf7fe638058f8a229ee23bf1b67c35247c74a52a692def", + "method": "Reconstructed from final wrapper by undoing the one later child-command change. Its child command matches replay.log.", + "final_sha256": "1d4df214f03e657ebf8de2ec2ebb9df405a3ed480fd10f255c0670b4f86ea54d", + "later_change": "Added -E -B to the Python generator child; frozen sources and mathematical checks did not change.", + "verification": "Final wrapper change received source review and an explicit PYTHONOPTIMIZE=2 isolation control. The complete census was not repeated for this command-only change." + }, + "resolved_findings": [ + "The portable runner now executes the 166 basis jobs in sequence.", + "README fixes the endpoint to the listed paid product and excludes an extra final free scalar map.", + "README retains precise PR203 credit; live attribution and pinned sources were checked.", + "README distinguishes relocated receipts from omitted historical layer-only and returned-register controls." + ], + "missing_material_inputs": [], + "limits": [ + "No exclusion of all clean-helper circuits. Frame spans five and six remain open in the stated model.", + "The full 7,406,643-word basis census has one arithmetic implementation. Only 48 selected words have Fraction corroboration.", + "The five new polynomial controls are not paid-call circuit constructions.", + "The final free scalar map is outside the contract.", + "No native supplier, complete kappa calculation, official frontier update, or human review is claimed." + ], + "kappa_improvement": false, + "publication_checks_remaining": [ + "Coordinator must verify final commit links and rendered PR description." + ] +} diff --git a/research/bit-clean-extra-register/review/REVIEW.md b/research/bit-clean-extra-register/review/REVIEW.md new file mode 100644 index 0000000000..77b3287257 --- /dev/null +++ b/research/bit-clean-extra-register/review/REVIEW.md @@ -0,0 +1,161 @@ +# Independent agent review: clean extra register + +Review scope: `bit-clean-extra-register`, in the publication staging area. +This review uses main commit `cef4b52f2a59009865bf8eabde1be3f159063703`. +The review is by a separate OpenAI Codex agent. It is not human review or +proof-assistant verification. The review did not start a new research search. + +## Claims reviewed + +The required endpoint is the upper-left active block of the product of paid +factors. There are three active inputs and one input set to zero. The fourth +output is not used. The three target frames are invertible, lower triangular +matrices over the rationals. Each paid address frame has nonzero rank one. +Each scalar coupling is a binary rank-one idempotent. + +The statements do not cover arbitrary final free scalar maps after the paid +product. In this endpoint model, augmentation fixes only the active block. +The full-endpoint argument that removes a final free scalar map in PR #468 +therefore cannot be imported without an additional proof. + +The written and finite results are: + +1. Paid-frame span at most four needs at least `3W` calls for `W` invertible + lower-triangular targets, with any finite number of zero input registers + whose outputs are not used. +2. Eight independent paid frames cannot serve three such targets. At span + seven, every scalar projector has zero active off-diagonal entries. +3. For one extra register, all 24 projectors with that zero pattern are + excluded at eight calls. +4. For one extra register, the union of the coordinate-basis projectors and + one arbitrary binary basis is excluded at eight calls. + +These results do not exclude all eight-call circuits with a clean input. +Frame spans five and six, a nonzero active off-diagonal pattern, and an +alphabet outside the coordinate-plus-one-basis class remain open here. +The package gives no complete supplier, new construction, or new kappa. + +## Written proof checks + +The compact factorization `P-I=XTY^T` remains valid after compression to +the active block. The nonzero projected factors give an invertible triangular +`T` over the Laurent fraction field. If that block is zero, Sylvester's +inequality gives the stated sum of the two active ranks. No assertion about +the fourth row or column is needed. + +For the span-four reduction, the determinant expansion gives three paid +frames whose left vectors and right vectors are both independent. After +common row and column maps, the span has the form `D+tuv^T`. If `u` and `v` +have full support, the mixed minors force every rank-one member onto one +of the four basis lines. The sum of the projected active ranks gives `3W`. +Otherwise the directed support has blocks of size at most two. A rank-one +member has at most one nonzero diagonal block. The common rational flag of +the target ratios descends to each invariant subquotient. The compressed +two-dimensional flag bound and the one-dimensional rank bound then add to +`3W`. The lower-triangular target assumption is used in this step. + +For the one-relation reduction, a primitive relation with an entry of +absolute value at least two gives no subset collision. In the remaining +case, the Laurent kernel is principal. Its derivative forces one common +active off-diagonal pattern on the relation support and diagonal active +compressions elsewhere. The classification of rank-one completions covers +the unique matrix, coordinate-plane, and common coordinate image or row +cases. Deleting outside variables is valid because the only relation has +support in the retained variables. The variable assignments outside that +support are disjoint between target roles. The one- and two-target bounds +then give the claimed contradiction for every nonzero common pattern. + +The 24-projector classification uses all 120 binary rank-one idempotents +on four registers. The distance argument applies to both active image and +row codes even when the fourth output is discarded. If `d_i` counts the +three active-diagonal families, the necessary code distances force +`d=(2,2,2)` and one `(1,1,1)` helper contribution on each side. This gives +exactly the 216 stated multisets. The independent finite reconstruction +in `check_reductions.py` confirms this classification and all 28 nonzero +active rank-one completion patterns. + +The relation search branches only on differences of original subset +indicators. A nonzero off-diagonal term needs a collision. If a diagonal +has more than one term, at least one of its first two terms needs a partner. +Thus the reduced branching rule covers every possible monomial completion. +There are at most three independent relations after the span-four bound. +The zero-frame, primitive-parity, and target-in-two-frame-span rejections +are necessary conditions. Adding further relations cannot remove a target +rank obstruction already present at a terminal. + +The field engine's rational reconstruction box is injective modulo 101. +State rank tests use at most three bounded generators. Each additional +collision or target test has, after expansion along coordinate rows, at +most four nonunit rows with entries in `{-1,0,1}`. The Hadamard bound is 16, +so a nonzero relevant minor cannot vanish modulo 101. The two field cores +in `field.cpp` and `two_bases.cpp` are identical apart from blank lines. +Their reuse is not a second independent arithmetic implementation. + +The alphabet generator covers 840 unordered binary bases and 166 orbits +under permutations of the active coordinates. The helper coordinate stays +fixed. The independent dual-vector catalogue agrees with the saved rows. +Actual projector commutation preserves each formal factor word up to a +permutation of its paid-frame variables. The trace reduction keeps a least +representative of every class. No word-reversal reduction is used. Fixing +one basis to the coordinate basis is a restriction, not a normalization of +every pair of arbitrary bases. + +## Publication overlap and source checks + +All 23 entries in `SOURCE-MANIFEST.json` match both the package bytes and +their original local files. `SOURCE-REVIEW.json` records those checks, +the environment, the relevant current-main source hashes and the open-PR +snapshot hash. + +The current-main packages `bit-clean-ancilla-registers` and +`bit-clean-workspace-compression` require all auxiliary outputs on data +columns to return to zero. They do not cover the discarded-output contract +here. `bit-one-relation-any-registers` and +`bit-mixed-target-register-compression` require full dirty endpoints. +`three-register-no-target-flag` has no extra register. The four-register +rational-frame-floor result fixes a rank-two address alphabet and four +active targets. None is the submitted claim. A body search of the saved +open PRs found no matching clean-helper, discarded-output, zero-pattern, +or coordinate-plus-one-basis claim. The title matches #4931 and #3893 concern +a native prefix and a non-abelian S3 result, respectively. This is a check +against the stated snapshots, not a claim of literature priority. + +PR #468 is the material source for the formal model, span-four method and +exact relation search. Its pinned proof credits PR #288 for the scalar model +and flag/projection methods. It also credits PR #203 for the related +common-triangular-frame obstruction. Those credits must remain. +The source proof at `07a78bf335b0b5039a1fecd7cd74a0fe1d1605ea` was read. +The pinned PR #288 and PR #203 proof sources were retrieved from GitHub and +their relevant sections were read. The PR #203 author and body both identify +`huxint`, and its live head matches the stated pin. `REMOTE-PREDECESSORS.json` +records the source hashes and that attribution evidence. Remote link rendering +and final PR-body checks belong to the coordinator. + +Historical prose names several paths that have moved to `expected/`. +The old 17,106-job layer census, its audit summary, and the returned-register +control script are not inputs to the new full replay. Their absence does +not leave a proof dependency missing. The runner generates the binary word +stream and the per-alphabet records from the included sources. + +## Requested corrections + +The first portable runner executed a historical three-worker driver. +The revised runner calls all 166 basis jobs in sequence and leaves that +historical source unchanged. The fresh review run uses the revised runner. +During that run, the author added `-E -B` to the Python generator child. +The completed census uses the preceding serial runner and the same frozen +sources. The final command change has a separate environment control; the +entire census was not repeated for this command-only change. + +The package author was asked to state the final-free-map restriction, +retain PR #203 credit, and explain the relocated and omitted historical +inputs. The final reviewed manifest records the files after those edits. + +## Execution record + +The final execution status, exact commands, control outcomes and package +hashes are recorded in `REVIEW.json` and `REVIEWED-FILES.json`. +The full two-engine census of the zero-pattern class is separate from the +single-engine full basis census. The 48 selected Fraction comparisons do +not constitute a second complete basis census. No supplier-native or +selected-frontier replay is required or claimed for these scoped results. diff --git a/research/bit-clean-extra-register/review/REVIEWED-FILES.json b/research/bit-clean-extra-register/review/REVIEWED-FILES.json new file mode 100644 index 0000000000..6b8b4f084e --- /dev/null +++ b/research/bit-clean-extra-register/review/REVIEWED-FILES.json @@ -0,0 +1,145 @@ +{ + "package": "bit-clean-extra-register", + "files": [ + { + "path": "README.md", + "bytes": 5268, + "sha256": "bebbd40548abb7b16c3cd83e8eab80c7ff1b2682e0c754103b3dc011b003cfe9" + }, + { + "path": "SOURCE-MANIFEST.json", + "bytes": 6211, + "sha256": "f6936c24dcabf23a7d07e85fe1f098ba649a42913f4d545e6062a9de37fa1541" + }, + { + "path": "expected/all-basis-summary.json", + "bytes": 64174, + "sha256": "46040fe7a442e117f9a28ce47caa53d3800ca45777a9bfb16463fc58125b1a4a" + }, + { + "path": "expected/catalogue-audit.json", + "bytes": 1493, + "sha256": "5034f22651597e8710498194a185543735d2cdfd1d65b62b554045b1516638c8" + }, + { + "path": "expected/clean-zero-independent-order-result.json", + "bytes": 178, + "sha256": "7dcd340eedf19388a4a2db364be4a00388e93a38ab4d08d7729971c88d1d2632" + }, + { + "path": "expected/clean-zero-result.json", + "bytes": 2031, + "sha256": "b8ce3ecf7bd762cfb9a2bfaa37f0dbd0034eba42ad59bb68e714c4d220c2d997" + }, + { + "path": "expected/selected-comparison.json", + "bytes": 37045, + "sha256": "5f0e29bb04fd0f44267237060728dfb8bca2e1f41181c940f30fe0ae8c2cee39" + }, + { + "path": "replay.log", + "bytes": 4285, + "sha256": "2438bd40f59c0f4cdbdc407cc67f92b13409ee5e56a2d2ba4244f6fe1a339c73" + }, + { + "path": "replayed-receipt.json", + "bytes": 1099, + "sha256": "5399fb71cdc4006275af5f63528bcf439d22edc64def24734cd19157932f768b" + }, + { + "path": "sources/doubling-architecture/clean-ancilla/ALPHABETS.txt", + "bytes": 5868, + "sha256": "9578ac3ba047a87502cc6e481f5bf8154f1c2477f3be4b2d1e7c1e8b35213da4" + }, + { + "path": "sources/doubling-architecture/clean-ancilla/RESULT.txt", + "bytes": 3768, + "sha256": "bddf6f4a91273966179f36fd59734c125f2bad69d10ed27998595da438aa2c73" + }, + { + "path": "sources/doubling-architecture/clean-ancilla/run_two_bases.py", + "bytes": 1748, + "sha256": "33ac757f42b7e770d24ea82b70cc167627e28b1da98c1e0c8c5d0e35f9bb2931" + }, + { + "path": "sources/doubling-architecture/clean-ancilla/search.py", + "bytes": 3762, + "sha256": "3f1301263134b1ed17d356f39bdd175f911c2c4cdddb5e3cab40fed6969e53bf" + }, + { + "path": "sources/doubling-architecture/clean-ancilla/two_bases.cpp", + "bytes": 15146, + "sha256": "7d7438f5c473eba5a0863afacdb7b0896b2c45325cf2f88c7cfb078d189ff132" + }, + { + "path": "sources/doubling-architecture/rank-independent/clean-audit/PROOF-AUDIT.txt", + "bytes": 7629, + "sha256": "92f039fd3868592bc8cfa3b14ea90f42c5be9ed639ca84ac6ce7a6cb5fc59e5b" + }, + { + "path": "sources/doubling-architecture/rank-independent/clean-audit/selected_words.cpp", + "bytes": 778, + "sha256": "bd5ee927c75a78ce4658d2290dd4301c78744178c2b95b3fe676153dae2a2fa0" + }, + { + "path": "sources/four-register/CLEAN-ONE-RELATION.txt", + "bytes": 6804, + "sha256": "9aebe7497d3ff594141ab1674bc34284c6cc410f2d066994ff8c059c940902e6" + }, + { + "path": "sources/four-register/CLEAN-SPAN-FOUR.txt", + "bytes": 3817, + "sha256": "a65edc9dfe3744322a4fad5f30d2d0c7fb737bb611f5b11de48264386e742019" + }, + { + "path": "sources/four-register/F101-ARITHMETIC.txt", + "bytes": 3513, + "sha256": "540dfa9f49488b92ee24e9f82704ac2032aa2117957dd4c9cbcf33ca4fafe09f" + }, + { + "path": "sources/four-register/FINAL-CLEAN-REPORT.txt", + "bytes": 6492, + "sha256": "a948c7380e22ff83030811c9e6b5a867b510609c89ee0b586feb7616374e748c" + }, + { + "path": "sources/four-register/dirty_ancilla.py", + "bytes": 6293, + "sha256": "81d8df0b7b08e0ad89dc13f65325e7091cb9c201d9c5bc4d8637f8325d0be876" + }, + { + "path": "sources/four-register/independent/clean-zero/PROOF.txt", + "bytes": 5049, + "sha256": "4dea498aee7f2e39a0607b6d4f1e7f8f9f7ad9a5f1e72241743180f1775fb7e7" + }, + { + "path": "sources/four-register/independent/clean-zero/field.cpp", + "bytes": 13395, + "sha256": "a39b5f3ca6dbd506c6008e356a0239173e8dff53047c4a6e71972c6c35226c9e" + }, + { + "path": "sources/four-register/independent/clean-zero/generate.py", + "bytes": 2088, + "sha256": "f002f6479e244da91724ca2589c03c4067d82f2206304660a92f8355dfedb6ef" + }, + { + "path": "sources/four-register/independent/clean-zero/integer.cpp", + "bytes": 13367, + "sha256": "927fcb11154edfeabfdf852c0f243f82b7d5d56475ced11bdaa3417b8528b6d9" + }, + { + "path": "sources/four-register/independent-audit/check_clean_zero_orders.cpp", + "bytes": 4419, + "sha256": "488f25346635fdebac5b0d928da59dabe0c92792d375938b5dfe1c2244309d6a" + }, + { + "path": "sources/four-register/independent-audit/clean-zero-family-metadata.txt", + "bytes": 8410, + "sha256": "6e4758a04985074fc78aca9a55aecff947573b66803d26f5f4d7676a30dd8dd7" + }, + { + "path": "verify.py", + "bytes": 8542, + "sha256": "1d4df214f03e657ebf8de2ec2ebb9df405a3ed480fd10f255c0670b4f86ea54d" + } + ] +} diff --git a/research/bit-clean-extra-register/review/SOURCE-REVIEW.json b/research/bit-clean-extra-register/review/SOURCE-REVIEW.json new file mode 100644 index 0000000000..e568d73ae3 --- /dev/null +++ b/research/bit-clean-extra-register/review/SOURCE-REVIEW.json @@ -0,0 +1,223 @@ +{ + "status": "PASS_SOURCE_BINDING", + "manifest_entries": [ + { + "package": "expected/all-basis-summary.json", + "recorded_sha256": "46040fe7a442e117f9a28ce47caa53d3800ca45777a9bfb16463fc58125b1a4a", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "expected/catalogue-audit.json", + "recorded_sha256": "5034f22651597e8710498194a185543735d2cdfd1d65b62b554045b1516638c8", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "expected/clean-zero-independent-order-result.json", + "recorded_sha256": "7dcd340eedf19388a4a2db364be4a00388e93a38ab4d08d7729971c88d1d2632", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "expected/clean-zero-result.json", + "recorded_sha256": "b8ce3ecf7bd762cfb9a2bfaa37f0dbd0034eba42ad59bb68e714c4d220c2d997", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "expected/selected-comparison.json", + "recorded_sha256": "5f0e29bb04fd0f44267237060728dfb8bca2e1f41181c940f30fe0ae8c2cee39", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "sources/doubling-architecture/clean-ancilla/ALPHABETS.txt", + "recorded_sha256": "9578ac3ba047a87502cc6e481f5bf8154f1c2477f3be4b2d1e7c1e8b35213da4", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "sources/doubling-architecture/clean-ancilla/RESULT.txt", + "recorded_sha256": "bddf6f4a91273966179f36fd59734c125f2bad69d10ed27998595da438aa2c73", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "sources/doubling-architecture/clean-ancilla/run_two_bases.py", + "recorded_sha256": "33ac757f42b7e770d24ea82b70cc167627e28b1da98c1e0c8c5d0e35f9bb2931", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "sources/doubling-architecture/clean-ancilla/search.py", + "recorded_sha256": "3f1301263134b1ed17d356f39bdd175f911c2c4cdddb5e3cab40fed6969e53bf", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "sources/doubling-architecture/clean-ancilla/two_bases.cpp", + "recorded_sha256": "7d7438f5c473eba5a0863afacdb7b0896b2c45325cf2f88c7cfb078d189ff132", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "sources/doubling-architecture/rank-independent/clean-audit/PROOF-AUDIT.txt", + "recorded_sha256": "92f039fd3868592bc8cfa3b14ea90f42c5be9ed639ca84ac6ce7a6cb5fc59e5b", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "sources/doubling-architecture/rank-independent/clean-audit/selected_words.cpp", + "recorded_sha256": "bd5ee927c75a78ce4658d2290dd4301c78744178c2b95b3fe676153dae2a2fa0", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "sources/four-register/CLEAN-ONE-RELATION.txt", + "recorded_sha256": "9aebe7497d3ff594141ab1674bc34284c6cc410f2d066994ff8c059c940902e6", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "sources/four-register/CLEAN-SPAN-FOUR.txt", + "recorded_sha256": "a65edc9dfe3744322a4fad5f30d2d0c7fb737bb611f5b11de48264386e742019", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "sources/four-register/F101-ARITHMETIC.txt", + "recorded_sha256": "540dfa9f49488b92ee24e9f82704ac2032aa2117957dd4c9cbcf33ca4fafe09f", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "sources/four-register/FINAL-CLEAN-REPORT.txt", + "recorded_sha256": "a948c7380e22ff83030811c9e6b5a867b510609c89ee0b586feb7616374e748c", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "sources/four-register/dirty_ancilla.py", + "recorded_sha256": "81d8df0b7b08e0ad89dc13f65325e7091cb9c201d9c5bc4d8637f8325d0be876", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "sources/four-register/independent-audit/check_clean_zero_orders.cpp", + "recorded_sha256": "488f25346635fdebac5b0d928da59dabe0c92792d375938b5dfe1c2244309d6a", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "sources/four-register/independent-audit/clean-zero-family-metadata.txt", + "recorded_sha256": "6e4758a04985074fc78aca9a55aecff947573b66803d26f5f4d7676a30dd8dd7", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "sources/four-register/independent/clean-zero/PROOF.txt", + "recorded_sha256": "4dea498aee7f2e39a0607b6d4f1e7f8f9f7ad9a5f1e72241743180f1775fb7e7", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "sources/four-register/independent/clean-zero/field.cpp", + "recorded_sha256": "a39b5f3ca6dbd506c6008e356a0239173e8dff53047c4a6e71972c6c35226c9e", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "sources/four-register/independent/clean-zero/generate.py", + "recorded_sha256": "f002f6479e244da91724ca2589c03c4067d82f2206304660a92f8355dfedb6ef", + "package_matches": true, + "original_present": true, + "original_matches": true + }, + { + "package": "sources/four-register/independent/clean-zero/integer.cpp", + "recorded_sha256": "927fcb11154edfeabfdf852c0f243f82b7d5d56475ced11bdaa3417b8528b6d9", + "package_matches": true, + "original_present": true, + "original_matches": true + } + ], + "source_pins_reviewed": [ + { + "path": "research/bit-clean-ancilla-registers/README.md", + "commit": "cef4b52f2a59009865bf8eabde1be3f159063703", + "sha256": "1e6aee0466e53ff5fb8dd130f2cd02a883e4cd95cf93ec7323ea333237c2d0e6" + }, + { + "path": "research/bit-clean-workspace-compression/README.md", + "commit": "cef4b52f2a59009865bf8eabde1be3f159063703", + "sha256": "ca2cc91629ccb36475cd38f9d8c13719d3b2742d96080653b545a45b5d991885" + }, + { + "path": "research/bit-one-relation-any-registers/README.md", + "commit": "cef4b52f2a59009865bf8eabde1be3f159063703", + "sha256": "1f2899320e646a4158531c3f8260ba32b4761ae883fdb5bce4d3e3b0a4d8cb8c" + }, + { + "path": "research/bit-four-register-rational-frame-floor-seed3573e12e/README.md", + "commit": "cef4b52f2a59009865bf8eabde1be3f159063703", + "sha256": "40cbc4ec8e5c49930d7cb8ecf9e462a08266fe604ea426aa5c7b0d5e547fdffd" + }, + { + "path": "research/bit-mixed-target-register-compression/README.md", + "commit": "cef4b52f2a59009865bf8eabde1be3f159063703", + "sha256": "0a937f6cbcc88718aa1b6b4be849883c331c54a392ce81dc3485ef10ddeedc39" + }, + { + "path": "research/three-register-no-target-flag/README.md", + "commit": "cef4b52f2a59009865bf8eabde1be3f159063703", + "sha256": "95d4483da9b19df051c7d13fe290eefb82da019ab4be8e66ad9216199ddda4eb" + }, + { + "path": "research/bit-three-register-lower-bound/README.md", + "commit": "07a78bf335b0b5039a1fecd7cd74a0fe1d1605ea", + "sha256": "c12b33ef388deece0cbf891505a2ce2c0779a0c3a6cf1f0f7f7039bab59cbebd" + } + ], + "open_pr_snapshot_sha256": "e0413ab0c3f982d9f35949478226b6617131708fae1469d49e3eb08e82a098e5", + "open_title_matches": [ + { + "number": 4931, + "title": "Expose a clean native prefix and construct one homogeneous U(q) offer (no new \u03ba)", + "headRefOid": "90a0124d306ef8802ac2dc3601c6705dca407e45", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/4931" + }, + { + "number": 3893, + "title": "Add S3 three-register rank lower bound", + "headRefOid": "d3e2a4d5d967e9baf071dfdfe97e598aded3e025", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/3893" + } + ], + "environment": { + "python": "3.14.7 (main, Aug 5 2026, 10:29:49) [Clang 21.0.0 (clang-2100.1.1.101)]", + "platform": "macOS-26.6.1-arm64-arm-64bit-Mach-O", + "compiler": "Apple clang version 17.0.0 (clang-1700.6.3.2)\nTarget: arm64-apple-darwin25.6.0\nThread model: posix\nInstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin\n" + } +} diff --git a/research/bit-clean-extra-register/review/check_controls.py b/research/bit-clean-extra-register/review/check_controls.py new file mode 100644 index 0000000000..e6c417de53 --- /dev/null +++ b/research/bit-clean-extra-register/review/check_controls.py @@ -0,0 +1,115 @@ +#!/usr/bin/env python3 +"""Check acceptance and rejection paths without changing saved sources.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import shutil +import subprocess +import sys + + +def require(value, message): + if not value: + raise ValueError(message) + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument("--package", type=Path, required=True) + parser.add_argument("--build", type=Path, required=True) + args = parser.parse_args() + package, build = args.package.resolve(), args.build.resolve() + require(not build.exists(), "The build path must not exist.") + build.mkdir(parents=True) + compiler = shutil.which("clang++") or shutil.which("g++") + require(compiler, "A C++17 compiler is required.") + rows = [] + for engine in ["integer", "field"]: + source = package / "sources/four-register/independent/clean-zero" / (engine + ".cpp") + class_name = "Solver" if engine == "integer" else "Search" + state_name = "Rows" if engine == "integer" else "Basis" + off_name = "offrows" if engine == "integer" else "off" + terminal_name = "terminal" if engine == "integer" else "terminals" + setup = "" if engine == "integer" else "setup();" + code = f'''#define main saved_engine_main +#include {json.dumps(str(source))} +#undef main +int main() {{ + {setup} + for (int test = 0; test < 5; ++test) {{ + {class_name} solver; + int target = test == 1 ? 3 : 7; + solver.terms = {{{{target, 1 | 32 | 1024}}, {{0, 32768}}}}; + if (test == 2) {{ + solver.terms.push_back({{64, 2}}); + solver.terms.push_back({{128, 2}}); + solver.{off_name}.push_back(192); + }} + if (test == 3) {{ + solver.terms.push_back({{0, 2}}); + solver.terms.push_back({{64, 2}}); + solver.{off_name}.push_back(64); + }} + if (test == 4) {{ + solver.terms.push_back({{1, 2}}); + solver.terms.push_back({{2, 2}}); + solver.{off_name}.push_back(3); + }} + solver.go({state_name}{{}}); + std::cout << test << " " << solver.{terminal_name} << " " << solver.robust << "\\n"; + }} +}} +''' + harness = build / (engine + "-controls.cpp") + harness.write_text(code) + binary = build / (engine + "-controls") + compiled = subprocess.run([compiler, "-std=c++17", "-O2", + "-fsanitize=undefined", "-fno-sanitize-recover=all", + str(harness), "-o", str(binary)], + text=True, capture_output=True, check=True) + (build / (engine + "-compile.log")).write_text(compiled.stdout + compiled.stderr) + result = subprocess.run([str(binary)], text=True, capture_output=True, check=True) + (build / (engine + "-run.log")).write_text(result.stdout + result.stderr) + expected = "0 1 1\n1 1 0\n2 1 1\n3 0 0\n4 1 0\n" + require(result.stdout == expected, engine + " polynomial control results") + rows.append({"engine": engine, "output": result.stdout, + "source_sha256": hashlib.sha256(source.read_bytes()).hexdigest()}) + + optimized = subprocess.run([sys.executable, "-O", "-B", str(package / "verify.py"), + "--build", str(build / "optimized-output")], + text=True, capture_output=True) + require(optimized.returncode != 0 and "without -O" in optimized.stderr, + "Optimized Python must be rejected") + require(not (build / "optimized-output").exists(), "Optimized run wrote output") + environment = dict(os.environ, PYTHONOPTIMIZE="2") + isolated = subprocess.run([sys.executable, "-E", "-B", "-c", + "import sys; assert __debug__; print(sys.flags.optimize)"], + env=environment, text=True, capture_output=True, check=True) + require(isolated.stdout == "0\n", "Child optimization environment leaked") + copy = build / "tampered-package" + shutil.copytree(package, copy) + victim = copy / "sources/four-register/CLEAN-SPAN-FOUR.txt" + victim.write_bytes(victim.read_bytes() + b"\n") + tampered = subprocess.run([sys.executable, "-B", str(copy / "verify.py"), + "--build", str(build / "tampered-output")], + text=True, capture_output=True) + require(tampered.returncode != 0 and "Source hash:" in tampered.stderr, + "Source corruption must be rejected") + require(not (build / "tampered-output").exists(), "Tampered run wrote output") + result = {"status": "PASS_INDEPENDENT_CONTROLS", "polynomial_engines": rows, + "fixture_scope": "Five polynomial fixtures; these are not paid-call circuit constructions.", + "fixtures": ["accept monomial targets of support three", + "reject a target of support two", + "accept after a required collision", + "reject a collision that forces a zero paid frame", + "reject a target reduced to a two-frame span"], + "optimized_python_rejected": True, "source_corruption_rejected": True, + "child_optimization_environment_ignored": True} + (build / "receipt.json").write_text(json.dumps(result, indent=2) + "\n") + print(result["status"]) + + +if __name__ == "__main__": + main() diff --git a/research/bit-clean-extra-register/review/check_reductions.json b/research/bit-clean-extra-register/review/check_reductions.json new file mode 100644 index 0000000000..5e2ae0d27c --- /dev/null +++ b/research/bit-clean-extra-register/review/check_reductions.json @@ -0,0 +1,22 @@ +{ + "status": "PASS_INDEPENDENT_FINITE_REDUCTIONS", + "all_rank_one_idempotents": 120, + "zero_active_off_pattern_projectors": 24, + "distance_feasible_families": [ + { + "active_counts": [ + 2, + 2, + 2 + ], + "extra": [ + 7 + ] + } + ], + "active_rank_one_completion_patterns": { + "coordinate_plane": 6, + "coordinate_image_or_row": 6, + "unique": 16 + } +} diff --git a/research/bit-clean-extra-register/review/check_reductions.py b/research/bit-clean-extra-register/review/check_reductions.py new file mode 100644 index 0000000000..78929b327b --- /dev/null +++ b/research/bit-clean-extra-register/review/check_reductions.py @@ -0,0 +1,80 @@ +#!/usr/bin/env python3 +"""Check finite facts used by the written clean-register reductions.""" +from collections import Counter, defaultdict +from itertools import combinations_with_replacement, product +import json +from pathlib import Path + + +def outer(x, y, width): + return sum(y << (width * i) for i in range(width) if x >> i & 1) + + +def require(value, message): + if not value: + raise ValueError(message) + + +def main(): + off4 = sum(1 << (4 * i + j) for i in range(3) + for j in range(3) if i != j) + all_projectors = [(x, y) for x in range(1, 16) for y in range(1, 16) + if (x & y).bit_count() % 2] + zero = [(x, y) for x, y in all_projectors if not outer(x, y, 4) & off4] + declared = {(1 << i, 1 << i) for i in range(3)} + declared |= {(1 << i, 8 | (1 << i)) for i in range(3)} + declared |= {(8 | (1 << i), 1 << i) for i in range(3)} + declared |= {(8, 8 | v) for v in range(8)} + declared |= {(8 | v, 8) for v in range(8)} + require(len(all_projectors) == 120 and len(zero) == 24, + "Projector counts") + require(set(zero) == declared, "Projector alphabet") + + feasible = [] + for d in product(range(9), repeat=3): + total = sum(d) + if total > 8: + continue + for m in range((8 - total) // 2 + 1): + for extra in combinations_with_replacement(range(1, 8), m): + distance = [sum(d[i] for i in range(3) if w >> i & 1) + + sum((w & v).bit_count() % 2 for v in extra) + for w in range(1, 8)] + if min(distance) >= 3: + feasible.append({"active_counts": d, "extra": extra}) + require(feasible == [{"active_counts": (2, 2, 2), "extra": (7,)}], + "Distance multiplicity reduction") + + off3 = sum(1 << (3 * i + j) for i in range(3) + for j in range(3) if i != j) + patterns = defaultdict(list) + for x, y in product(range(1, 8), repeat=2): + pattern = outer(x, y, 3) & off3 + if pattern: + patterns[pattern].append((x, y)) + types = Counter() + for entries in patterns.values(): + if len(entries) == 1: + types["unique"] += 1 + elif any(all(not (x | y) & (1 << i) for x, y in entries) + for i in range(3)): + types["coordinate_plane"] += 1 + elif (len(entries) == 2 + and (any(all(x == 1 << i for x, y in entries) for i in range(3)) + or any(all(y == 1 << i for x, y in entries) for i in range(3)))): + types["coordinate_image_or_row"] += 1 + else: + raise ValueError("Unclassified rank-one completion pattern") + require(types == {"unique": 16, "coordinate_plane": 6, + "coordinate_image_or_row": 6}, "Completion counts") + result = {"status": "PASS_INDEPENDENT_FINITE_REDUCTIONS", + "all_rank_one_idempotents": len(all_projectors), + "zero_active_off_pattern_projectors": len(zero), + "distance_feasible_families": feasible, + "active_rank_one_completion_patterns": dict(types)} + Path(__file__).with_suffix(".json").write_text(json.dumps(result, indent=2) + "\n") + print(json.dumps(result)) + + +if __name__ == "__main__": + main() diff --git a/research/bit-clean-extra-register/review/controls.log b/research/bit-clean-extra-register/review/controls.log new file mode 100644 index 0000000000..f1d11af1a2 --- /dev/null +++ b/research/bit-clean-extra-register/review/controls.log @@ -0,0 +1 @@ +PASS_INDEPENDENT_CONTROLS diff --git a/research/bit-clean-extra-register/review/controls/receipt.json b/research/bit-clean-extra-register/review/controls/receipt.json new file mode 100644 index 0000000000..7a484e5943 --- /dev/null +++ b/research/bit-clean-extra-register/review/controls/receipt.json @@ -0,0 +1,26 @@ +{ + "status": "PASS_INDEPENDENT_CONTROLS", + "polynomial_engines": [ + { + "engine": "integer", + "output": "0 1 1\n1 1 0\n2 1 1\n3 0 0\n4 1 0\n", + "source_sha256": "927fcb11154edfeabfdf852c0f243f82b7d5d56475ced11bdaa3417b8528b6d9" + }, + { + "engine": "field", + "output": "0 1 1\n1 1 0\n2 1 1\n3 0 0\n4 1 0\n", + "source_sha256": "a39b5f3ca6dbd506c6008e356a0239173e8dff53047c4a6e71972c6c35226c9e" + } + ], + "fixture_scope": "Five polynomial fixtures; these are not paid-call circuit constructions.", + "fixtures": [ + "accept monomial targets of support three", + "reject a target of support two", + "accept after a required collision", + "reject a collision that forces a zero paid frame", + "reject a target reduced to a two-frame span" + ], + "optimized_python_rejected": true, + "source_corruption_rejected": true, + "child_optimization_environment_ignored": true +} diff --git a/research/bit-clean-extra-register/review/eumemic-predecessor.txt b/research/bit-clean-extra-register/review/eumemic-predecessor.txt new file mode 100644 index 0000000000..dc04f533bd --- /dev/null +++ b/research/bit-clean-extra-register/review/eumemic-predecessor.txt @@ -0,0 +1,380 @@ +# Negative results from a search for a new coding mechanism (no new κ) + +Scoping note, **no new κ**: one README, six standard-library checkers and one data file. No existing file changes. + +**Question.** Every witness on the frontier, 7.43e-4 (#285) at the time of writing, gets its saving from one +mechanism: the label (index-coding) decoder of the paired-cube line. Each data role saves one rank unit through a +free entrance label, and a centre-plus-producer decoder pays for it. The per-level coding gain is G ≈ 1.003 at +m ≈ 110–120, so the saving exponent a ≈ ln G / ln m is under 10⁻³. We looked for a different mechanism that could +multiply that exponent by 2 or more, on both the bit and the complex side. + +**Answer.** We found none. This note records what we tried, what is proved, what was computed, and what is still +open, so that others need not repeat the same routes. Section 1 covers a search run on 9–10 October 2026. Section 2 +lists earlier routes from 8–9 October that we discarded at the time. + +**Relation to other lists.** This complements Swapnil Jain's +[closed-ideas list](https://github.com/Swapnil-jain/integer-mult-kappa/blob/main/docs/CLOSED_IDEAS.md) and its +papers P1 ([doi:10.5281/zenodo.23265442](https://doi.org/10.5281/zenodo.23265442)) and P2 +([doi:10.5281/zenodo.23266393](https://doi.org/10.5281/zenodo.23266393)). Where a row overlaps theirs, we say so. We use +their status labels: **[proof]** a complete argument; **[cert]** an exact computer certificate; **[exp]** a decisive +experiment or a floating-point computation named as such; **[arg]** a short argument, not written as a full proof. +Every closure holds only in its stated model. Nothing here is a lower bound for integer multiplication. + +```sh +cd research/negative-results-paradigm-search/checks +python3 -B complex_m2_lambda2_certificate.py # < 1 s, section 1.1(a) +python3 -B multiplicative_index_maps.py # < 1 s, section 1.3(d) +python3 -B fourier_duality_f3.py # < 1 s, section 1.3(c) +python3 -B nonlinear_frames_m1.py # about 2 s, section 1.3(f) +python3 -B flag_model_cliques.py 2 # < 1 s, section 1.4(c) +python3 -B flag_model_cliques.py 3 # about 10 s +python3 -B bh_sign_gauges.py # < 1 s, section 1.4(d) +``` + +## 0. Model and the constraint that shapes everything + +The two recursive tape primitives are the address-field interchange (bit side, payload F₂, frames are rational +shears Φ_M:(H,D)→(H+MD,D) over Z/q^b with q an odd prime) and the simultaneous H₀ layer (complex side, frames are +exact Gaussian-dyadic Clifford operators acting as g^{⊗f} on f columns). A frame network splits rows into W role +streams; pointwise gates act at a common frame; a frame change of rank t costs one child of width t·f. The saving a +is the root of the moment Σ_e (t_e/m)^{1−a} = W. For small a, a ≈ D/E, where D = Wm − Σ t_e is the deficit and +E = Σ t_e ln(m/t_e) is the entropy. + +For lower bounds we use the general register (dilation) model, which contains every frame network and allows gates +between registers at different frames: + + ∏_i ( I + ([g_i] − 1) N_i ) = [T] · (permutation) over K[G]^{W×W}, + +with N_i rank-one idempotents over the payload field K, g_i the paid frame changes and T the target. Cost-zero +factors absorb the free maps. Correctness for all column counts f is exactly this identity in the group ring. + +Two facts govern any new mechanism: +- **Both sides must move.** κ ≤ min(a_b, a_c) up to the assembly factor. In particular κ ≤ a_c/(1+a_c), because the + complex primitive's binary basis changes call chunk interchanges. A gain on one side alone is worth at most the + gap to the other side, under 2% today. +- **Small m pays enormously.** a = ln G / ln m. Any saving at m ≤ 6 would be worth at least 50 times today's + exponent. That is why much of the search below concentrates on small m. + +## 1. The search of 9–10 October 2026 + +### 1.1 Complex primitive + +**(a) m = 2: no saving for any frames. [cert]** +Model: frames are any matrices in GL₄(C) generated by Hadamards on the two qubits and free maps. Free maps are all +monomial matrices (any invertible diagonal, any permutation of the four basis states). Gate coefficients are any +complex numbers, and gates may join registers at different frames. +Certificate: the FO lemma with ρ(g) = conjugation by Λ²(g) on End(Λ²C⁴). +- Λ²C⁴ = P₁ ⊕ P₂ ⊕ P₃, where P_a = span{e_x ∧ e_{x⊕a}}, one plane per perfect matching of F₂². +- Y₀ = span{Π₁, Π₂, Π₃}, the coordinate projectors onto the P_a. Every monomial matrix permutes the three planes, so + Y₀ is invariant under the free group. +- f(g) = dim(Y₀ + ρ(g)Y₀) − dim Y₀ is 0 on every monomial matrix, 1 for the Hadamard on each matching, and 2 for + H⊗H. Hence s ≥ 2W = Wm. + +This strengthens the earlier Clifford-only result. It covers Clifford+T, arbitrary phases, the exact "y-phase" +frames below and non-unitary diagonal scalings. The script is `checks/complex_m2_lambda2_certificate.py`. + +**(b) m = 3: the natural certificates cannot exist; the case is open.** +- [proof] No torus-invariant FO certificate exists in characteristic ≠ 2. Suppose Y₀ lies in the weight-0 part of a + representation, is AGL(3,2)-invariant, and gives a rank-linear bound. Then the fixed spaces of the coset block + groups would give an n-multilinear representation of the Fano matroid. That is impossible when 2 is invertible, + and gate coefficients contain 1/2. +- [exp] The best FO bound we found in the enlarged model is s ≥ 2W, from difference-class projectors in Λ², giving + G ≤ 1.5. Searches over sums of irreducible pieces of Λ¹–Λ⁴ and Sym²–Sym³ found nothing better. +- In the Clifford model the earlier bound is s ≥ 50W/21. It leaves only W = 2 with s = 5 and W = 3 with s = 8 at + small W. + +**(b′) m = 3, W = 2: settled in the dilation normal form, open in the full register model.** +- [proof] *Window lemmas*, valid for any frame group because they use only subadditive cost, target cost 3 and + cost ≥ 1 per paid move. Write t_j for the scalar mixing between moves j and j+1. + - In a three-move window whose outside moves cost at most 2 in total, the identity coefficient forces + t_j[1][1]·t_{j+1}[1][1] = 0, and the inverse network forces t_j[0][0]·t_{j+1}[0][0] = 0. + - Two-move windows force antidiagonal mixing. + - No single move can cost s − 2 or more. +- [cert] *Dilation normal form* (scalar idempotents, with free elements only inside paid moves): no W = 2 saving + for any cost profile with s ≤ 5. + - Five rank-one moves leave 169 zero patterns and 84 coefficient systems. Gröbner bases over Q decided each one, + so the verdict holds over every field of characteristic 0. + - The 6 consistent systems all force g₁ = 1 or g₅ = 1. + - The other profiles with s = 4 or 5 leave no survivor. + - A second, numerical code path agrees on all 84 systems. + - Only the cost properties above are used, so this covers Clifford frames and Clifford plus 2^k-th-root phases. +- [cert] *Full register model*: W = 2 needs s ≥ 5. With one free B-element inserted anywhere (6 placements, about + 109,000 exact systems) there is still no saving; any W = 2 solution would need at least two such insertions + between scalar mixings. +- [exp] *FO search*: nothing beats the Clifford bound 50W/21. 5,127 new functions from flag, isotropic-line and + stabilizer-state modules gave at best 7/3. FO is also blind to the window constraints. +- Open: the full register model at W = 2, s = 5 with two or more inserted free elements, and W = 3, s = 8. + +**(c) Non-Clifford frames and approximate arithmetic. [proof]/[arg]** +- [arg] Rounded arithmetic is legitimate in the cost model. Non-dyadic constants cost O(log p) per entry, which the + leaf terms absorb. Error growth is polynomial in d, so O(log d) guard bits suffice, and dirty roles are restored to + the same absolute error. But the network identity must still hold exactly in C[G]: a fixed per-level defect does + not shrink to 2^{−p}. +- [proof] In the synthetic layout, records lie in C[y]/(y^r+1). A diagonal frame y^{θ(x)} is a controlled signed + cyclic shift of the record, so it is free and exact. These frames reduce to the Clifford case: + - with bounded exponents, setting y → 1 gives a Clifford network of equal cost; + - with exponents k + l·r/2^s, one gets Clifford plus 2^{s+1}-th roots of unity, valid for every Galois conjugate; + - phases algebraically independent of the rest specialise to 1. +- We found no mechanism by which non-Clifford frames enlarge the one-dimensional entrance label at large m. + +### 1.2 Bit primitive: the abelian register model with per-role Levi targets + +Each role may end at its own target C_w, any invertible lower-triangular matrix, because free scalings X_w on the H +fields and Z_w on the D fields at entry and exit turn the shear by C_w = X_w Z_w^{-1} into the shear by I. A common +target C is equivalent to I. Mixed targets break the common-target hypothesis behind the trace lemma (P1, §5) and +behind the parity cut. + +**(a) Flag theorem. [proof]** +Setting: ∏_a (I + ([A_a] − 1) N_a) = diag([C_w]) over F[L], with every C_w invertible lower triangular (uniform or +not), any rational frames A_a and any payload field F. Call a frame *up* if its strictly upper part is nonzero. +Then + + W m − s ≤ Σ_{a up} ( m/2 − rank A_a ). + +In particular, **m = 2 never saves, for any assignment of Levi targets.** +Proof. +1. The strictly-upper part φ is a homomorphism from L to an abelian group. It kills every target and every low + frame, so the up factors satisfy a target-zero identity in F[φ(L)]. +2. At a generic character the up factors are proper pseudo-reflections with product I. In compact-WY form, + X_up T Y_upᵀ = 0 with T invertible, and Sylvester's inequality gives rank X_up + rank Y_up ≤ #up. +3. The character ζ^{A_ii} kills no target, because invertible lower-triangular C_w have nonzero diagonal. The span + condition (below) then gives span{x_a : (A_a)_ii ≠ 0} = F^W, so W ≤ rank X_up + #{low a : (A_a)_ii ≠ 0}. +4. Sum over i, using rank A ≥ #(nonzero diagonal entries) for lower-triangular A: + mW ≤ m·rank X_up + Σ_low rank A_a. The same holds for Y. Add the two and use step 2 to get + mW ≤ (m/2)·#up + Σ_low rank A_a. Subtract s. + +With a common target, conjugate first; the bound then holds for every complete flag, with "up" meaning frames that +do not preserve it. Every inequality of the proof was checked on 18,200 exactly verified solutions from unpruned +solvers, and on 11,760 more from a pruned one. + +**(b) Character and span conditions with Levi targets. [proof]** +For a character χ with kernel K, let t and u count the frames and targets in K, and let d = E − W. Then: +- |t − u| ≤ d; +- span{x_a : A_a ∉ K} ⊇ span{e_w : C_w ∉ K}, and the same for the y_a. + +Targets that are all multiples of one matrix, for example a mix of I and 2I, look like a common target to every +characteristic-2 character. So "some roles at I, some at 2I" gives nothing at m = 2, and in general no more than a +common target does. + +**(c) Small exact searches at m = 3, W = 3. [cert]/[exp]** (not packaged here) +Rank-one integer frames u vᵀ with u, v ∈ {0, ±1}³, and every lower-triangular subset-sum target, under the flag, +parabolic, character and span filters: +- E = 4: no candidate. +- E = 5: impossible by the flag theorem. +- E = 6: no candidate among 4.5·10⁹ leaves. +- E = 7, sparse pool: every candidate dies on a mod-3 kernel. +- E = 7, full pool: incomplete. +- E = 8 with Levi targets: not run. + +**(d) Non-abelian frames with mid-network Levi maps (G₀ = shears ⋊ Levi pairs).** +Free Levi maps applied in the middle of a network act on each register's shear parts by n ↦ X n Z^{-1}. A single +paid shear can then act on different terms of one input with different effective shears. With X = 2I every shear +is a commutator, so all character-based bounds fail: doubled import, counting, span and flag. Simple FO certificates +from permutation modules reach a ratio of only 1.33, where 2 is needed. (e) settles the case anyway. + +**(e) Theorem G₀: the flag theorem survives mid-network Levi maps. [proof]** +Setting: G₀ = N ⋊ L. +- N = M_m(Q) are the shears; L are the pairs (X, Z) of invertible lower-triangular matrices, acting by + (X,Z)·M = X M Z^{-1}. +- The state lies in M_W(F[G₀]). Free operations are GL_W(F₂) mixing and left multiplication of any register by + any l ∈ L, at any time. Paid operations are shears, at cost rank M. +- Targets are Π·diag([c_u l_u]), with c_u invertible lower triangular and l_u arbitrary. + +Then W m − s ≤ Σ_{up} (m/2 − rank M_j), as in (a). So **m = 2 never saves in G₀ either.** + +Why the earlier tools failed: with X = 2I every shear is a commutator, so every one-dimensional character is +trivial on shears. The proof uses a matrix rank function instead of characters. +1. Absorb the free operations into the idempotent vectors, which now have entries in F[L]. Projecting G₀ → L + kills every paid factor, so the identity becomes ∏_j (I + a_j([n_{M_j}] − 1)b_jᵀ) = Π·diag([n_{c_u}])·Π^{-1}. +2. On the group rings of the solvable quotients G₀/N′, where N′ is spanned by the matrix units over a down-set + (L-invariant, hence normal), use the Sylvester rank function. Its sources: + - congruence subgroups are torsion-free; + - torsion-free elementary amenable group rings are Ore domains (Kropholler–Linnell–Moody, Tamari); + - rank([g] − 1) = 1 for g of infinite order; + - matrices over F[L] have the same rank in every such quotient. +3. Two quotient families give the two halves of the flag argument: + - dividing out the lower-triangular shears gives rk A_up + rk B_up ≤ #up; + - projecting onto the rectangles {r ≤ i ≤ c} gives W ≤ rk A_up + #{low j : (M_j)_ii ≠ 0}. + +The same proof allows free zero-in/garbage-out temporaries. A separate adversarial review found the proof correct. +Exact checks covered valid W = 2 networks that are genuinely non-abelian, including one where a single paid shear +acts on 7 terms of one input with 6 different effective shears. + +Scope: G₀ omits the free lower-left updates D += K·H of the full machine, under which N is not normal. The full +non-abelian Borel model at m = 2 is therefore not covered by this theorem. + +**(f) Abelian m = 3: s ≥ 2W + 1. [proof]** +- Tight-frame lemma: let k be a rank-one frame with A₀₂ ≠ 0, and let P be the set of frames whose strictly-upper + parts are parallel to k's. Then 2W ≤ #up − |P| + 2·#{low frames with A₁₁ ≠ 0}. The proof uses a functional on the + {0,1} × {1,2} block, which kills P and no target. +- At s = 2W, the flag theorem forces 2W up frames of rank one. The lemma then forces A₀₂ = 0 for every frame, and the + coordinate kernels A₀₀, A₂₂ and {A₀₁ = A₀₂ = 0} contradict each other. +- So W = 3 needs s ≥ 7, and W = 4 needs s ≥ 9. The gain bound is still G < 3/2. +- [cert]/[exp] A type-level enumeration (the coordinate-character conditions depend only on support patterns) and + {0,±1} box searches leave no candidate in the following cases; every candidate found was killed by the first-order + mod-2 condition: + - W = 3, E = 8, sparse box: 1,035,664 candidates; + - W = 4, E = 8, full box: 7,176 candidates; + - W = 3, E = 7, sparse box. +- Still open: W = 3 with s = 7 or 8, and W = 4 with s = 9 to 11. + +### 1.3 Machine operations outside the frame model + +Each operation below is linear-time on a multitape machine by the 02-streams lemmas. + +| | Operation | Verdict | Status | +|---|---|---|---| +| (a) | Address-dependent (masked) gates, with stream compression | Freezing every mask at one logical address gives an unmasked network of the same cost. A compressed stream of density ε needs at least ε(rank − log_Q(1/ε)) interchanges. So this reduces to (b) up to O(1/b). | [proof] | +| (b) | Clean ancillas (extra zero-initialised volume, garbage erased) | The first-order p-integral bound and the cut bounds survive; apply them to the data–data block. In the moment equation an ancilla of total rank R adds R to Σt_e and nothing to Wm, so it must raise the deficit by more than R. Nested dirty auxiliaries are deficit-neutral and dominate ancillas by more than 10× today. | [proof]/[arg] | +| (c) | Fourier duality (an odd-characteristic payload such as F₃ makes the WHT exact and growth-free) | An XOR-shear H ⊕= D equals WHT_H · diag((−1)^{ξ·D}) · WHT_H, and an interchange is 6 H-layers plus 3 free sign passes (checked exactly). It does not retire the bit primitive: the complex primitive's basis changes call chunk interchanges at width eK > e, so the recursion is circular, and a contiguous-slot layer network needs about 10 extra children per role against a deficit of about 0.2. Inside a network it is covered by the non-CSS-label row of P1. | [cert]/[arg] | +| (d) | Multiplicative index maps (multiplying an index by a fixed unit mod N is O(V)) | Transposition is k ↦ 2^e·k mod (2^{2e}−1). The CRT turns it into a free negation, but the CRT step is itself the expensive shear. *Valuation lemma:* any factorisation into fixed units of size at most C has length at least e/log₂C. BFS over the generators {−1, 2, 3, 5, 7} gives exactly e for e ≤ 10, the naive count. | [proof]/[cert] | +| (e) | Carry-free digitwise maps (XOR, F_q-linear maps, F_{q^k} arithmetic on whole fields) | Not linear-time by any known method. Free updates are cyclic shifts with carries plus fixed units, so cheap linear frames live in characteristic 0, where the trace lemma and the p-integral theorem apply. An escape from characteristic 0 must therefore be non-abelian, not cross-characteristic. | [arg] | +| (f) | Nonlinear controlled-shift frames (the offset may be any polynomial-time function of earlier fields) | The target still costs m per register: a backward-information function is subadditive, at most 1 per interchange and equal to m on the target. A nonlinear shear x += g(y) costs 2 children, not 1. Frames that are smooth at a common fixed point linearise through the Jacobian. At m = 1, Q = 3 the generated group is all of S₉, and the exact cost census matches these lemmas. Non-smooth frames evade every linear obstruction; permutation-module FO gives only s ≳ 2W. | [proof]/[cert]; open | +| (g) | Unequal or digit-class streams, multi-rate heads | Reduce to virtual registers, compression or copying, and to the P1 rows on unequal widths and mixed motifs. | [arg] | +| (h) | Sparse convolution and prefix-sum gates | Augmentation kills translations, so the derivative bound survives; the cut bounds survive. No mechanism found. | [arg] | + +**Follow-up on (f), nonlinear frames at small size.** +- [arg] **Common-frame networks with s ≤ 8 never save, for any frames (nonlinear included) and any gates.** + - A common-frame network is a one-shot code on the undirected graph of distinct gate frames, with at most s edges. + - Coding equals routing for at most 6 coding nodes, for trees, for graphs whose terminals lie on one face + (Okamura–Seymour), and for theta graphs (Liu–Que–Li–Li, arXiv:2608.06070, Theorems 5 and 7, and the earlier + work cited there). So a saving needs at least 7 frames and cyclomatic number at least 3. + - That settles m = 2 with W = 3 or 4, and m = 3 with W = 3, without search. The smallest open common-frame + case is m = 2, W = 5, s = 9. + - This assumes the cited coding model covers time-ordered gate circuits. +- [proof]/[cert] **At m = 2, nonlinear frames have no local advantage over linear flags.** In the machine's free + group (controlled shifts by any polynomial-time offset, plus fixed units), the largest set of pairwise + session-compatible unit-cost directions is exactly q, as for linear flags. It is 3 at q = 3 for every b, checked + exhaustively and by SAT. Carry-free fibre maps would give 9 at N = 9, but they are not linear-time. +- [cert] **Register-model searches.** Exact F₂[Γ] arithmetic at N = 3, W = 2, m = 2, s = 3, over two structured + classes (6.6·10⁶ and 7.95·10⁷ distinct states), found no saving. +- [exp] **FO bounds.** Permutation-module FO certificates, including an LP over all free-group-stable sets of + point pairs, give only s ≥ 4W/3. +- **Open:** the register model beyond these classes (W = 2 with s = 3, W = 3 with s = 4 or 5). It has no useful + first-order identity: the group is generated by involutions, so every characteristic-2 character is trivial. + +### 1.4 Other primitive families, and embedding known coding-gap codes + +The reduction used throughout is this. With free temporaries, a frame network is a frameless bijective circuit plus +a map of its gates into the frame space. The gain is therefore at most the coding gap of the frame space for sessions +at the target's relative position. The undirected unicast gap codes that refuted the Li–Li conjecture this month +(Braverman–He, arXiv:2610.10108; Zhang–Li–Li, arXiv:2610.09367) are the natural seeds. + +**(a) Frame families.** +- Permutation and signed-permutation frames, finite subgroups of GL(Z), and lattice-preserving finite linear groups + never save. FO on Λ/pΛ applies whenever the H and D parts split the lattice mod p. [proof] +- Qudit Clifford frames over Z/N give the same rank geometry for prime N, and are slot-additive across primes for + composite N (coordinate isolation). [arg] +- Abelian or cyclic frame groups (units mod N, digit rotations, Z/N translations) have l₁-embeddable metrics, so + their gap is 1. [arg] +- Tensor-power primitives A^{⊗e} are slot-additive without free carry-free mixing. [arg] +- Primitives defined through multiplication are circular. [arg] + +**(b) Cayley-graph seeds. [proof]** If a finite frame group with cost-1 generators S is used directly, with +sessions along an involutive target z at distance D, the gap is at most D/|S|. A gain needs physical degree below +the session distance, which is the opposite of the Tanner seeds: Braverman–He has degree 10 at distance 5. + +**(c) Full GL_{2m} flag model (non-abelian, same interchange primitive). [cert]** At m = 2, among the cost-1 +neighbours of a flag, the largest pairwise session-compatible set has size 2 at q = 2 and 3 at q = 3. In the abelian +shear model it is m = 2. So the local "compatible directions ≤ m" obstruction, which rules out isometric Tanner-code +embeddings in the abelian model, is model-specific. On the bit side, m = 2 is closed for the abelian and G₀ models +(1.2(a), (e)), but not yet for the full non-abelian flag model. Script: `checks/flag_model_cliques.py`. + +**(d) Braverman–He's PG(2,9) code with per-session sign gauges. [cert]** +- With a common target I, an isometric frame embedding at m = 5 with rank-one edges is impossible: on a geodesic, + steps are orthogonal idempotents, and 731 edges are crossed in opposite directions by different sessions. +- With targets C_i = ±C₀, geodesic steps are C_i·P. Opposite traversals become consistent exactly when the two + sessions have opposite signs, which turns the obstruction into a sign system on the 157 sessions × 735 edges. +- No session uses an edge in both directions, but the system is unbalanced: 23,025 violated constraints in one + component. Sign gauges do not help. +- With general Levi targets the embedding is heavily overdetermined: about 11,760 rank-one conditions against 4,550 + unknowns. + +Script: `checks/bh_sign_gauges.py`. The data file holds the deleted-edge list R and the vertex order π transcribed +from the paper's appendix. + +### 1.5 Literature, 15 September – 10 October 2026 + +We scanned arXiv (cs.DS, cs.IT, cs.CC, cs.DM, cs.SC, math.CO) through the 9 October listing, ECCC, openai/math +(unchanged since 8 October) and GitHub. We found no new mechanism. Items: +- Zhang–Li–Li and Braverman–He have no follow-ups. +- J. A. Sussman's Lean WHT/DFT package (jacobalansussman/wht-power-saving-lean). Its scratch-copy note prices + copy-free centres at ×1.71 and shows that copies along coordinate directions gain at most ×1.11–1.25. +- A Lean certificate that the Li–Li conjecture fails with an unbounded gap (chris1234555/ncc-certificate). It goes + from a fast algorithm to a coding gap, not the reverse. +- Adler (FOCS 1996) on XOR coding for transposition-like I/O problems. Its gain comes from broadcast with side + information, which bounded fan-out reduces to the label mechanism. +- Alman et al. on Kronecker powers: constant factors only, or table lookups that a fixed-alphabet machine cannot do. + Catalytic register programs bound space, not time. + +## 2. Earlier routes we tried and discarded (8–9 October 2026) + +These rows summarise exploration notes. Their scripts and certificates are not packaged here, so treat the +[cert] labels in this section as reports, and ask if you need a reproduction. + +### 2.1 In-class routes on the paired-cube design + +| Approach | How it failed | +|---|---| +| **5-pair ports** (bigger cubes, less centre loss) | Each 32-port cube needs 171 decoder channels, so the cost per port is about 4× the triples', against a 1.2–1.4× budget. Even at p = 16 the complex saving would be about 0.4× the triples'. (Compare P2's weight-five row.) | +| **Register recycling** (#184-style reuse of retired registers) | The peak number of simultaneously live registers forces at least 4.9 per port (4.76 under fresh-rank liveness), against about 3.45 needed for 2×. Even with the recycling conditions relaxed, the gain is +3.7% (at most about +5.4%). | +| **Source-assisted words** (#193, original sources cancel values) | Even with every source available everywhere (not actually allowed), κ gains only +2.9%. The extra registers come from fan-out, not from the cancellable part. | +| **Nested-chain decoder modules** | They would need sources that targets cannot read inside side roots, or about 220 extra centres. Those centres cost more than the whole deficit. | +| **Better pair modules** (exact minimum register count) | The J0 module is within about 7% of the best found, worth about +0.5–1% κ. No construction gap. | +| **Smaller cover / cancelling modules** | The cover dimension is fixed because a three-shear rotation is minimal. Cancelling sums would put unreadable sources into a root's frame, which the checker rejects. | +| **Centre restructuring** (built from P, reordered, split) | −1% to −7%, because the centre sums are already co-optimised with P. | +| **Root-role permutations, merging 2-port roots, gauge parameter** | Exactly neutral. | +| **Non-uniform local circuits, parity-based cube totals** | No gain, or −1.3%. | +| **Five-stage "bridged" schedule** (#209's idea) | Our pricing at the time: about +6% on the complex side but only +1.9% on the bit side, which then sets κ, so about +1.9% overall. #234 later realised it with a five-stage bit supplier as well. | + +### 2.2 New-primitive routes + +| Route | Result | Status | +|---|---|---| +| Different-frame (DF) gates: Clifford operator-valued gate coefficients | No saving at m ≤ 2 for any W (exact rational certificate over Sp(4,2)). Gates without a (1+i) denominator never save, at any m. At m = 3 the best bound is s ≥ 50W/21; the only surviving W = 2 profile is five rank-1 children. DF cannot cut centre loss: summing the per-class decoder identities gives K + H + B = I as scalars. | [cert]/[proof] | +| Characteristic-0 Tanner codes on the dual polar graph DSp(2m,2) (small-instance reduction: free temporaries give a one-shot code over Q(i) with sessions between opposite Lagrangians) | Every m = 2 LP optimiser found has no code over any field (tight-cut propagation, corridor argument). Sp(2m,2)-invariant schemes cannot deliver opposite-pair sessions. Product Tanner codes have causal gap exactly 1. | [proof]/[cert] | +| Small instances | No saving at m = 1, W ≤ 2, ≤ 5 session labels, ≤ 6 coding labels, cyclomatic number ≤ 2, product label families, mW ≤ 9, m = 2 with W ≤ 5, m = 3 with W ≤ 3. | [cert] | +| Centre decoders | The paired-cube and bit star decoders sit at their invariant minimum rank, and the dense readable remainder is forced at rank about h. Overcomplete or coordinate-direction centres gain at most about 4–10%. | [cert] | +| More than one saved dimension per data role | k-dimensional source labels need degree ≥ 3 exact-match indicators, so the centre rank grows from about h to about h⁴. Two-sided labels split the readers of a centre copy into about 15 classes at p = 12, multiplying copy cost. Port-mixing shears break the Pauli structure. | [arg] | +| Cover and stage structure | Within one pair's three-transfer swap with common-frame scatter, the cover penalty (ln 3 per local rank unit) is intrinsic; padding loses (4h −11%, 5h −18%). #209's five-stage twins evade this by sharing helpers across pairs. | [arg] | +| Cross-level and recursive primitives | A self-similar k-level scheme flattens to one level at (W^k, m^k). Gauged or network-valued children gain at most ×1.03. Cross-level labels give at most ×1.11 before auxiliaries. | [proof]/[arg] | +| Gain mechanisms in the Clifford model | Fixed points of the output permutation never save. Swap partners that share a label save nothing. A dirty-role relay at best breaks even. Each saving role needs ≥ 3 coded transfers; #209 later showed 2 suffice with free gates between pairs. Aux swaps (×0.73) and k-cycles (×0.27) lose. | [proof]/[arg] | +| Breaking min(a_b, a_c) | The bit network appears in the complex recursion only as rank-zero adapters, which the a_c moment already counts, so κ ≤ a_c/(1+a_c). | [arg] | +| Assembly weighting | The cover assemblies pass m* = min(a_b, (1−β)a_c) into an unchanged structured assembly. A balanced prefix (margin 1 − ε) gives about +0.05%. | [cert] | + +## 3. What remains open + +None of these has a construction. They are listed in rough order of how directly a positive answer would bear on κ; +remember that both sides must move. + +1. **Complex primitive, m = 3.** + - The full register model with W = 2 and s = 5 needs two or more free elements inserted between scalar mixings. + - W = 3 with s = 8 is open: the Clifford bound is s ≥ 50W/21, and the enlarged model has only s ≥ 2W. + - Torus-invariant FO certificates cannot exist there (Fano obstruction), so a proof needs a different tool. +2. **Bit primitive, abelian, m = 3.** W = 3 with s = 7 or 8, and W = 4 with s = 9 to 11. Proven bounds allow + G < 3/2. +3. **Bit primitive, full non-abelian model at m = 2.** Theorem G₀ does not cover the free lower-left updates + D += K·H. With them the shears no longer form a normal subgroup. +4. **Non-smooth nonlinear frames, in the register (superposition) model.** W = 2 with s = 3, and W = 3 with s = 4 or + 5, beyond the searched classes. The first open common-frame case is m = 2, W = 5, s = 9. +5. **Large m.** No mechanism is known that saves more than one rank unit per data role at a decoder cost comparable + to today's. The flag theorem and the FO bounds still allow gains up to about m/2. So the obstruction is the lack + of a construction, not a proof. + +## 4. Credits and disclosure + +The obstruction tools we cite: +- The FO lemma, the p-integral (mixed-characteristic) theorem, the trace identity, the support lemma and character + counting come from our earlier exploration. P1 and P2 independently prove the overlapping statements; cite those. +- The doubled-import bound E + σ ≥ 2W is ours. It agrees with P1's "at least 2W children" row. + +Other credits: +- Paired cubes: icekylinx (#144). Source-assisted compression: icekylinx (#184). Pair donors: ikeboy (#193). +- Paired-cube design ceiling: DaysSky (#201). Structural barriers: huxint (#203). Lucas-parity obstruction: + GamingPuzzled (#231). +- Five-stage bridged schedule: J. A. Sussman (#209). Five-stage suppliers: hcg890 (#234). +- Closed-ideas list and papers P1/P2: Swapnil Jain. +- The PG(2,9) instance and gap: Braverman and He. Amplification framework: Zhang, Li and Li. + +Prepared by eumemic with substantial Anthropic Claude assistance (Claude Code agents ran the searches, proofs and +checks). Apache-2.0. diff --git a/research/bit-clean-extra-register/review/full-replay-runner.py b/research/bit-clean-extra-register/review/full-replay-runner.py new file mode 100644 index 0000000000..7c1833123d --- /dev/null +++ b/research/bit-clean-extra-register/review/full-replay-runner.py @@ -0,0 +1,167 @@ +#!/usr/bin/env python3 +"""Replay the saved clean-register checks in a new directory.""" +import argparse +from collections import Counter +import hashlib +import importlib.util +import itertools +import json +import os +from pathlib import Path +import shutil +import subprocess +import sys + +if not __debug__: + raise SystemExit("Run this verifier without -O. Historical sources use assert.") +sys.dont_write_bytecode = True +ROOT = Path(__file__).resolve().parent + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def read(path): + return json.loads(path.read_text()) + + +def run(command, log): + print("Run:", " ".join(map(str, command)), flush=True) + with log.open("w") as output: + subprocess.run(list(map(str, command)), check=True, + stdout=output, stderr=subprocess.STDOUT) + + +def check_alphabets(path): + # This uses the dual-vector construction from the independent audit. + bases = [] + for columns in itertools.combinations(range(1, 16), 4): + dual = [] + for i in range(4): + choices = [v for v in range(1, 16) + if all((v & c).bit_count() % 2 == int(i == j) + for j, c in enumerate(columns))] + if len(choices) != 1: + break + dual.append(choices[0]) + if len(dual) == 4: + bases.append(tuple(sorted(zip(columns, dual)))) + def permute(v, p): + return sum(((v >> i) & 1) << p[i] for i in range(4)) + def canonical(basis): + return min(tuple(sorted((permute(x, p + (3,)), + permute(y, p + (3,))) for x, y in basis)) + for p in itertools.permutations(range(3))) + orbits = Counter(canonical(basis) for basis in bases) + rows = [list(map(int, line.split())) for line in path.read_text().splitlines()] + require(all(len(row) == 16 for row in rows), "Invalid alphabet row") + alphabets = [tuple(zip(row[::2], row[1::2])) for row in rows] + identity = tuple((1 << i, 1 << i) for i in range(4)) + require(len(bases) == 840 and len(orbits) == 166, "Basis count") + require(all(row[:4] == identity for row in alphabets), "Coordinate basis") + require(len(alphabets) == 166 and + set(row[4:] for row in alphabets) == set(orbits), "Basis coverage") + require(Counter(orbits.values()) == {1: 6, 3: 42, 6: 118}, "Orbit sizes") + return {"unordered_bases": 840, "alphabets": 166, + "orbit_sizes": dict(Counter(orbits.values()))} + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument("--build", type=Path, required=True) + args = parser.parse_args() + build = args.build.resolve() + require(not build.exists(), "The build directory exists.") + manifest = read(ROOT / "SOURCE-MANIFEST.json") + for item in manifest["files"]: + require(hashlib.sha256((ROOT / item["package"]).read_bytes()).hexdigest() + == item["sha256"], "Source hash: " + item["package"]) + build.mkdir(parents=True) + shutil.copytree(ROOT / "sources", build / "sources") + clean = build / "sources/four-register/independent/clean-zero" + audit = build / "sources/four-register/independent-audit" + basis = build / "sources/doubling-architecture/clean-ancilla" + selected = build / "sources/doubling-architecture/rank-independent/clean-audit" + compiler = os.environ.get("CXX") or shutil.which("clang++") or shutil.which("g++") + require(compiler is not None, "A C++17 compiler is required.") + for source, target in [(clean / "integer.cpp", clean / "integer"), + (clean / "field.cpp", clean / "field"), + (audit / "check_clean_zero_orders.cpp", audit / "orders"), + (basis / "two_bases.cpp", basis / "two_bases"), + (selected / "selected_words.cpp", selected / "selected_words")]: + run([compiler, "-O3", "-std=c++17", source, "-o", target], + build / (target.name + "-compile.log")) + run([sys.executable, clean / "generate.py"], build / "clean-generate.log") + expected = read(ROOT / "expected/clean-zero-result.json") + require(hashlib.sha256((clean / "words.bin").read_bytes()).hexdigest() + == expected["word_sha256"], "Clean word stream") + run([audit / "orders", audit / "clean-zero-family-metadata.txt", clean / "words.bin"], + build / "independent-orders.json") + independent = read(build / "independent-orders.json") + require(independent == expected["independent_front_end_audit"], "Independent orders") + for engine in ["integer", "field"]: + run([clean / engine, clean / "words.bin", clean / (engine + ".jsonl")], + build / (engine + "-run.log")) + for suffix in [".jsonl", ".jsonl.terminals.jsonl"]: + require((clean / ("integer" + suffix)).read_bytes() == + (clean / ("field" + suffix)).read_bytes(), "Engine comparison: " + suffix) + totals = json.loads((clean / "integer.jsonl").read_text().splitlines()[-1]) + require(totals == expected["engine_totals"], "Clean totals") + require(len((clean / "integer.jsonl.terminals.jsonl").read_text().splitlines()) + == expected["terminal_word_count"], "Terminal word count") + catalogue = check_alphabets(basis / "ALPHABETS.txt") + results = [] + for index in range(166): + output = build / f"basis-{index:03d}.json" + run([basis / "two_bases", basis / "ALPHABETS.txt", index, output], + build / f"basis-{index:03d}.log") + results.append(read(output)) + full = {"alphabets": 166, "completed": len(results), "results": results, + "states": [sum(row["states"][i] for row in results) for i in range(4)]} + for key in ["searched_words", "terminals", "robust"]: + full[key] = sum(row[key] for row in results) + (build / "all-basis-summary.json").write_text(json.dumps(full, indent=2) + "\n") + old = read(ROOT / "expected/all-basis-summary.json") + require(full["completed"] == full["alphabets"] == 166, "Incomplete basis run") + for key in ["searched_words", "states", "terminals", "robust"]: + require(full[key] == old[key], "Basis total: " + key) + for actual, expected_row in zip(full["results"], old["results"]): + require(actual["complete"] and actual["robust"] == 0, "Incomplete alphabet") + for key in expected_row: + if key != "seconds": + require(actual[key] == expected_row[key], "Alphabet field: " + key) + fixed = read(ROOT / "expected/selected-comparison.json")["results"] + words = [row["word"] for row in fixed] + encoded = "".join(" ".join(str(n) for xy in word for n in xy) + "\n" for word in words) + output = subprocess.run([str(selected / "selected_words")], input=encoded, + text=True, capture_output=True, check=True) + field = [json.loads(line) for line in output.stdout.splitlines()] + require(len(field) == len(words) == 48, "Selected word count") + spec = importlib.util.spec_from_file_location("clean_search", basis / "search.py") + exact = importlib.util.module_from_spec(spec) + spec.loader.exec_module(exact) + checks = [] + for i, word in enumerate(words): + rational = exact.solve(word) + require(len(rational["found"]) == field[i]["robust"] == 0, "Selected survivor") + require(rational["stats"]["terminals"] == field[i]["terminals"], "Selected terminals") + checks.append({"case": i, "word": word, "rational": rational["stats"], "field": field[i]}) + exact.d.rref.cache_clear() + exact.d.rep.cache_clear() + exact.d.add.cache_clear() + (build / "selected-comparison.json").write_text(json.dumps(checks, indent=2) + "\n") + receipt = {"status": "PASS_CLEAN_RESTRICTED_CLASSES", "clean_zero": totals, + "independent_orders": independent, "basis_catalogue": catalogue, + "all_basis": {key: full[key] for key in + ["alphabets", "completed", "searched_words", "states", "terminals", "robust"]}, + "selected_rational_field_words": len(checks), + "source_manifest_sha256": hashlib.sha256((ROOT / "SOURCE-MANIFEST.json").read_bytes()).hexdigest(), + "scope": "Restricted clean endpoint; frame spans five and six remain open."} + (build / "receipt.json").write_text(json.dumps(receipt, indent=2) + "\n") + print(receipt["status"], totals["words"], full["searched_words"], flush=True) + + +if __name__ == "__main__": + main() diff --git a/research/bit-clean-extra-register/review/huxint-predecessor.txt b/research/bit-clean-extra-register/review/huxint-predecessor.txt new file mode 100644 index 0000000000..043bc4af5e --- /dev/null +++ b/research/bit-clean-extra-register/review/huxint-predecessor.txt @@ -0,0 +1,355 @@ +# Cost barriers for a saving of 1/100 + +This note gives necessary conditions for specified finite interfaces. It does +not prove a new multiplication bound. In particular, it does not rule out +`kappa = 0.01` for a different architecture. + +## 1. A paid-moment inequality + +Let an ordinary finite supplier have ambient width `m`, stock `W`, and `n_r` +children of width `0 < r < m`. Put + +``` +D = m W - sum_r n_r r, +C = sum_r n_r r log(m/r). +``` + +Acceptance at a positive saving `a` requires + +``` +sum_r n_r r (m/r)^a < m W. +``` + +Since `exp(x) >= 1+x`, necessarily `a C < D`. For any retained submultiset +of children, `C_keep <= C`, so `a < D/C_keep`. Dropping all other entropy +costs is a favorable relaxation, not an implementation. Positive wrappers, +fallbacks and scalar tolls cannot improve this upper bound when they leave +this moment and its deficit budget intact. + +The elementary entropy bound was also used in DaysSky's PR #192. The use +here is different: discard the entire auxiliary circuit and bound the data +interface itself. The balanced assembly has `kappa < a/(1+a) < a` for its +limiting ordinary supplier (cf. PR #183). We use the weaker `kappa < a` for +the displayed ceilings. No historical factor-of-five assembly is used. + +## 2. The current data itineraries already exclude 0.01 + +The pinned complex profile is PR #193, whose full commit is recorded +in `inputs/complex-pr193.json`. The bit profile is PR #187, pinned separately +in `inputs/bit-pr187.json`. The input files contain the complete child +histograms and the exact source/target subhistograms, with source-file hashes. +The checker recounts stock, rank, deficit and submultiset inclusion. + +In the three-block shared-core interface, `m=3h` and `D=2v-3 ell`. +The data submultiset consists of three copies of the source and target +itineraries and `2v` rank-two complement children. It is: + +| Profile | h | v | ell | Data children, width: multiplicity | +| --- | ---: | ---: | ---: | --- | +| Complex #193 | 22 | 1320 | 440 | 1:15840, 2:6600, 18:7920 | +| Bit #187 | 24 | 1760 | 528 | 1:18480, 2:6160, 20:5280, 21:2640, 22:2640 | + +These give the following strict upper bounds on `a`, with every auxiliary +entropy cost removed: + +| Profile | Retain the copied-center loss | Grant zero center loss, D <= 2v | +| --- | ---: | ---: | +| Complex #193 | 0.004433342 | 0.008866683 | +| Bit #187 | 0.004893592 | 0.008897440 | + +At `a=0.01` the data alone require deficit greater than `2.28165 v` and +`2.27179 v`, respectively. Both exceed even the favorable `2v` budget. +The required deficit is computed directly from the exponential uplift, not +by treating the first-order approximation as an equality. + +Thus eliminating auxiliary calls or copied-center loss while keeping these +data calls and `D<=2v` cannot reach 0.01. This does not cover a change in +data interfaces, cross-stage fusion, a different deficit identity, or a new +recurrence. A finite-leaf or multitype scheme must be assessed against its +actual recurrence; it cannot be inserted into this theorem by name alone. + +## 3. An odd-dimensional paired-cube extension + +This is a proposed algebraic family and an optimistic cost screen. We do +not supply its complete framed side circuit, bit companion, prime compiler +or all-size assembly. + +Let `d=2t+1 >= 3` and `p>=d+1`. Partition `h=2p` coordinates into pairs. +Each port chooses one coordinate from each of `d` distinct pairs. There are +`v=2^d binom(p,d)` ports. Define the scalar fitting matrix + +``` +B[T,S] = b_d(|T intersection S|), +b_d(z) = product_(j=1..t) (z-(2j-1))/(d-(2j-1)). +``` + +Its diagonal is one, and every off-diagonal odd intersection is a root. +Let `B_block` keep only pairs in the same selector cube, and put +`K=I-B_block`, `H=B_block-B`. Then `K+H+B=I`, and both side terms are +supported on binary-orthogonal source/target pairs. + +### The local K is an involution in every odd dimension + +On a selector cube `F2^d`, let `P` project onto Walsh characters of degree +at most `t`. Exactly half of all characters have that degree, so the +diagonal of `2P` is one. Complementing a character multiplies its value at +a difference `x` by `(-1)^|x|`. At every nonzero even-weight `x`, the sum of +all characters is zero and is twice the low-degree sum. Thus the kernel of +`2P` vanishes there. + +Its radial kernel is a polynomial of degree at most `t` in intersection +size. The `t` prescribed roots and its diagonal value identify it uniquely +as `b_d`. Consequently `B_block=2P` and `(I-B_block)^2=I`. Its nonzero +off-diagonal entries join opposite selector parities. Its entries are +dyadic by the Walsh formula, irrespective of how the product polynomial is +written. + +Each parity class of addresses spans a binary `d`-space: the pair-difference +vectors with even selector parity have dimension `d-1`, and adding one +odd-norm port adds one dimension. The opposite class is orthogonal to it. +The original-source mixing argument therefore has candidate source chain +`[d-1,h-d-1,1]`. A retained lexicographic target flag has chain +`[h-d-1,1,...,1]` with `d` ones. These are compatible endpoint ingredients, +not a complete global word. + +### Copied t-star center budget + +The polynomial `b_d(z)` has degree `t`. Write +`b_d(z)=sum_j b_j binom(z,j)`. For a transversal coordinate t-subset `U`, +use the star `Z_U=sum_(S containing U) x_S`. The identity + +``` +sum_(U subset S, |U|=t) binom(|U intersection T|,j) + = binom(|S intersection T|,j) binom(d-j,t-j) +``` + +expresses the whole center matrix through these stars, using scatter +coefficient `sum_j b_j binom(|U intersection T|,j)/binom(d-j,t-j)`. +There are `2^t binom(p,t)` such stars. + +The span of the ports in a fixed star has dimension `h-2t`. The fixed +partner coordinates vanish; the fixed selected coordinates have one common +coefficient. Differences of outside ports generate the even-parity space +on the other `2(p-t)` coordinates: flips generate each pair difference, and +exchanging selected pairs generates all even pair occupancies. The strict +inequality `p>d` ensures those exchanges exist. One star port supplies the +remaining dimension. Thus the copied-star interface has + +``` +ell = 2^t binom(p,t) (h-2t), +D <= 2v-3 ell, m=3h=6p. +``` + +The inequality is a hypothesis inherited from this copied-center shared +compiler, allowing additional nonmonotone losses. A construction that +changes this center budget is outside the screen. + +### A ceiling even with redesigned local data chains + +Put `f(r)=r log(3h/r)`, with `f(0)=0`. It is increasing on `[0,h]`. +A data chain whose endpoints have distance `h-1` has total jump rank at +least `h-1`. If one jump is at least `h-1`, its entropy is already at least +`f(h-1)`. Otherwise concavity gives +`f(r) >= r f(h-1)/(h-1)` for every jump, and summing proves the same bound. +This permits nonmonotone chains, provided every local jump is at most `h`. + +Six source/target chains per port and the two complement children therefore +give the circuit-independent floor + +``` +C_data/v >= 6(h-1) log(3h/(h-1)) + 4 log(3h/2). +``` + +Together with `D<=2v-3 ell`, every supplier in this stated family satisfies + +``` +a < 0.008094. +``` + +The largest relaxed bound in the finite part occurs at `(p,d)=(13,5)` and +is less than `0.008093706`. Keeping the specific destructive-source and +lexicographic target chains instead gives `a<0.005164`, with the largest +relaxation at `(p,d)=(14,5)`. + +This is an infinite-family screen, not just a finite parameter scan. For +`p>=30`, `D/v<=2`, and the data lower bound is strictly greater than +`(12p-2) log 3`. The resulting ceiling +`2/((12p-2) log 3)` decreases with p and is already below both finite maxima +at p=30. The checker exhausts all odd `3<=d
=5`, `h=2p`. Let `A` be
+the port-by-coordinate incidence matrix. A nonzero row in its coordinate
+star span has values
+
+```
+f(S) = sum_(i in S) c_i.
+```
+
+For every such characteristic-zero coefficient vector, the binary span of
+the ports where `f(S)` is nonzero has dimension at least `h-2`.
+
+First suppose the coefficients differ within one coordinate pair i. For
+each outside two-coordinate edge from distinct pairs, at least one of its
+two extensions by pair i has nonzero f: their values differ by a fixed
+nonzero coefficient difference. The projections of these supported ports
+onto the outside coordinates therefore contain all edges of the connected
+complete multipartite graph on the other p-1 coordinate pairs. Its binary
+edge span has dimension `h-3`. Lift the three edges of an outside triangle
+using supported ports. Their outside coordinates sum to zero, while their
+pair-i coordinates have odd total parity and do not vanish. The projection
+kernel has dimension at least one, proving the `h-2` bound.
+
+Otherwise both coefficients in pair i have one value a_i. A coarse triple
+is active when its three a-values sum to a nonzero value; then all its eight
+selectors belong to the support. If one pair i is never active, equations
+`a_i+a_j+a_k=0` for all other j,k force all outside a_j to be one value b
+and `a_i=-2b`. Nonzero f implies b is nonzero. The support is exactly every
+triple avoiding pair i. Since p-1>=4, these ports span all `h-2` outside
+coordinates over F2.
+
+If every pair is active, the support contains all p pair-difference
+directions. If all a_i agree, the whole port family is supported. Otherwise
+choose a_i different from a_j. For each pair k,l outside i,j, at least one
+of the coarse triples `{i,k,l}`, `{j,k,l}` is active. Projecting their
+coarse incidence vectors outside i,j gives all edges on p-2 vertices,
+whose span has dimension p-3. A triangle of such edges lifts to a nonzero
+kernel vector on i,j, giving coarse span at least p-2. Quotienting the
+full coordinate support by the p pair-difference directions thus proves
+dimension at least `p+(p-2)=h-2`.
+
+Now A has rational rank h. Indeed, a coefficient relation zero on every
+port first forces equality within every pair by selector flips, and then
+forces all pair coefficients equal by comparing triples; three times that
+common coefficient is zero. Also
+
+```
+B = (AA^T-J)/2 = A (I-J_h/9) A^T / 2.
+```
+
+The middle matrix is invertible because the even integer h is not 9.
+Hence B has rank h and its row space is exactly the coordinate-star span.
+In any factorization `B=UV` through exactly h scalar centers, V has h
+independent nonzero rows in that same span. The support lemma charges
+at least `h-2` copied-center dimensions per row:
+
+```
+ell >= h(h-2).
+```
+
+The coordinate stars attain equality. Thus merely rotating, mixing or
+rescaling a rank-minimal center basis cannot reduce the selected triple
+construction's center loss. For the selected p=11 this lower bound is 440.
+
+The qualifier **rank-minimal** matters. An overcomplete factor may use
+rows outside the star row space whose contributions cancel after scatter;
+this proof does not bound such a factor. Sharing the center computation
+across stages or replacing copied centers also changes the hypotheses.
+At p=4 the support lemma itself fails: a linear form supported on the one
+cube avoiding a specified pair has binary support rank 4, below h-2=6.
+That is an explicit domain control, not omitted from the checker.
+
+## 5. A common triangular frame flag precludes any bit rank deficit
+
+Consider the general finite bit contract: every role has an arbitrary
+independent input, the completed scalar circuit is a permutation `rho`, all
+incidences of a gate share one rational matrix, and
+
+```
+M_out(rho(w)) - M_in(w) = I_m.
+```
+
+If all source, gate and sink matrices are simultaneously upper triangular
+over one characteristic-zero extension field, then **s >= Wm**. The matrices
+need not commute, be projections, or be diagonalizable.
+
+To prove this, conjugate them by the common basis; rational matrix ranks do
+not change on extending the field. For one diagonal coordinate j, partition
+all vertices by their j-th diagonal entry `lambda`. Regard all gates with
+the same entry as a single processor and allow it free internal computation.
+Its known inputs are exactly the source roles labeled lambda. Every output
+at this processor demands an independent original input labeled lambda-1,
+by the endpoint equation, so none of those requested inputs is initially
+known there.
+
+Each incoming edge from a different label carries one scalar. The rank of
+the requested outside-input transfer, or equivalently its entropy for
+uniform independent bits, forces at least one such incoming edge per output
+at that processor. Summing over processors gives at least W edges whose
+j-th diagonal entries change. This argument permits arbitrary communication
+between gates with the same label, so that relaxation can only strengthen
+the exclusion.
+
+An upper triangular matrix has rank at least its number of nonzero diagonal
+entries: take the principal minor on those entries. Therefore
+
+```
+s = sum_edges rank(M_head-M_tail)
+ >= sum_j number_of_edges_with_changed_diagonal_j
+ >= Wm.
+```
+
+In particular, pairwise commuting frames are excluded: a finite commuting
+family over an algebraically closed characteristic-zero field is
+simultaneously triangularizable, by a common eigenvector and induction on
+the quotient. A rational common eigenbasis is not required.
+
+`triangular_obstruction.py` checks a supplied exact rational common basis,
+or pairwise commutation. Failing either sufficient check does not establish
+a deficit. This theorem concerns the rational-matrix **bit shear** contract;
+it is not a theorem about all binary Lagrangian/Clifford frame families.
+
+## 6. Locally reused Fano networks
+
+The graph and balanced 10-role, 14-vertex model come from the retained
+`scripts/experiments/fano_completion.py` and `balanced_fano.py`, with their
+original attribution. Earlier work excluded the unmodified balanced model
+with the three Fano demands fixed. Here an auxiliary output stub may be
+connected to a later auxiliary input stub. Each stub is used at most once.
+Chronology prevents cycles; no additional decoding circuit is appended.
+
+There are exactly 87 such choices, including the unchanged graph. Inputs
+and outputs after each splice are checked to remain partitions of the
+physical roles. Every remaining input is independent. Sixteen choices
+preserve the original three-demand routing obstruction. On each of these,
+the independent standard-library meet-in-the-middle replay excludes all
+`6^14` choices of local `GL(2,F2)` matrices, with the other outputs free.
+
+The broader C++ check drops even those three terminal obligations. For every
+one of the 87 topologies it enumerates **all** completed scalar permutations
+and all port-routing permutations. The sets are equal. Hence none of these
+scalar completions admits a rational rank deficit in any dimension, by the
+retained routing theorem. Keeping only one prefix per key would be
+insufficient for this claim; the implementation retains every prefix and
+checks every matching suffix/prefix pair.
+
+Each half has `6^7=279936` assignments. A complete product is a permutation
+exactly when the columns of the prefix and inverse suffix agree as
+multisets. Both local direction choices and all auxiliary permutations are
+included. Routing independently enumerates straight/cross choices at the
+14 vertices. Small controls compare this algorithm with direct enumeration
+of every complete local word.
+
+Vector blocks are separate solver experiments. A `sat` result would need an
+independent all-column replay, routing analysis and rational-frame witness.
+An `unsat` solver report is not upgraded here to a separately checked
+impossibility proof; `unknown` and timeout remain unresolved. No vector
+experiment is used in the exact ceilings above.
+
+## Arithmetic and limits
+
+Logarithms use binary range reduction and
+`log x=2 sum_(j>=0) z^(2j+1)/(2j+1)`, `z=(x-1)/(x+1)`, with an explicit
+geometric tail. Lower bounds are rounded down on a `10^-24` rational grid.
+The exponential uplift uses a finite sum of positive Taylor terms. All
+upper ceilings divide by a lower entropy bound, so rounding is favorable
+to the hypothetical candidate. No floating-point value is an acceptance
+criterion.
+
+Finite arithmetic and bounded exhaustive search do not formalize the whole
+multiplication theorem. The inherited analytic, all-size, weighted compiler,
+row restoration, precision and fixed-tape contracts remain separate. The
+results above identify assumptions a successful new architecture must change;
+they do not assert that any suggested replacement will succeed.
diff --git a/research/bit-clean-extra-register/review/replay.log b/research/bit-clean-extra-register/review/replay.log
new file mode 100644
index 0000000000..c7bd2e15a5
--- /dev/null
+++ b/research/bit-clean-extra-register/review/replay.log
@@ -0,0 +1,176 @@
+Run: /usr/bin/clang++ -O3 -std=c++17 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/four-register/independent/clean-zero/integer.cpp -o /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/four-register/independent/clean-zero/integer
+Run: /usr/bin/clang++ -O3 -std=c++17 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/four-register/independent/clean-zero/field.cpp -o /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/four-register/independent/clean-zero/field
+Run: /usr/bin/clang++ -O3 -std=c++17 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/four-register/independent-audit/check_clean_zero_orders.cpp -o /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/four-register/independent-audit/orders
+Run: /usr/bin/clang++ -O3 -std=c++17 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases.cpp -o /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases
+Run: /usr/bin/clang++ -O3 -std=c++17 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/rank-independent/clean-audit/selected_words.cpp -o /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/rank-independent/clean-audit/selected_words
+Run: /opt/homebrew/opt/python@3.14/bin/python3.14 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/four-register/independent/clean-zero/generate.py
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/four-register/independent-audit/orders /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/four-register/independent-audit/clean-zero-family-metadata.txt /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/four-register/independent/clean-zero/words.bin
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/four-register/independent/clean-zero/integer /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/four-register/independent/clean-zero/words.bin /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/four-register/independent/clean-zero/integer.jsonl
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/four-register/independent/clean-zero/field /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/four-register/independent/clean-zero/words.bin /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/four-register/independent/clean-zero/field.jsonl
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 0 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-000.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 1 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-001.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 2 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-002.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 3 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-003.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 4 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-004.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 5 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-005.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 6 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-006.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 7 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-007.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 8 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-008.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 9 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-009.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 10 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-010.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 11 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-011.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 12 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-012.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 13 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-013.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 14 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-014.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 15 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-015.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 16 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-016.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 17 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-017.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 18 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-018.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 19 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-019.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 20 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-020.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 21 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-021.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 22 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-022.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 23 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-023.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 24 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-024.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 25 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-025.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 26 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-026.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 27 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-027.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 28 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-028.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 29 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-029.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 30 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-030.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 31 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-031.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 32 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-032.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 33 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-033.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 34 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-034.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 35 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-035.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 36 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-036.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 37 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-037.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 38 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-038.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 39 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-039.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 40 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-040.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 41 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-041.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 42 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-042.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 43 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-043.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 44 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-044.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 45 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-045.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 46 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-046.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 47 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-047.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 48 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-048.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 49 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-049.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 50 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-050.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 51 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-051.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 52 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-052.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 53 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-053.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 54 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-054.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 55 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-055.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 56 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-056.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 57 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-057.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 58 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-058.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 59 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-059.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 60 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-060.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 61 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-061.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 62 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-062.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 63 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-063.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 64 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-064.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 65 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-065.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 66 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-066.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 67 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-067.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 68 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-068.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 69 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-069.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 70 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-070.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 71 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-071.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 72 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-072.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 73 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-073.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 74 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-074.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 75 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-075.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 76 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-076.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 77 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-077.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 78 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-078.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 79 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-079.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 80 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-080.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 81 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-081.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 82 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-082.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 83 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-083.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 84 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-084.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 85 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-085.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 86 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-086.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 87 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-087.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 88 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-088.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 89 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-089.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 90 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-090.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 91 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-091.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 92 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-092.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 93 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-093.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 94 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-094.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 95 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-095.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 96 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-096.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 97 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-097.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 98 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-098.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 99 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-099.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 100 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-100.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 101 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-101.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 102 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-102.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 103 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-103.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 104 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-104.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 105 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-105.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 106 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-106.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 107 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-107.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 108 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-108.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 109 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-109.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 110 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-110.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 111 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-111.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 112 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-112.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 113 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-113.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 114 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-114.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 115 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-115.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 116 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-116.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 117 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-117.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 118 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-118.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 119 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-119.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 120 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-120.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 121 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-121.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 122 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-122.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 123 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-123.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 124 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-124.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 125 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-125.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 126 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-126.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 127 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-127.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 128 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-128.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 129 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-129.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 130 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-130.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 131 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-131.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 132 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-132.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 133 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-133.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 134 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-134.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 135 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-135.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 136 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-136.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 137 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-137.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 138 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-138.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 139 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-139.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 140 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-140.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 141 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-141.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 142 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-142.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 143 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-143.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 144 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-144.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 145 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-145.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 146 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-146.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 147 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-147.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 148 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-148.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 149 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-149.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 150 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-150.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 151 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-151.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 152 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-152.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 153 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-153.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 154 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-154.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 155 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-155.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 156 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-156.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 157 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-157.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 158 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-158.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 159 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-159.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 160 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-160.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 161 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-161.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 162 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-162.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 163 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-163.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 164 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-164.json
+Run: /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/two_bases /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt 165 /Users/aliromman/Projects/IntegerMultiplicationBounds/work/project-final-cleanup-20261022/reviews/clean-register/replay/basis-165.json
+PASS_CLEAN_RESTRICTED_CLASSES 314666 7406643
diff --git a/research/bit-clean-extra-register/review/replay/receipt.json b/research/bit-clean-extra-register/review/replay/receipt.json
new file mode 100644
index 0000000000..71c580ce5b
--- /dev/null
+++ b/research/bit-clean-extra-register/review/replay/receipt.json
@@ -0,0 +1,49 @@
+{
+ "status": "PASS_CLEAN_RESTRICTED_CLASSES",
+ "clean_zero": {
+ "words": 314666,
+ "states": [
+ 314666,
+ 1005125,
+ 1024411,
+ 2160151
+ ],
+ "terminals": 20430,
+ "robust": 0,
+ "parity_prunes": 0,
+ "zero_frame_prunes": 1612361
+ },
+ "independent_orders": {
+ "status": "PASS_INDEPENDENT_CLEAN_ZERO_ORDER_COVERAGE",
+ "families": 216,
+ "raw_orders": 3674160,
+ "commutation_orders": 314666,
+ "binary_word_stream_identical": true,
+ "reversal_used": false
+ },
+ "basis_catalogue": {
+ "unordered_bases": 840,
+ "alphabets": 166,
+ "orbit_sizes": {
+ "1": 6,
+ "3": 42,
+ "6": 118
+ }
+ },
+ "all_basis": {
+ "alphabets": 166,
+ "completed": 166,
+ "searched_words": 7406643,
+ "states": [
+ 7406643,
+ 24410375,
+ 59745229,
+ 89537683
+ ],
+ "terminals": 262735,
+ "robust": 0
+ },
+ "selected_rational_field_words": 48,
+ "source_manifest_sha256": "f6936c24dcabf23a7d07e85fe1f098ba649a42913f4d545e6062a9de37fa1541",
+ "scope": "Restricted clean endpoint; frame spans five and six remain open."
+}
diff --git a/research/bit-clean-extra-register/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt b/research/bit-clean-extra-register/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt
new file mode 100644
index 0000000000..9379b3ba1f
--- /dev/null
+++ b/research/bit-clean-extra-register/sources/doubling-architecture/clean-ancilla/ALPHABETS.txt
@@ -0,0 +1,166 @@
+1 1 2 2 4 4 8 8 1 1 2 2 4 4 8 8
+1 1 2 2 4 4 8 8 1 1 2 2 4 12 12 8
+1 1 2 2 4 4 8 8 1 1 2 2 8 12 12 4
+1 1 2 2 4 4 8 8 1 1 2 6 6 4 8 8
+1 1 2 2 4 4 8 8 1 1 2 6 6 12 14 8
+1 1 2 2 4 4 8 8 1 1 2 6 8 12 14 4
+1 1 2 2 4 4 8 8 1 1 2 10 4 12 14 8
+1 1 2 2 4 4 8 8 1 1 2 10 10 12 14 4
+1 1 2 2 4 4 8 8 1 1 2 14 6 4 10 8
+1 1 2 2 4 4 8 8 1 1 2 14 6 12 12 8
+1 1 2 2 4 4 8 8 1 1 2 14 10 12 12 4
+1 1 2 2 4 4 8 8 1 1 6 2 8 14 12 6
+1 1 2 2 4 4 8 8 1 1 6 10 10 6 14 14
+1 1 2 2 4 4 8 8 1 1 8 10 10 6 14 4
+1 1 2 2 4 4 8 8 1 1 8 14 10 2 12 4
+1 1 2 2 4 4 8 8 1 1 10 12 12 10 14 14
+1 1 2 2 4 4 8 8 1 3 3 2 4 12 12 8
+1 1 2 2 4 4 8 8 1 3 3 2 8 12 12 4
+1 1 2 2 4 4 8 8 1 3 3 6 7 4 8 8
+1 1 2 2 4 4 8 8 1 3 3 6 7 12 15 8
+1 1 2 2 4 4 8 8 1 3 3 6 8 12 15 4
+1 1 2 2 4 4 8 8 1 3 3 10 4 12 15 8
+1 1 2 2 4 4 8 8 1 3 3 10 11 12 15 4
+1 1 2 2 4 4 8 8 1 3 3 14 7 4 11 8
+1 1 2 2 4 4 8 8 1 3 3 14 7 12 12 8
+1 1 2 2 4 4 8 8 1 3 3 14 11 12 12 4
+1 1 2 2 4 4 8 8 1 3 4 6 7 2 8 8
+1 1 2 2 4 4 8 8 1 3 4 6 7 10 15 8
+1 1 2 2 4 4 8 8 1 3 4 6 8 10 15 2
+1 1 2 2 4 4 8 8 1 3 4 12 12 10 15 2
+1 1 2 2 4 4 8 8 1 3 4 14 7 2 12 8
+1 1 2 2 4 4 8 8 1 3 4 14 7 10 11 8
+1 1 2 2 4 4 8 8 1 3 4 14 11 2 12 10
+1 1 2 2 4 4 8 8 1 3 7 2 8 14 12 6
+1 1 2 2 4 4 8 8 1 3 7 4 8 14 11 6
+1 1 2 2 4 4 8 8 1 3 7 10 11 6 15 14
+1 1 2 2 4 4 8 8 1 3 7 12 12 6 15 14
+1 1 2 2 4 4 8 8 1 3 8 10 11 6 15 4
+1 1 2 2 4 4 8 8 1 3 8 12 12 6 15 2
+1 1 2 2 4 4 8 8 1 3 8 14 11 2 12 4
+1 1 2 2 4 4 8 8 1 3 11 12 12 10 15 14
+1 1 2 2 4 4 8 8 1 7 3 2 5 4 8 8
+1 1 2 2 4 4 8 8 1 7 3 2 5 12 13 8
+1 1 2 2 4 4 8 8 1 7 3 2 8 12 13 4
+1 1 2 2 4 4 8 8 1 7 3 6 6 4 8 8
+1 1 2 2 4 4 8 8 1 7 3 6 6 12 14 8
+1 1 2 2 4 4 8 8 1 7 3 6 8 12 14 4
+1 1 2 2 4 4 8 8 1 7 3 10 5 12 14 8
+1 1 2 2 4 4 8 8 1 7 3 10 11 12 14 4
+1 1 2 2 4 4 8 8 1 7 3 14 6 4 11 8
+1 1 2 2 4 4 8 8 1 7 3 14 6 12 13 8
+1 1 2 2 4 4 8 8 1 7 3 14 11 12 13 4
+1 1 2 2 4 4 8 8 1 7 6 2 8 14 13 6
+1 1 2 2 4 4 8 8 1 7 6 10 11 6 14 14
+1 1 2 2 4 4 8 8 1 7 8 10 11 6 14 4
+1 1 2 2 4 4 8 8 1 7 8 14 11 2 13 4
+1 1 2 2 4 4 8 8 1 7 11 12 13 10 14 14
+1 1 2 2 4 4 8 8 1 9 2 10 4 12 15 8
+1 1 2 2 4 4 8 8 1 9 2 10 11 12 15 4
+1 1 2 2 4 4 8 8 1 9 2 14 6 4 11 8
+1 1 2 2 4 4 8 8 1 9 2 14 6 12 13 8
+1 1 2 2 4 4 8 8 1 9 2 14 11 12 13 4
+1 1 2 2 4 4 8 8 1 9 6 2 9 14 13 6
+1 1 2 2 4 4 8 8 1 9 6 10 11 6 15 14
+1 1 2 2 4 4 8 8 1 9 9 10 11 6 15 4
+1 1 2 2 4 4 8 8 1 9 9 14 11 2 13 4
+1 1 2 2 4 4 8 8 1 9 11 12 13 10 15 14
+1 1 2 2 4 4 8 8 1 11 3 2 9 12 13 4
+1 1 2 2 4 4 8 8 1 11 3 6 7 4 9 8
+1 1 2 2 4 4 8 8 1 11 3 6 7 12 14 8
+1 1 2 2 4 4 8 8 1 11 3 6 9 12 14 4
+1 1 2 2 4 4 8 8 1 11 3 10 10 12 14 4
+1 1 2 2 4 4 8 8 1 11 3 14 7 4 10 8
+1 1 2 2 4 4 8 8 1 11 3 14 7 12 13 8
+1 1 2 2 4 4 8 8 1 11 3 14 10 12 13 4
+1 1 2 2 4 4 8 8 1 11 4 14 7 2 13 8
+1 1 2 2 4 4 8 8 1 11 4 14 7 10 10 8
+1 1 2 2 4 4 8 8 1 11 4 14 10 2 13 10
+1 1 2 2 4 4 8 8 1 11 7 2 9 14 13 6
+1 1 2 2 4 4 8 8 1 11 7 4 9 14 10 6
+1 1 2 2 4 4 8 8 1 11 7 10 10 6 14 14
+1 1 2 2 4 4 8 8 1 11 7 12 13 6 14 14
+1 1 2 2 4 4 8 8 1 11 9 10 10 6 14 4
+1 1 2 2 4 4 8 8 1 11 9 12 13 6 14 2
+1 1 2 2 4 4 8 8 1 11 9 14 10 2 13 4
+1 1 2 2 4 4 8 8 1 11 10 12 13 10 14 14
+1 1 2 2 4 4 8 8 1 15 3 2 5 4 9 8
+1 1 2 2 4 4 8 8 1 15 3 2 5 12 12 8
+1 1 2 2 4 4 8 8 1 15 3 2 9 12 12 4
+1 1 2 2 4 4 8 8 1 15 3 6 6 4 9 8
+1 1 2 2 4 4 8 8 1 15 3 6 6 12 15 8
+1 1 2 2 4 4 8 8 1 15 3 6 9 12 15 4
+1 1 2 2 4 4 8 8 1 15 3 10 5 12 15 8
+1 1 2 2 4 4 8 8 1 15 3 10 10 12 15 4
+1 1 2 2 4 4 8 8 1 15 3 14 6 4 10 8
+1 1 2 2 4 4 8 8 1 15 3 14 6 12 12 8
+1 1 2 2 4 4 8 8 1 15 3 14 10 12 12 4
+1 1 2 2 4 4 8 8 1 15 6 2 9 14 12 6
+1 1 2 2 4 4 8 8 1 15 6 10 10 6 15 14
+1 1 2 2 4 4 8 8 1 15 9 10 10 6 15 4
+1 1 2 2 4 4 8 8 1 15 9 14 10 2 12 4
+1 1 2 2 4 4 8 8 1 15 10 12 12 10 15 14
+1 1 2 2 4 4 8 8 3 1 6 3 8 15 12 7
+1 1 2 2 4 4 8 8 3 1 6 4 8 15 10 7
+1 1 2 2 4 4 8 8 3 1 6 11 10 7 14 15
+1 1 2 2 4 4 8 8 3 1 6 12 12 7 14 15
+1 1 2 2 4 4 8 8 3 1 8 11 10 7 14 4
+1 1 2 2 4 4 8 8 3 1 8 12 12 7 14 3
+1 1 2 2 4 4 8 8 3 1 8 15 10 3 12 4
+1 1 2 2 4 4 8 8 3 1 10 12 12 11 14 15
+1 1 2 2 4 4 8 8 3 5 5 3 7 7 8 8
+1 1 2 2 4 4 8 8 3 5 5 3 7 15 15 8
+1 1 2 2 4 4 8 8 3 5 5 3 8 15 15 7
+1 1 2 2 4 4 8 8 3 5 5 11 7 7 13 8
+1 1 2 2 4 4 8 8 3 5 5 11 7 15 10 8
+1 1 2 2 4 4 8 8 3 5 5 11 10 7 13 15
+1 1 2 2 4 4 8 8 3 5 5 12 13 15 15 7
+1 1 2 2 4 4 8 8 3 5 7 4 8 11 10 3
+1 1 2 2 4 4 8 8 3 5 7 7 8 11 13 3
+1 1 2 2 4 4 8 8 3 5 7 12 13 3 15 11
+1 1 2 2 4 4 8 8 3 5 7 15 10 3 15 11
+1 1 2 2 4 4 8 8 3 5 8 11 10 7 13 4
+1 1 2 2 4 4 8 8 3 5 8 12 13 3 15 7
+1 1 2 2 4 4 8 8 3 5 8 15 10 3 15 4
+1 1 2 2 4 4 8 8 3 5 10 12 13 15 15 11
+1 1 2 2 4 4 8 8 3 9 6 11 9 7 13 15
+1 1 2 2 4 4 8 8 3 9 6 12 13 15 15 7
+1 1 2 2 4 4 8 8 3 9 9 3 11 15 15 4
+1 1 2 2 4 4 8 8 3 9 9 7 11 11 13 4
+1 1 2 2 4 4 8 8 3 9 9 12 13 15 15 11
+1 1 2 2 4 4 8 8 3 9 11 12 13 3 15 7
+1 1 2 2 4 4 8 8 3 13 5 11 7 7 14 8
+1 1 2 2 4 4 8 8 3 13 5 11 7 15 9 8
+1 1 2 2 4 4 8 8 3 13 5 11 9 7 14 15
+1 1 2 2 4 4 8 8 3 13 7 4 9 3 11 11
+1 1 2 2 4 4 8 8 3 13 7 7 11 11 14 3
+1 1 2 2 4 4 8 8 3 13 7 12 12 11 14 3
+1 1 2 2 4 4 8 8 3 13 7 15 9 3 12 11
+1 1 2 2 4 4 8 8 3 13 9 3 11 15 12 4
+1 1 2 2 4 4 8 8 3 13 9 7 11 11 14 4
+1 1 2 2 4 4 8 8 3 13 9 12 12 11 14 15
+1 1 2 2 4 4 8 8 3 13 11 12 12 7 14 3
+1 1 2 2 4 4 8 8 7 1 8 11 10 6 14 5
+1 1 2 2 4 4 8 8 7 1 8 14 10 3 12 5
+1 1 2 2 4 4 8 8 7 1 10 13 12 11 14 14
+1 1 2 2 4 4 8 8 7 7 8 11 13 6 14 5
+1 1 2 2 4 4 8 8 7 7 11 11 13 13 14 14
+1 1 2 2 4 4 8 8 7 9 9 3 11 6 15 13
+1 1 2 2 4 4 8 8 7 9 9 14 11 11 13 13
+1 1 2 2 4 4 8 8 7 9 11 5 13 3 15 14
+1 1 2 2 4 4 8 8 7 15 9 3 12 6 15 13
+1 1 2 2 4 4 8 8 7 15 9 14 10 13 12 11
+1 1 2 2 4 4 8 8 8 9 9 3 11 6 15 4
+1 1 2 2 4 4 8 8 8 9 9 7 11 2 13 4
+1 1 2 2 4 4 8 8 8 9 11 5 13 3 15 7
+1 1 2 2 4 4 8 8 8 11 9 1 10 6 14 4
+1 1 2 2 4 4 8 8 8 11 9 7 13 6 14 2
+1 1 2 2 4 4 8 8 8 15 9 1 10 2 12 4
+1 1 2 2 4 4 8 8 8 15 9 3 12 6 15 2
+1 1 2 2 4 4 8 8 9 1 10 13 12 11 14 15
+1 1 2 2 4 4 8 8 9 3 11 15 12 9 15 13
+1 1 2 2 4 4 8 8 9 7 11 11 13 13 14 9
+1 1 2 2 4 4 8 8 9 10 10 9 11 15 15 4
+1 1 2 2 4 4 8 8 9 10 10 13 11 11 14 4
+1 1 2 2 4 4 8 8 9 10 11 6 14 9 15 13
+1 1 2 2 4 4 8 8 11 12 13 10 14 9 15 7
diff --git a/research/bit-clean-extra-register/sources/doubling-architecture/clean-ancilla/RESULT.txt b/research/bit-clean-extra-register/sources/doubling-architecture/clean-ancilla/RESULT.txt
new file mode 100644
index 0000000000..b0dff35fba
--- /dev/null
+++ b/research/bit-clean-extra-register/sources/doubling-architecture/clean-ancilla/RESULT.txt
@@ -0,0 +1,72 @@
+EXACT RESULT FOR A FINITE CLEAN-ANCILLA CLASS
+
+There is no eight-call word in the class below. This result does not
+exclude arbitrary four-register scalar words.
+
+The endpoint has three active outputs. Their address operators are
+three invertible lower-triangular rational 3 by 3 frames. A fourth
+input starts at zero. Its final output can be discarded.
+
+Fix the coordinate basis I of F_2^4. Let B be any binary basis. The
+allowed scalar projectors are the four coordinate projectors and
+the four projectors onto the basis vectors of B along their dual
+covectors. The word can use any eight ordered factors from this union,
+with repeated projectors. Each paid address frame can be any nonzero
+rational rank-one 3 by 3 matrix. There is no bound on its entries.
+
+The catalogue has 840 unordered binary bases. Permutations of the
+three active coordinates leave 166 basis orbits. The fourth coordinate
+stays fixed. All 166 alphabets were checked. Fixing the first basis to
+I is part of the stated class. It is not a normalization of an arbitrary
+pair of bases under a general change of scalar coordinates.
+
+The scalar generator uses two necessary filters. Each of the seven
+active binary probes must touch at least three calls on each side.
+Also, adjacent factors with commuting scalar projectors can be sorted.
+The generator retains one least word in each such trace class. It uses
+no reversal or inverse symmetry. The two distance arrays are separate;
+the projectors need not be symmetric.
+
+Every remaining scalar word goes through a complete relation search.
+The clean version of the span-four lemma requires rational frame span
+at least five. There are therefore at most three independent relations
+among eight frames. The search branches on exact collisions of subset
+sums. It requires zero active off-diagonal entries and one monomial in
+each active diagonal entry. It imposes no other condition on the fourth
+row or column. A terminal is rejected only after a target is proved to
+lie in the span of at most two paid frames, or an earlier necessary
+condition fails.
+
+The field calculation uses F_101 as an exact representation of these
+rational rank tests. Each tested minor has, after expansion along any
+coordinate rows, at most four rows with entries in {-1,0,1}. Its absolute
+determinant is at most 16. Rational echelon entries for the three original
+relation rows have numerators and denominators at most four. Thus the
+field calculation preserves the needed zero tests and permits unique
+rational reconstruction before the parity test. The calculation does
+not reduce physical rational frame entries modulo two.
+
+Result:
+
+ scalar trace words checked: 7,406,643
+ relation states checked: 181,099,930
+ active monomial terminals: 262,735
+ terminals without rank obstacle: 0
+ basis alphabets completed: 166
+
+The exact counts are in ALL-BASIS-SUMMARY.json. The per-alphabet records
+are in all-basis-results/. Reproduction uses ALPHABETS.txt, two_bases.cpp,
+and run_two_bases.py. The C++ relation core was copied from the separate
+bit8 agent's clean_f101.cpp. Its scalar driver was replaced for the
+present class. The smaller Fraction implementation is search.py.
+
+Independent checks: a second agent reconstructed the 840 bases, their
+166 active-coordinate orbits, and the earlier 17,106 layer jobs. It also
+compared the Fraction and field engines on 48 selected nonsymmetric
+words. All terminal and survivor counts agreed on those words. This is
+a selected-case second-engine check, not a second full replay of all
+7,406,643 words. See ../rank-independent/clean-audit/.
+
+No positive supplier gain follows from this result. The wider clean
+ancilla problem, with arbitrary scalar rank-one idempotents, remains
+open in this work.
diff --git a/research/bit-clean-extra-register/sources/doubling-architecture/clean-ancilla/run_two_bases.py b/research/bit-clean-extra-register/sources/doubling-architecture/clean-ancilla/run_two_bases.py
new file mode 100644
index 0000000000..7ea2e7703c
--- /dev/null
+++ b/research/bit-clean-extra-register/sources/doubling-architecture/clean-ancilla/run_two_bases.py
@@ -0,0 +1,40 @@
+"""Run all basis alphabets with three independent worker processes."""
+from concurrent.futures import ThreadPoolExecutor, as_completed
+import json
+from pathlib import Path
+import subprocess
+import time
+
+
+folder = Path(__file__).resolve().parent
+result_folder = folder/'all-basis-results'
+
+
+def run(index):
+ out = result_folder/f'{index:03d}.json'
+ log = result_folder/f'{index:03d}.log'
+ with log.open('w') as stream:
+ subprocess.run([str(folder/'two_bases'), str(folder/'ALPHABETS.txt'),
+ str(index), str(out)], check=True, stderr=stream)
+ return json.loads(out.read_text())
+
+
+if __name__ == '__main__':
+ result_folder.mkdir(exist_ok=True)
+ count = len((folder/'ALPHABETS.txt').read_text().splitlines())
+ start = time.monotonic()
+ results = []
+ with ThreadPoolExecutor(max_workers=3) as executor:
+ jobs = [executor.submit(run, index) for index in range(count)]
+ for future in as_completed(jobs):
+ result = future.result()
+ results.append(result)
+ summary = dict(alphabets=count, completed=len(results),
+ searched_words=sum(r['searched_words'] for r in results),
+ states=[sum(r['states'][k] for r in results) for k in range(4)],
+ terminals=sum(r['terminals'] for r in results),
+ robust=sum(r['robust'] for r in results),
+ seconds=time.monotonic()-start,
+ results=sorted(results, key=lambda r:r['basis']))
+ (folder/'ALL-BASIS-SUMMARY.json').write_text(json.dumps(summary,indent=2)+'\n')
+ print(json.dumps({k:v for k,v in summary.items() if k!='results'}),flush=True)
diff --git a/research/bit-clean-extra-register/sources/doubling-architecture/clean-ancilla/search.py b/research/bit-clean-extra-register/sources/doubling-architecture/clean-ancilla/search.py
new file mode 100644
index 0000000000..1cf74f802c
--- /dev/null
+++ b/research/bit-clean-extra-register/sources/doubling-architecture/clean-ancilla/search.py
@@ -0,0 +1,84 @@
+"""Search a finite scalar ansatz with one clean discarded ancilla."""
+from pathlib import Path
+import importlib.util
+import itertools
+import json
+import time
+
+src=Path(__file__).resolve().parents[2]/'four-register/dirty_ancilla.py'
+spec=importlib.util.spec_from_file_location('returned_engine',src)
+d=importlib.util.module_from_spec(spec);spec.loader.exec_module(d)
+OFF=sum(1<<(4*i+j) for i in range(3) for j in range(3) if i!=j)
+MAXREL=3
+
+
+def solve(word):
+ poly=d.polynomial(word);seen=set();found=[]
+ first=[sum(((d.outer(x,y)>>bit)&1)<
+#include >j&1 and not pred[j]&todo),key=lambda j:(word[j],j))
+ out.append(word[i]);todo^=1<b.bit_length():
+ if v>>(b.bit_length()-1)&1:v^=b
+ return v
+
+def parity_possible(word):
+ fo=[sum(((core.outer(x,y)>>bit)&1)<