From c099e96941d27b8cc995cb79c33efa1a762f69d1 Mon Sep 17 00:00:00 2001 From: Gareth Davidson Date: Tue, 13 Oct 2026 19:38:02 +0100 Subject: [PATCH 1/2] Research: compose R439 A preparation with B blocks and helper stars --- .../BASE-SELECTION.json | 194 + .../CERTIFICATE.json | 173 + research/r439-abc-star-composition/CLAIM.json | 48 + .../r439-abc-star-composition/EXPECTED.json | 4398 +++++++++++++++++ research/r439-abc-star-composition/LICENSE | 201 + research/r439-abc-star-composition/NOTICE.md | 41 + research/r439-abc-star-composition/PROOF.md | 119 + research/r439-abc-star-composition/README.md | 108 + .../r439-abc-star-composition/SOURCES.json | 142 + .../r439-abc-star-composition/VALIDATION.md | 72 + research/r439-abc-star-composition/build.py | 101 + .../candidate.json.gz | Bin 0 -> 36211 bytes research/r439-abc-star-composition/common.py | 78 + research/r439-abc-star-composition/native.py | 112 + .../r439-abc-star-composition/test_package.py | 110 + .../vendor/pr1062/README.md | 95 + .../vendor/pr1062/SOURCES.json | 29 + .../vendor/pr1062/candidate.json.gz | Bin 0 -> 38439 bytes .../vendor/pr1062/candidate_search.json | 1680 +++++++ research/r439-abc-star-composition/verify.py | 305 ++ 20 files changed, 8006 insertions(+) create mode 100644 research/r439-abc-star-composition/BASE-SELECTION.json create mode 100644 research/r439-abc-star-composition/CERTIFICATE.json create mode 100644 research/r439-abc-star-composition/CLAIM.json create mode 100644 research/r439-abc-star-composition/EXPECTED.json create mode 100644 research/r439-abc-star-composition/LICENSE create mode 100644 research/r439-abc-star-composition/NOTICE.md create mode 100644 research/r439-abc-star-composition/PROOF.md create mode 100644 research/r439-abc-star-composition/README.md create mode 100644 research/r439-abc-star-composition/SOURCES.json create mode 100644 research/r439-abc-star-composition/VALIDATION.md create mode 100644 research/r439-abc-star-composition/build.py create mode 100644 research/r439-abc-star-composition/candidate.json.gz create mode 100644 research/r439-abc-star-composition/common.py create mode 100644 research/r439-abc-star-composition/native.py create mode 100644 research/r439-abc-star-composition/test_package.py create mode 100644 research/r439-abc-star-composition/vendor/pr1062/README.md create mode 100644 research/r439-abc-star-composition/vendor/pr1062/SOURCES.json create mode 100644 research/r439-abc-star-composition/vendor/pr1062/candidate.json.gz create mode 100644 research/r439-abc-star-composition/vendor/pr1062/candidate_search.json create mode 100644 research/r439-abc-star-composition/verify.py diff --git a/research/r439-abc-star-composition/BASE-SELECTION.json b/research/r439-abc-star-composition/BASE-SELECTION.json new file mode 100644 index 0000000000..f451ced662 --- /dev/null +++ b/research/r439-abc-star-composition/BASE-SELECTION.json @@ -0,0 +1,194 @@ +{ + "status": "Maintainer-reviewed conditional finite construction; see the integration receipt for publication and PR resolution status", + "kappa": "1672188119205421/1000000000000000000", + "decimal": "0.001672188119205421", + "source_prs": [ + 1042, + 1031, + 1028, + 1022, + 1018, + 1005, + 1004, + 987, + 942, + 890, + 870, + 869, + 858, + 799, + 741, + 699, + 685, + 676, + 664, + 660, + 659, + 656, + 655, + 653, + 658, + 649, + 645, + 635, + 589, + 555, + 545, + 626, + 623, + 622, + 620, + 617, + 615, + 604, + 601, + 596, + 592, + 591, + 593, + 599, + 588, + 543, + 584, + 586, + 583, + 582, + 579, + 576, + 575, + 574, + 571, + 569, + 568, + 567, + 564, + 562, + 561, + 559, + 558, + 552, + 550, + 548, + 541, + 535, + 510, + 503, + 531, + 523, + 493, + 514, + 507, + 484, + 496, + 505, + 522, + 520, + 472, + 458, + 445, + 442, + 425, + 433, + 370, + 361, + 315 + ], + "source_manifest": "research/community-frontier1042-audit/SELECTED-SOURCE.json", + "certificate": "research/community-frontier1042-audit/ASSEMBLY.json", + "certificate_sha256": "093f35445812ea96fe1bfe6a3af7d769cb7f274e08f4fb30f71a17ed1161e54e", + "proof": "docs/research/community-batch1047-review.md", + "proof_supplements": { + "research/e8-bit-r420/README.md": "9807be57c6adf26b30e4f54e2f8160075bbc05091f1a6d157e43d2a4620c1c9f", + "research/complex-571-free4fc8/NOTICE.md": "a4c084abdc1c7a9ac683eeb11124335d51cff8a6deba6ee92ba5a12bceaa2c97", + "research/complex-multicold/proof/CONSTRUCTION.md": "27ece5e1c11b90d97a808b56eff897b998c10e61016db95867f84e6e6aef132f", + "research/complex-multicold/vendor/pr559/PROOF.md": "d5d498edc56fdef8c5798af7f5ec66948bd2f66c553b9efe366cdaab01bd3453", + "research/structural-gain/frontier-composition/README.md": "70f0f791cbe3b2603f85d85bb9055aa0ee1df6dc06ba82fc1921356948312887", + "research/complex-joint-prefix/proof/CONSTRUCTION.md": "a92e610e7a598d99c612d1b63d1a03a49c0cd1e15ddd29fa55c465ddd8c18105", + "research/kernel-frame-coalescing/PROOF.md": "fa8b2f36b9590ee80ff45d3f7724f8c7de8ad29a29f366d5133010c77e41fe1b", + "research/complex-571-hpeq5/README.md": "4000b37f6c07c09d971dc4010ceb137c13340f3a8809d3272046ccaf746c3e2b", + "research/hyperplane-end-lean/PROOF.md": "1cbce5cf0ff0152f71e8ae7bef25841d1ce13010af248ff7209182d2328c21c9", + "docs/research/community-hyperplane599-review.md": "3298cd0d451541508af232cac72efbd7c10580e6c6ad493a855ab0faa01ade8c", + "research/complex-571-cold14-b3/README.md": "1945785785c153c7d0e8d4c071adabe626c1091b71721ff85d2d67191b376b96", + "research/complex-571-cold14-b3/PROOF-NOTE.md": "1cf592cbc8ab8e21d2dd8c1e945a5c64c6d5cde1216fb06e05a36c1c6ec6613d", + "scripts/verify_cold617_interface.py": "95d7a9094c05ad975fb72f5ab7605593003245a503c8456764987e512028fa6a", + "docs/research/community-cold617-review.md": "b3f2bcbae1249f1f651032022ce1e6e2bfb3f563ce580bf53671f50a074d7046", + "research/complex-k492-owner-repair/README.md": "ee5a1ace4828f7a073be97e95c2d931988774dd3a29a877e65abdf429aeec902", + "research/complex-k492-owner-repair/PROOF-NOTE.md": "337d70fe7abd9afca1d90954c23bde87f4dc27888cc1a6b4bb80506fd6fbf8c5", + "research/complex-k492-owner-repair/PROOF-NOTE-R.md": "22312bb347bdf159e6a01a45c47675e6170d33b258e2fd9ed52aee88fb92c0ed", + "docs/research/community-k492-review.md": "3b731d30e80010b15408a289b0b32192700885474c8b36d48ee3320a7a8c5c47", + "scripts/verify_frontier626.py": "2207bd0ef04a19ef276869085afdedad80a0938fa75db5e1aa7ab73fd3429444", + "scripts/verify_frontier626_bindings.py": "cda63ff41c6d6e2e352c7bf75b84e690c0ce57e4ec6c0355573bb5d9b1f98280", + "scripts/verify_frontier588_bindings.py": "6d1932eea7b1936598118ea8e607b09c29b6e31b749ec41bbe0744ea4f0b606d", + "scripts/verify_hpe_lean_binding.py": "52aa1d23641e4c716b43c98f6b883ad042087dd03a9d01369e8e6a735b07aa03", + "research/hyperplane-end-lean/HyperplaneEnd/Exact.lean": "eebf3a3982af7ab9be45777b272a6aaa523206fa7667ceb6df63ad6589fd8183", + "docs/research/community-frontier741-review.md": "4634694fa75ea9e749ecf19d3db3e4d82effe3b61a2efdf08ac5a97275fb676a", + "research/complex-sw4-frame8/PROVENANCE.md": "c7648719b01dd93af2c3a2c6e951a54711d13892dc4bd4339d16edb4c37c9bf0", + "research/e8-bit-p111-tuned/tune/README.md": "46c7917fb252949f38b7bcd88cf568efc282e3ea065b61d11e457e41673d0b2d", + "scripts/verify_frontier741.py": "215ee6a12de8dc2392e6811a1b8f2140035f6b2d2a0d2100ff4bd2fdcb8bb39b", + "scripts/verify_frontier741_bindings.py": "eff455167e2fd0bc9a67d35241d0e69d8edc58f3a23e776dcfe8f500ca8e8d67", + "docs/research/community-frontier799-review.md": "bd91c10c67f2a873fd456b95cbb43f715a43dac0e0a66938737d591c6b754052", + "scripts/verify_frontier799.py": "19fe1b32079095160dc00fe2f7df75e0fcbc82cff37f7159b755c8a63bd5ce99", + "scripts/verify_frontier799_bindings.py": "43897b3c99212d6134870898a1840f32898aa1b3679b299e654901568ad7e19b", + "research/gauge44-frames-x/PROOF-NOTE-FRAMES-X4.md": "39c50420ebb6e8813706a49b2cf759f277c4afac9f6780fc0a7ac6a5fb86e036", + "docs/research/community-frontier890-review.md": "cd03b7c2c6c09db2cfa89ae40133ae44e1deb6e32ec5ddd23aacecc9c50f2fea", + "scripts/verify_frontier890.py": "88ea38dbef62dd7c0dd46e212618520cc89213edddb2032800e5509993958175", + "scripts/verify_replay_coverage.py": "babe5941d7e6dac4248613ef01f950ee7bb6199e7355021aea4cf854fd1b91c5", + "scripts/verify_frontier741_bridge_coverage.py": "9a14f26762b6126eb54ed43db90371773374fe98733ada80ee871a74afa3b836", + "certificates/replay-coverage/pr741-sw4-v1.json": "7acd5033bc78e3f473718269edaa267c2785d84fbe95ccf6815a33dcf58c2756", + "research/complex-t21-owners/PROOF.md": "78721b32fceb34b21b8e77c95381c38c60276e72e6d9c2e9c6262cb347457def", + "research/complex-t21-owner-bound/PROOF.md": "2aa0aa6ec1d87402138564c38749b5ca0f058c16817efdf58a2685d2d90cb417", + "research/gauge44-barch/PROOF-NOTE-BARCH.md": "c24f211b09358b25d6cf47dd18e4bbd8bcf4ecf279e6f1c6c90613cfa230818d", + "research/complex-double-replica-owners/PROOF.md": "db99599e3966bec253c577c23915e2a2899c4c4e8568044efc11c7918b137bbc", + "docs/research/community-batch952-review.md": "04db59dfc2c31453229b6061bbf59547e71ce3abdc0ce0f6779144bb0dde127b", + "scripts/verify_frontier942.py": "27c6713532d9f53f55dfff4884d55a2d9ae74b68156e37a44596c0418fbed5b7", + "research/complex-t37-owners/PROOF.md": "09b39ad0d5f1f59f54dcff15c16640f7a7acf27e6597660acaf957b95c7e8510", + "research/complex-t37-owners/ALL-T-PROOF.md": "4c0c71ccd0afb850538af1b467e5208b7eb3edd0260fded84e02a8c01dfc868b", + ".github/workflows/t37-owners.yml": "c13acc2902c007237103072b7ec10caf5ca21c1b319d27934f194af2f7d87026", + "docs/research/community-batch1047-review.md": "a6271faf5db0afe3ff7d24a34a3be7a959cdc33ee37784572fba014ee5358787", + "scripts/verify_frontier1042.py": "700fdcaeb6e8f57f6e63c71c2dd1652fc5b183e8d706cd092779bdc0d271e854" + }, + "review": "docs/research/community-batch1047-review.md", + "validation": "docs/research/community-batch1047-integration.json", + "reproduce": "make frontier1042-verify", + "scope": "Finite composition under inherited all-size/compiler, common-label/mutable-source, whole-call hosting, precision/tape, analytic and bit H1-H5 assumptions. Not a full Lean multiplication theorem.", + "previous_kappa": "1661960547713947/1000000000000000000", + "previous_record": "certificates/checkpoints/frontier942.json", + "audited_source_head": "7e8ef087c02a77038a28a337a7ee3a77039cac0d", + "reviewed_dependency_heads": { + "588": "6d0e53b66c29abd17981881a09eaff41ac862d85", + "543": "2065fe4f72a914d907f1046603f5a36f17018535", + "568": "71c99ac935a33bb7b59a1b4a7af8725a939b0b90", + "569": "1424da81263a5305b35e4cf74ef686c275f03f3f", + "571": "b7bdc5a8de18fcf418cfb9c7d83a2b1097a5e4a3", + "575": "eac6f7e378ab622dac50a2fd4b7ef6eab014de44", + "583": "89be768f0157f5a3d8e4db69cf1748768605eac9", + "586": "4846fee5b06af770e9b3a10c36200f673d656725", + "591": "f622547244bf6d895a571a7b035142ba66279806", + "592": "1f471c445c06a45a32e2c47e8d74c8264b68356b", + "593": "fdb6dcc6d7bc29764c5b6b4d32b7fa050acf74a4", + "596": "7732dd5e46863ff294b5e443661cb9d99abf4e01", + "599": "bc13c8a3e000442606bd2dbe8583a17649ba6c32", + "601": "529ab7dcb59d5ea7a5798e9e06cf5b3aee8a1550", + "604": "1b795c5d7dea746ba310572585c0ef067574b4a6", + "615": "bf8a49a34350599763cced8592db81dc62c2c1c0", + "617": "904d62855723c00f8acef9a287a10768598fdeb2", + "622": "f69477f4f6d3c7eb1f740b166881bffed4ffa9f6", + "623": "e39a615ca601ce5d62abeb24f3fcdb8644ca1005", + "626": "660de893d27bb7abd1d5b01b1640207528a5c851", + "589": "a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46", + "741": "e516b1463606840a15f80aac1995d64ce0092e89", + "799": "80e6463157cfc80b85af09e7e2f14748fe2dac60", + "858": "ae2e25fee91540c83ceee5a60e3b07422ce21c7d", + "869": "73e86f69bf9a391e3c334999f7bbe3825dc42759", + "870": "b734850dc348800942f0ffd1f0723fdec7539b2b", + "890": "4b3bd8cbe8e3e81c44161017c9b72c905a8040a8", + "942": "1960cfa919a0945d0ca4cb14ea96237000037903", + "1004": "1974578f82a30158dd5fcdcdf226b83df8e7196f", + "1005": "779e80aef469bc3a28b19f1adde199871a9a22e3", + "1018": "eac7547cb191f875d5f5ea5f9bbb1d2b8c51c4ef", + "1022": "58618bcbfe88a252467755fc283c04c3db5ca4fd", + "1028": "be4bd89cb4483dcee43257200cd27601f938f13d", + "1031": "e900534f0beda892c726723524203b97471fb9a3", + "1042": "7e8ef087c02a77038a28a337a7ee3a77039cac0d" + } +} diff --git a/research/r439-abc-star-composition/CERTIFICATE.json b/research/r439-abc-star-composition/CERTIFICATE.json new file mode 100644 index 0000000000..ba41f8e033 --- /dev/null +++ b/research/r439-abc-star-composition/CERTIFICATE.json @@ -0,0 +1,173 @@ +{ + "bit_order": [ + "A_from_PR980", + "B_from_PR1062", + "D_from_PR1062" + ], + "candidate_mask": 7, + "corners": { + "0": { + "ADDs": 24305, + "B": 1113070, + "F": 49347, + "admitted": true, + "local_bits": 93, + "local_upper": "9528119495320518471870892800", + "nine_bits": 177, + "nine_upper": "117742596540718658156527847560864213734191286190080000", + "sections": { + "A": 2130, + "B": 934, + "C": 2629, + "D": 18085, + "scatter": 527 + }, + "sha256": "5642fd0e35a1acc11acff8d0c08350c1617e95f310d4d35ad63a651f9eeeba0b" + }, + "1": { + "ADDs": 23457, + "B": 734894, + "F": 39741, + "admitted": true, + "local_bits": 91, + "local_upper": "2169430543563436414251005184", + "nine_bits": 173, + "nine_upper": "7579362586098503299337647784840281046334606906753024", + "sections": { + "A": 1706, + "B": 934, + "C": 2205, + "D": 18085, + "scatter": 527 + }, + "sha256": "eb3a6c4a4696e436c3589d3038976d782595d2785fbc12b38a5f055101e14094" + }, + "2": { + "ADDs": 24037, + "B": 628338, + "F": 16841, + "admitted": true, + "local_bits": 87, + "local_upper": "120689712358592942082836736", + "nine_bits": 166, + "nine_upper": "55354457979264516602137696273028027286537564585984", + "sections": { + "A": 2130, + "B": 800, + "C": 2495, + "D": 18085, + "scatter": 527 + }, + "sha256": "fe72af73656eeaa4208907fcfc41a3bb2ebb11f6417f1ddc73ad12a5451fb468" + }, + "3": { + "ADDs": 23189, + "B": 338078, + "F": 9973, + "admitted": true, + "local_bits": 83, + "local_upper": "7255899389298649606696192", + "nine_bits": 158, + "nine_upper": "337859907815899833990771378853677191902844157952", + "sections": { + "A": 1706, + "B": 800, + "C": 2071, + "D": 18085, + "scatter": 527 + }, + "sha256": "14cf12af1fbb20f8e4cf220f2cb30c9f288e226012abeda7dfe730cfb6fb7a18" + }, + "4": { + "ADDs": 11768, + "B": 10470774, + "F": 79883, + "admitted": false, + "local_bits": 102, + "local_upper": "3576849318364915677794890906368", + "nine_bits": 193, + "nine_upper": "10250071566696342930038773719808475856064851818022690619392", + "sections": { + "A": 2130, + "B": 934, + "C": 2629, + "D": 5548, + "scatter": 527 + }, + "sha256": "3e16aae2dfe6ac3d59bef06b94d96d95d29c92328e54d5bd62ae026ccb07eb1f" + }, + "5": { + "ADDs": 10920, + "B": 7938516, + "F": 65853, + "admitted": true, + "local_bits": 100, + "local_upper": "1151821859173995790402836231168", + "nine_bits": 190, + "nine_upper": "1289362521029361945472698679437770033840632530837241331712", + "sections": { + "A": 1706, + "B": 934, + "C": 2205, + "D": 5548, + "scatter": 527 + }, + "sha256": "d3f218116d7972d30cded4cd82e9d3010537d9a2ad74a1c8bb647cf5429e97a2" + }, + "6": { + "ADDs": 11500, + "B": 5911840, + "F": 25717, + "admitted": true, + "local_bits": 95, + "local_upper": "38044005158586490435359539200", + "nine_bits": 182, + "nine_upper": "3601903994416905225984905662960686510006596408442880000", + "sections": { + "A": 2130, + "B": 800, + "C": 2495, + "D": 5548, + "scatter": 527 + }, + "sha256": "62fc64481911bec4c18643c0c6ac7d31091f09c081a9223096839a7150185be8" + }, + "7": { + "ADDs": 10652, + "B": 3910388, + "F": 15223, + "admitted": true, + "local_bits": 92, + "local_upper": "3452394524099512658714524672", + "nine_bits": 176, + "nine_upper": "50109557170207398770972615575887331408085730734374912", + "sections": { + "A": 1706, + "B": 800, + "C": 2071, + "D": 5548, + "scatter": 527 + }, + "sha256": "7bbaed96041297cd38e89ff48eb055750cfab36609b9fdbeafcec1b2758c1254" + } + }, + "format": "r439-abc-star-composition/1", + "new_kappa_claim": false, + "order": [ + 5, + 4, + 7, + 6, + 1, + 0, + 3, + 2 + ], + "seed": 13, + "sources": { + "PR1062": "62fc64481911bec4c18643c0c6ac7d31091f09c081a9223096839a7150185be8", + "PR589": "5642fd0e35a1acc11acff8d0c08350c1617e95f310d4d35ad63a651f9eeeba0b", + "PR980": "6ad029fc492597ed492e87e449e3fdcfccb27400a66189976db7c7243c81dd2b" + }, + "stopping_rule": "all eight frozen subsets; no search or restart" +} diff --git a/research/r439-abc-star-composition/CLAIM.json b/research/r439-abc-star-composition/CLAIM.json new file mode 100644 index 0000000000..24acbde1b4 --- /dev/null +++ b/research/r439-abc-star-composition/CLAIM.json @@ -0,0 +1,48 @@ +{ + "status": "in_progress", + "assignment": { + "pass_number": 19, + "seed": 13, + "track": "bit supplier", + "drawn_at_utc": "2026-10-13T18:12:37.430702+00:00", + "source": "secrets.randbelow(100), OS randomness" + }, + "base": "ba82555c64e1879e4b7decce28186f208fcb8262", + "candidates": [ + { + "task": "Compose PR980 A preparation with PR1062 B blocks and star D", + "decision": "chosen: eight-factorial comparison and missing independent native evidence; no new search seed or additive precision assumption" + }, + { + "task": "Tighter signed inverse-D envelope", + "decision": "deferred: PR1067 already covers this precisely, and PR1093/1096 extend signed bounds" + }, + { + "task": "New four-helper fusion", + "decision": "deferred: PR1045 exhausts its prescribed quartet class and PR967/1062 already provide lower costs" + } + ], + "scope": "Freeze PR980 A, PR1062 B and PR1062 rerun star D, construct the complete 2^3 composition cube against PR589, rebuild literal C for every word, check full semantic boundaries and complete 104/192-bit invoices; verify all finite stage checks and unchanged frame paths. No new helper search, paid profile, supplier adoption or kappa claim.", + "seed_use": "Seed 13 selects cross-phase composition as the object, and orders the eight diagnostic subsets by (mask xor 13); existing source search seeds and programs remain unchanged. Novelty is phase composition and independently checked interaction, not the new seed.", + "optimistic_complete_cost": "Full PR1062 word 11,500 minus PR980 paired A/C saving 872 = 10,628 ADDs. All preparation/restoration, scatter, copies, frames and nine-stage bridge costs charged; no added wire, helper, source read, COPY/ERASE or recursive child. Precision must be recomputed; same profile means no kappa improvement.", + "method": "One fixed eight-subset experiment; no search and no restart. Preserve failed precision corners as negative results. Compare independently lowered ADD/COPY/ERASE bounds and pinned native records.", + "coordination": "Fresh open issues have only #650 and #913 as non-PR issues; no pinned sprint coordination issue. Local claim. Queue checked through #1101.", + "related": [ + 589, + 904, + 915, + 926, + 936, + 952, + 967, + 980, + 1015, + 1040, + 1047, + 1062, + 1067 + ], + "pending_source_pr1062": "cd016e5dcd5ba28dafa3f3b4eeef003a38e6a11b", + "claimed_at_utc": "2026-10-13T18:21:12.819025+00:00", + "expected_finish_utc": "2026-10-13T19:15:00Z" +} diff --git a/research/r439-abc-star-composition/EXPECTED.json b/research/r439-abc-star-composition/EXPECTED.json new file mode 100644 index 0000000000..067019c301 --- /dev/null +++ b/research/r439-abc-star-composition/EXPECTED.json @@ -0,0 +1,4398 @@ +{ + "certificate_sha256": "eb5287caedb92da23abba182fe727157c2d411c30b0f587af68841eb4449bd9c", + "controls": { + "positive_controls": [ + "stale cleanup still F2 exact", + "D-only corner remains F2 exact while admission fails" + ], + "rejected": [ + "omitted A gate", + "omitted B gate", + "omitted helper preparation", + "omitted helper restoration", + "semantically valid stale cleanup", + "omitted private COPY", + "omitted private ERASE", + "wrong ERASE original", + "boolean frame id", + "self ADD", + "double-counted inherited B saving", + "stale forward bound", + "underpriced bridges", + "D-only semantic success exceeds precision", + "strict equality at local_upper", + "strict equality at nine_upper", + "non-nested physical frame" + ] + }, + "exact_phase_maps": { + "columns": 661, + "directions": 2, + "phases": 3, + "words": 8 + }, + "literal_streams": { + "columns": 661, + "directions": 2, + "instructions": 139972, + "words": 8 + }, + "native": { + "0": { + "common_frame_ADDs": 24305, + "copies": 9, + "erasures": 9, + "nine_stage_admitted": true, + "paid_histogram": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "rank_mass": 5129, + "records": 27234, + "staged": { + "11": { + "bridge_additions": 2664, + "controls_rejected": 24, + "formal_columns_checked": 1549, + "fresh_center_copies": 99, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 93, + "payload_prefix_upper": "9528119495320518471870892800", + "reverse_fresh_center_copies": 45, + "scalar_ADDs": 267355, + "signed_lift_prefix": [ + { + "bits": 16, + "cancellation_free_signed_row_l1_upper": "49347", + "reverse": false + }, + { + "bits": 21, + "cancellation_free_signed_row_l1_upper": "1113070", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": false, + "stage": 8 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": true, + "stage": 9 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": false, + "stage": 10 + } + ] + }, + "5": { + "bridge_additions": 666, + "controls_rejected": 6, + "formal_columns_checked": 883, + "fresh_center_copies": 45, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 93, + "payload_prefix_upper": "9528119495320518471870892800", + "reverse_fresh_center_copies": 18, + "scalar_ADDs": 121525, + "signed_lift_prefix": [ + { + "bits": 16, + "cancellation_free_signed_row_l1_upper": "49347", + "reverse": false + }, + { + "bits": 21, + "cancellation_free_signed_row_l1_upper": "1113070", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": false, + "stage": 4 + } + ] + }, + "9": { + "bridge_additions": 1998, + "controls_rejected": 18, + "formal_columns_checked": 1327, + "fresh_center_copies": 81, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 93, + "payload_prefix_upper": "9528119495320518471870892800", + "reverse_fresh_center_copies": 36, + "scalar_ADDs": 218745, + "signed_lift_prefix": [ + { + "bits": 16, + "cancellation_free_signed_row_l1_upper": "49347", + "reverse": false + }, + { + "bits": 21, + "cancellation_free_signed_row_l1_upper": "1113070", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 24305, + "signed_inverse": false, + "stage": 8 + } + ] + } + } + }, + "1": { + "common_frame_ADDs": 23457, + "copies": 9, + "erasures": 9, + "nine_stage_admitted": true, + "paid_histogram": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "rank_mass": 5129, + "records": 26386, + "staged": { + "11": { + "bridge_additions": 2664, + "controls_rejected": 24, + "formal_columns_checked": 1549, + "fresh_center_copies": 99, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 91, + "payload_prefix_upper": "2169430543563436414251005184", + "reverse_fresh_center_copies": 45, + "scalar_ADDs": 258027, + "signed_lift_prefix": [ + { + "bits": 16, + "cancellation_free_signed_row_l1_upper": "39741", + "reverse": false + }, + { + "bits": 20, + "cancellation_free_signed_row_l1_upper": "734894", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": false, + "stage": 8 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": true, + "stage": 9 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": false, + "stage": 10 + } + ] + }, + "5": { + "bridge_additions": 666, + "controls_rejected": 6, + "formal_columns_checked": 883, + "fresh_center_copies": 45, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 91, + "payload_prefix_upper": "2169430543563436414251005184", + "reverse_fresh_center_copies": 18, + "scalar_ADDs": 117285, + "signed_lift_prefix": [ + { + "bits": 16, + "cancellation_free_signed_row_l1_upper": "39741", + "reverse": false + }, + { + "bits": 20, + "cancellation_free_signed_row_l1_upper": "734894", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": false, + "stage": 4 + } + ] + }, + "9": { + "bridge_additions": 1998, + "controls_rejected": 18, + "formal_columns_checked": 1327, + "fresh_center_copies": 81, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 91, + "payload_prefix_upper": "2169430543563436414251005184", + "reverse_fresh_center_copies": 36, + "scalar_ADDs": 211113, + "signed_lift_prefix": [ + { + "bits": 16, + "cancellation_free_signed_row_l1_upper": "39741", + "reverse": false + }, + { + "bits": 20, + "cancellation_free_signed_row_l1_upper": "734894", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 23457, + "signed_inverse": false, + "stage": 8 + } + ] + } + } + }, + "2": { + "common_frame_ADDs": 24037, + "copies": 9, + "erasures": 9, + "nine_stage_admitted": true, + "paid_histogram": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "rank_mass": 5129, + "records": 26966, + "staged": { + "11": { + "bridge_additions": 2664, + "controls_rejected": 24, + "formal_columns_checked": 1549, + "fresh_center_copies": 99, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 87, + "payload_prefix_upper": "120689712358592942082836736", + "reverse_fresh_center_copies": 45, + "scalar_ADDs": 264407, + "signed_lift_prefix": [ + { + "bits": 15, + "cancellation_free_signed_row_l1_upper": "16841", + "reverse": false + }, + { + "bits": 20, + "cancellation_free_signed_row_l1_upper": "628338", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": false, + "stage": 8 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": true, + "stage": 9 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": false, + "stage": 10 + } + ] + }, + "5": { + "bridge_additions": 666, + "controls_rejected": 6, + "formal_columns_checked": 883, + "fresh_center_copies": 45, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 87, + "payload_prefix_upper": "120689712358592942082836736", + "reverse_fresh_center_copies": 18, + "scalar_ADDs": 120185, + "signed_lift_prefix": [ + { + "bits": 15, + "cancellation_free_signed_row_l1_upper": "16841", + "reverse": false + }, + { + "bits": 20, + "cancellation_free_signed_row_l1_upper": "628338", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": false, + "stage": 4 + } + ] + }, + "9": { + "bridge_additions": 1998, + "controls_rejected": 18, + "formal_columns_checked": 1327, + "fresh_center_copies": 81, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 87, + "payload_prefix_upper": "120689712358592942082836736", + "reverse_fresh_center_copies": 36, + "scalar_ADDs": 216333, + "signed_lift_prefix": [ + { + "bits": 15, + "cancellation_free_signed_row_l1_upper": "16841", + "reverse": false + }, + { + "bits": 20, + "cancellation_free_signed_row_l1_upper": "628338", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 24037, + "signed_inverse": false, + "stage": 8 + } + ] + } + } + }, + "3": { + "common_frame_ADDs": 23189, + "copies": 9, + "erasures": 9, + "nine_stage_admitted": true, + "paid_histogram": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "rank_mass": 5129, + "records": 26118, + "staged": { + "11": { + "bridge_additions": 2664, + "controls_rejected": 24, + "formal_columns_checked": 1549, + "fresh_center_copies": 99, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 83, + "payload_prefix_upper": "7255899389298649606696192", + "reverse_fresh_center_copies": 45, + "scalar_ADDs": 255079, + "signed_lift_prefix": [ + { + "bits": 14, + "cancellation_free_signed_row_l1_upper": "9973", + "reverse": false + }, + { + "bits": 19, + "cancellation_free_signed_row_l1_upper": "338078", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": false, + "stage": 8 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": true, + "stage": 9 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": false, + "stage": 10 + } + ] + }, + "5": { + "bridge_additions": 666, + "controls_rejected": 6, + "formal_columns_checked": 883, + "fresh_center_copies": 45, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 83, + "payload_prefix_upper": "7255899389298649606696192", + "reverse_fresh_center_copies": 18, + "scalar_ADDs": 115945, + "signed_lift_prefix": [ + { + "bits": 14, + "cancellation_free_signed_row_l1_upper": "9973", + "reverse": false + }, + { + "bits": 19, + "cancellation_free_signed_row_l1_upper": "338078", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": false, + "stage": 4 + } + ] + }, + "9": { + "bridge_additions": 1998, + "controls_rejected": 18, + "formal_columns_checked": 1327, + "fresh_center_copies": 81, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 83, + "payload_prefix_upper": "7255899389298649606696192", + "reverse_fresh_center_copies": 36, + "scalar_ADDs": 208701, + "signed_lift_prefix": [ + { + "bits": 14, + "cancellation_free_signed_row_l1_upper": "9973", + "reverse": false + }, + { + "bits": 19, + "cancellation_free_signed_row_l1_upper": "338078", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 23189, + "signed_inverse": false, + "stage": 8 + } + ] + } + } + }, + "4": { + "common_frame_ADDs": 11768, + "copies": 9, + "erasures": 9, + "nine_stage_admitted": false, + "paid_histogram": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "rank_mass": 5129, + "records": 14697, + "staged": { + "11": { + "bridge_additions": 2664, + "controls_rejected": 24, + "formal_columns_checked": 1549, + "fresh_center_copies": 99, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 102, + "payload_prefix_upper": "3576849318364915677794890906368", + "reverse_fresh_center_copies": 45, + "scalar_ADDs": 129448, + "signed_lift_prefix": [ + { + "bits": 17, + "cancellation_free_signed_row_l1_upper": "79883", + "reverse": false + }, + { + "bits": 24, + "cancellation_free_signed_row_l1_upper": "10470774", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": false, + "stage": 8 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": true, + "stage": 9 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": false, + "stage": 10 + } + ] + }, + "5": { + "bridge_additions": 666, + "controls_rejected": 6, + "formal_columns_checked": 883, + "fresh_center_copies": 45, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 102, + "payload_prefix_upper": "3576849318364915677794890906368", + "reverse_fresh_center_copies": 18, + "scalar_ADDs": 58840, + "signed_lift_prefix": [ + { + "bits": 17, + "cancellation_free_signed_row_l1_upper": "79883", + "reverse": false + }, + { + "bits": 24, + "cancellation_free_signed_row_l1_upper": "10470774", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": false, + "stage": 4 + } + ] + }, + "9": { + "bridge_additions": 1998, + "controls_rejected": 18, + "formal_columns_checked": 1327, + "fresh_center_copies": 81, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 102, + "payload_prefix_upper": "3576849318364915677794890906368", + "reverse_fresh_center_copies": 36, + "scalar_ADDs": 105912, + "signed_lift_prefix": [ + { + "bits": 17, + "cancellation_free_signed_row_l1_upper": "79883", + "reverse": false + }, + { + "bits": 24, + "cancellation_free_signed_row_l1_upper": "10470774", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 11768, + "signed_inverse": false, + "stage": 8 + } + ] + } + } + }, + "5": { + "common_frame_ADDs": 10920, + "copies": 9, + "erasures": 9, + "nine_stage_admitted": true, + "paid_histogram": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "rank_mass": 5129, + "records": 13849, + "staged": { + "11": { + "bridge_additions": 2664, + "controls_rejected": 24, + "formal_columns_checked": 1549, + "fresh_center_copies": 99, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 100, + "payload_prefix_upper": "1151821859173995790402836231168", + "reverse_fresh_center_copies": 45, + "scalar_ADDs": 120120, + "signed_lift_prefix": [ + { + "bits": 17, + "cancellation_free_signed_row_l1_upper": "65853", + "reverse": false + }, + { + "bits": 23, + "cancellation_free_signed_row_l1_upper": "7938516", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": false, + "stage": 8 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": true, + "stage": 9 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": false, + "stage": 10 + } + ] + }, + "5": { + "bridge_additions": 666, + "controls_rejected": 6, + "formal_columns_checked": 883, + "fresh_center_copies": 45, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 100, + "payload_prefix_upper": "1151821859173995790402836231168", + "reverse_fresh_center_copies": 18, + "scalar_ADDs": 54600, + "signed_lift_prefix": [ + { + "bits": 17, + "cancellation_free_signed_row_l1_upper": "65853", + "reverse": false + }, + { + "bits": 23, + "cancellation_free_signed_row_l1_upper": "7938516", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": false, + "stage": 4 + } + ] + }, + "9": { + "bridge_additions": 1998, + "controls_rejected": 18, + "formal_columns_checked": 1327, + "fresh_center_copies": 81, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 100, + "payload_prefix_upper": "1151821859173995790402836231168", + "reverse_fresh_center_copies": 36, + "scalar_ADDs": 98280, + "signed_lift_prefix": [ + { + "bits": 17, + "cancellation_free_signed_row_l1_upper": "65853", + "reverse": false + }, + { + "bits": 23, + "cancellation_free_signed_row_l1_upper": "7938516", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 10920, + "signed_inverse": false, + "stage": 8 + } + ] + } + } + }, + "6": { + "common_frame_ADDs": 11500, + "copies": 9, + "erasures": 9, + "nine_stage_admitted": true, + "paid_histogram": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "rank_mass": 5129, + "records": 14429, + "staged": { + "11": { + "bridge_additions": 2664, + "controls_rejected": 24, + "formal_columns_checked": 1549, + "fresh_center_copies": 99, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 95, + "payload_prefix_upper": "38044005158586490435359539200", + "reverse_fresh_center_copies": 45, + "scalar_ADDs": 126500, + "signed_lift_prefix": [ + { + "bits": 15, + "cancellation_free_signed_row_l1_upper": "25717", + "reverse": false + }, + { + "bits": 23, + "cancellation_free_signed_row_l1_upper": "5911840", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": false, + "stage": 8 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": true, + "stage": 9 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": false, + "stage": 10 + } + ] + }, + "5": { + "bridge_additions": 666, + "controls_rejected": 6, + "formal_columns_checked": 883, + "fresh_center_copies": 45, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 95, + "payload_prefix_upper": "38044005158586490435359539200", + "reverse_fresh_center_copies": 18, + "scalar_ADDs": 57500, + "signed_lift_prefix": [ + { + "bits": 15, + "cancellation_free_signed_row_l1_upper": "25717", + "reverse": false + }, + { + "bits": 23, + "cancellation_free_signed_row_l1_upper": "5911840", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": false, + "stage": 4 + } + ] + }, + "9": { + "bridge_additions": 1998, + "controls_rejected": 18, + "formal_columns_checked": 1327, + "fresh_center_copies": 81, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 95, + "payload_prefix_upper": "38044005158586490435359539200", + "reverse_fresh_center_copies": 36, + "scalar_ADDs": 103500, + "signed_lift_prefix": [ + { + "bits": 15, + "cancellation_free_signed_row_l1_upper": "25717", + "reverse": false + }, + { + "bits": 23, + "cancellation_free_signed_row_l1_upper": "5911840", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 11500, + "signed_inverse": false, + "stage": 8 + } + ] + } + } + }, + "7": { + "common_frame_ADDs": 10652, + "copies": 9, + "erasures": 9, + "nine_stage_admitted": true, + "paid_histogram": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "rank_mass": 5129, + "records": 13581, + "staged": { + "11": { + "bridge_additions": 2664, + "controls_rejected": 24, + "formal_columns_checked": 1549, + "fresh_center_copies": 99, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 92, + "payload_prefix_upper": "3452394524099512658714524672", + "reverse_fresh_center_copies": 45, + "scalar_ADDs": 117172, + "signed_lift_prefix": [ + { + "bits": 14, + "cancellation_free_signed_row_l1_upper": "15223", + "reverse": false + }, + { + "bits": 22, + "cancellation_free_signed_row_l1_upper": "3910388", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": false, + "stage": 8 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": true, + "stage": 9 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": false, + "stage": 10 + } + ] + }, + "5": { + "bridge_additions": 666, + "controls_rejected": 6, + "formal_columns_checked": 883, + "fresh_center_copies": 45, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 92, + "payload_prefix_upper": "3452394524099512658714524672", + "reverse_fresh_center_copies": 18, + "scalar_ADDs": 53260, + "signed_lift_prefix": [ + { + "bits": 14, + "cancellation_free_signed_row_l1_upper": "15223", + "reverse": false + }, + { + "bits": 22, + "cancellation_free_signed_row_l1_upper": "3910388", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": false, + "stage": 4 + } + ] + }, + "9": { + "bridge_additions": 1998, + "controls_rejected": 18, + "formal_columns_checked": 1327, + "fresh_center_copies": 81, + "local_raw_H": [ + [ + 1, + 1323 + ], + [ + 2, + 1342 + ], + [ + 3, + 79 + ], + [ + 4, + 44 + ], + [ + 5, + 102 + ], + [ + 6, + 11 + ], + [ + 7, + 19 + ] + ], + "payload_prefix_bits": 92, + "payload_prefix_upper": "3452394524099512658714524672", + "reverse_fresh_center_copies": 36, + "scalar_ADDs": 95868, + "signed_lift_prefix": [ + { + "bits": 14, + "cancellation_free_signed_row_l1_upper": "15223", + "reverse": false + }, + { + "bits": 22, + "cancellation_free_signed_row_l1_upper": "3910388", + "reverse": true + } + ], + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 10652, + "signed_inverse": false, + "stage": 8 + } + ] + } + } + } + }, + "no_new_kappa": true, + "prefix": { + "K": 4, + "bridge_exponent": 18, + "local_cap": 104, + "nine_cap": 192 + }, + "prices": { + "0": { + "ADDs": 24305, + "B": 1113070, + "F": 49347, + "admitted": true, + "local_bits": 93, + "local_upper": "9528119495320518471870892800", + "nine_bits": 177, + "nine_upper": "117742596540718658156527847560864213734191286190080000" + }, + "1": { + "ADDs": 23457, + "B": 734894, + "F": 39741, + "admitted": true, + "local_bits": 91, + "local_upper": "2169430543563436414251005184", + "nine_bits": 173, + "nine_upper": "7579362586098503299337647784840281046334606906753024" + }, + "2": { + "ADDs": 24037, + "B": 628338, + "F": 16841, + "admitted": true, + "local_bits": 87, + "local_upper": "120689712358592942082836736", + "nine_bits": 166, + "nine_upper": "55354457979264516602137696273028027286537564585984" + }, + "3": { + "ADDs": 23189, + "B": 338078, + "F": 9973, + "admitted": true, + "local_bits": 83, + "local_upper": "7255899389298649606696192", + "nine_bits": 158, + "nine_upper": "337859907815899833990771378853677191902844157952" + }, + "4": { + "ADDs": 11768, + "B": 10470774, + "F": 79883, + "admitted": false, + "local_bits": 102, + "local_upper": "3576849318364915677794890906368", + "nine_bits": 193, + "nine_upper": "10250071566696342930038773719808475856064851818022690619392" + }, + "5": { + "ADDs": 10920, + "B": 7938516, + "F": 65853, + "admitted": true, + "local_bits": 100, + "local_upper": "1151821859173995790402836231168", + "nine_bits": 190, + "nine_upper": "1289362521029361945472698679437770033840632530837241331712" + }, + "6": { + "ADDs": 11500, + "B": 5911840, + "F": 25717, + "admitted": true, + "local_bits": 95, + "local_upper": "38044005158586490435359539200", + "nine_bits": 182, + "nine_upper": "3601903994416905225984905662960686510006596408442880000" + }, + "7": { + "ADDs": 10652, + "B": 3910388, + "F": 15223, + "admitted": true, + "local_bits": 92, + "local_upper": "3452394524099512658714524672", + "nine_bits": 176, + "nine_upper": "50109557170207398770972615575887331408085730734374912" + } + }, + "source_checks": { + "labels": { + "frames": 636, + "gram_det": 1, + "labels": 111, + "lattice_rank": 8, + "punctured": 9, + "root_lines": 120 + }, + "words": { + "0": { + "conclusions": { + "C_is_U_inverse": true, + "J_identity": true, + "K_equals_D": true, + "U_block_form": true + }, + "full": { + "columns": 661, + "gates": { + "A": 2075, + "B": 712, + "C": 2574, + "D": 111 + }, + "scatter_terms": 527 + }, + "hypotheses": { + "H1_no_target_feeds_z": true, + "H2_D_frame0_targets_from_helpers": true, + "H3_A_z_only_scatter_targets_B_split": true, + "H4_C_literal_reverse_at_full": true, + "H5_V_identity": true + }, + "totals": [ + { + "frame": 510, + "hyperplane_of_punctured_line": [ + 0, + 1, + 1, + 0, + -1, + 0, + 0, + 1 + ], + "rank": 7, + "register": 472 + }, + { + "frame": 511, + "hyperplane_of_punctured_line": [ + 0, + 1, + -1, + 0, + -1, + 0, + 0, + -1 + ], + "rank": 7, + "register": 473 + }, + { + "frame": 512, + "hyperplane_of_punctured_line": [ + 0, + 1, + 1, + 0, + 0, + -1, + -1, + 0 + ], + "rank": 7, + "register": 474 + }, + { + "frame": 513, + "hyperplane_of_punctured_line": [ + 0, + 1, + -1, + 0, + 0, + 1, + -1, + 0 + ], + "rank": 7, + "register": 475 + }, + { + "frame": 514, + "hyperplane_of_punctured_line": [ + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ], + "rank": 7, + "register": 476 + }, + { + "frame": 515, + "hyperplane_of_punctured_line": [ + 1, + 1, + -1, + 1, + 0, + 0, + 0, + 0 + ], + "rank": 7, + "register": 477 + }, + { + "frame": 516, + "hyperplane_of_punctured_line": [ + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 1 + ], + "rank": 7, + "register": 478 + }, + { + "frame": 517, + "hyperplane_of_punctured_line": [ + 0, + 0, + 1, + 1, + 0, + 0, + 1, + -1 + ], + "rank": 7, + "register": 479 + }, + { + "frame": 518, + "hyperplane_of_punctured_line": [ + 0, + 1, + 0, + -1, + 0, + -1, + 0, + -1 + ], + "rank": 7, + "register": 480 + } + ] + }, + "1": { + "conclusions": { + "C_is_U_inverse": true, + "J_identity": true, + "K_equals_D": true, + "U_block_form": true + }, + "full": { + "columns": 661, + "gates": { + "A": 1706, + "B": 712, + "C": 2205, + "D": 111 + }, + "scatter_terms": 527 + }, + "hypotheses": { + "H1_no_target_feeds_z": true, + "H2_D_frame0_targets_from_helpers": true, + "H3_A_z_only_scatter_targets_B_split": true, + "H4_C_literal_reverse_at_full": true, + "H5_V_identity": true + }, + "totals": [ + { + "frame": 510, + "hyperplane_of_punctured_line": [ + 0, + 1, + 1, + 0, + -1, + 0, + 0, + 1 + ], + "rank": 7, + "register": 472 + }, + { + "frame": 511, + "hyperplane_of_punctured_line": [ + 0, + 1, + -1, + 0, + -1, + 0, + 0, + -1 + ], + "rank": 7, + "register": 473 + }, + { + "frame": 512, + "hyperplane_of_punctured_line": [ + 0, + 1, + 1, + 0, + 0, + -1, + -1, + 0 + ], + "rank": 7, + "register": 474 + }, + { + "frame": 513, + "hyperplane_of_punctured_line": [ + 0, + 1, + -1, + 0, + 0, + 1, + -1, + 0 + ], + "rank": 7, + "register": 475 + }, + { + "frame": 514, + "hyperplane_of_punctured_line": [ + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ], + "rank": 7, + "register": 476 + }, + { + "frame": 515, + "hyperplane_of_punctured_line": [ + 1, + 1, + -1, + 1, + 0, + 0, + 0, + 0 + ], + "rank": 7, + "register": 477 + }, + { + "frame": 516, + "hyperplane_of_punctured_line": [ + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 1 + ], + "rank": 7, + "register": 478 + }, + { + "frame": 517, + "hyperplane_of_punctured_line": [ + 0, + 0, + 1, + 1, + 0, + 0, + 1, + -1 + ], + "rank": 7, + "register": 479 + }, + { + "frame": 518, + "hyperplane_of_punctured_line": [ + 0, + 1, + 0, + -1, + 0, + -1, + 0, + -1 + ], + "rank": 7, + "register": 480 + } + ] + }, + "2": { + "conclusions": { + "C_is_U_inverse": true, + "J_identity": true, + "K_equals_D": true, + "U_block_form": true + }, + "full": { + "columns": 661, + "gates": { + "A": 2075, + "B": 578, + "C": 2440, + "D": 111 + }, + "scatter_terms": 527 + }, + "hypotheses": { + "H1_no_target_feeds_z": true, + "H2_D_frame0_targets_from_helpers": true, + "H3_A_z_only_scatter_targets_B_split": true, + "H4_C_literal_reverse_at_full": true, + "H5_V_identity": true + }, + "totals": [ + { + "frame": 510, + "hyperplane_of_punctured_line": [ + 0, + 1, + 1, + 0, + -1, + 0, + 0, + 1 + ], + "rank": 7, + "register": 472 + }, + { + "frame": 511, + "hyperplane_of_punctured_line": [ + 0, + 1, + -1, + 0, + -1, + 0, + 0, + -1 + ], + "rank": 7, + "register": 473 + }, + { + "frame": 512, + "hyperplane_of_punctured_line": [ + 0, + 1, + 1, + 0, + 0, + -1, + -1, + 0 + ], + "rank": 7, + "register": 474 + }, + { + "frame": 513, + "hyperplane_of_punctured_line": [ + 0, + 1, + -1, + 0, + 0, + 1, + -1, + 0 + ], + "rank": 7, + "register": 475 + }, + { + "frame": 514, + "hyperplane_of_punctured_line": [ + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ], + "rank": 7, + "register": 476 + }, + { + "frame": 515, + "hyperplane_of_punctured_line": [ + 1, + 1, + -1, + 1, + 0, + 0, + 0, + 0 + ], + "rank": 7, + "register": 477 + }, + { + "frame": 516, + "hyperplane_of_punctured_line": [ + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 1 + ], + "rank": 7, + "register": 478 + }, + { + "frame": 517, + "hyperplane_of_punctured_line": [ + 0, + 0, + 1, + 1, + 0, + 0, + 1, + -1 + ], + "rank": 7, + "register": 479 + }, + { + "frame": 518, + "hyperplane_of_punctured_line": [ + 0, + 1, + 0, + -1, + 0, + -1, + 0, + -1 + ], + "rank": 7, + "register": 480 + } + ] + }, + "3": { + "conclusions": { + "C_is_U_inverse": true, + "J_identity": true, + "K_equals_D": true, + "U_block_form": true + }, + "full": { + "columns": 661, + "gates": { + "A": 1706, + "B": 578, + "C": 2071, + "D": 111 + }, + "scatter_terms": 527 + }, + "hypotheses": { + "H1_no_target_feeds_z": true, + "H2_D_frame0_targets_from_helpers": true, + "H3_A_z_only_scatter_targets_B_split": true, + "H4_C_literal_reverse_at_full": true, + "H5_V_identity": true + }, + "totals": [ + { + "frame": 510, + "hyperplane_of_punctured_line": [ + 0, + 1, + 1, + 0, + -1, + 0, + 0, + 1 + ], + "rank": 7, + "register": 472 + }, + { + "frame": 511, + "hyperplane_of_punctured_line": [ + 0, + 1, + -1, + 0, + -1, + 0, + 0, + -1 + ], + "rank": 7, + "register": 473 + }, + { + "frame": 512, + "hyperplane_of_punctured_line": [ + 0, + 1, + 1, + 0, + 0, + -1, + -1, + 0 + ], + "rank": 7, + "register": 474 + }, + { + "frame": 513, + "hyperplane_of_punctured_line": [ + 0, + 1, + -1, + 0, + 0, + 1, + -1, + 0 + ], + "rank": 7, + "register": 475 + }, + { + "frame": 514, + "hyperplane_of_punctured_line": [ + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ], + "rank": 7, + "register": 476 + }, + { + "frame": 515, + "hyperplane_of_punctured_line": [ + 1, + 1, + -1, + 1, + 0, + 0, + 0, + 0 + ], + "rank": 7, + "register": 477 + }, + { + "frame": 516, + "hyperplane_of_punctured_line": [ + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 1 + ], + "rank": 7, + "register": 478 + }, + { + "frame": 517, + "hyperplane_of_punctured_line": [ + 0, + 0, + 1, + 1, + 0, + 0, + 1, + -1 + ], + "rank": 7, + "register": 479 + }, + { + "frame": 518, + "hyperplane_of_punctured_line": [ + 0, + 1, + 0, + -1, + 0, + -1, + 0, + -1 + ], + "rank": 7, + "register": 480 + } + ] + }, + "4": { + "conclusions": { + "C_is_U_inverse": true, + "J_identity": true, + "K_equals_D": false, + "U_block_form": true + }, + "full": { + "columns": 661, + "gates": { + "A": 2075, + "B": 712, + "C": 2574, + "D": 1195 + }, + "scatter_terms": 527 + }, + "hypotheses": { + "H1_no_target_feeds_z": true, + "H2_D_frame0_targets_from_helpers": false, + "H3_A_z_only_scatter_targets_B_split": true, + "H4_C_literal_reverse_at_full": true, + "H5_V_identity": true + }, + "totals": [ + { + "frame": 510, + "hyperplane_of_punctured_line": [ + 0, + 1, + 1, + 0, + -1, + 0, + 0, + 1 + ], + "rank": 7, + "register": 472 + }, + { + "frame": 511, + "hyperplane_of_punctured_line": [ + 0, + 1, + -1, + 0, + -1, + 0, + 0, + -1 + ], + "rank": 7, + "register": 473 + }, + { + "frame": 512, + "hyperplane_of_punctured_line": [ + 0, + 1, + 1, + 0, + 0, + -1, + -1, + 0 + ], + "rank": 7, + "register": 474 + }, + { + "frame": 513, + "hyperplane_of_punctured_line": [ + 0, + 1, + -1, + 0, + 0, + 1, + -1, + 0 + ], + "rank": 7, + "register": 475 + }, + { + "frame": 514, + "hyperplane_of_punctured_line": [ + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ], + "rank": 7, + "register": 476 + }, + { + "frame": 515, + "hyperplane_of_punctured_line": [ + 1, + 1, + -1, + 1, + 0, + 0, + 0, + 0 + ], + "rank": 7, + "register": 477 + }, + { + "frame": 516, + "hyperplane_of_punctured_line": [ + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 1 + ], + "rank": 7, + "register": 478 + }, + { + "frame": 517, + "hyperplane_of_punctured_line": [ + 0, + 0, + 1, + 1, + 0, + 0, + 1, + -1 + ], + "rank": 7, + "register": 479 + }, + { + "frame": 518, + "hyperplane_of_punctured_line": [ + 0, + 1, + 0, + -1, + 0, + -1, + 0, + -1 + ], + "rank": 7, + "register": 480 + } + ] + }, + "5": { + "conclusions": { + "C_is_U_inverse": true, + "J_identity": true, + "K_equals_D": false, + "U_block_form": true + }, + "full": { + "columns": 661, + "gates": { + "A": 1706, + "B": 712, + "C": 2205, + "D": 1195 + }, + "scatter_terms": 527 + }, + "hypotheses": { + "H1_no_target_feeds_z": true, + "H2_D_frame0_targets_from_helpers": false, + "H3_A_z_only_scatter_targets_B_split": true, + "H4_C_literal_reverse_at_full": true, + "H5_V_identity": true + }, + "totals": [ + { + "frame": 510, + "hyperplane_of_punctured_line": [ + 0, + 1, + 1, + 0, + -1, + 0, + 0, + 1 + ], + "rank": 7, + "register": 472 + }, + { + "frame": 511, + "hyperplane_of_punctured_line": [ + 0, + 1, + -1, + 0, + -1, + 0, + 0, + -1 + ], + "rank": 7, + "register": 473 + }, + { + "frame": 512, + "hyperplane_of_punctured_line": [ + 0, + 1, + 1, + 0, + 0, + -1, + -1, + 0 + ], + "rank": 7, + "register": 474 + }, + { + "frame": 513, + "hyperplane_of_punctured_line": [ + 0, + 1, + -1, + 0, + 0, + 1, + -1, + 0 + ], + "rank": 7, + "register": 475 + }, + { + "frame": 514, + "hyperplane_of_punctured_line": [ + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ], + "rank": 7, + "register": 476 + }, + { + "frame": 515, + "hyperplane_of_punctured_line": [ + 1, + 1, + -1, + 1, + 0, + 0, + 0, + 0 + ], + "rank": 7, + "register": 477 + }, + { + "frame": 516, + "hyperplane_of_punctured_line": [ + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 1 + ], + "rank": 7, + "register": 478 + }, + { + "frame": 517, + "hyperplane_of_punctured_line": [ + 0, + 0, + 1, + 1, + 0, + 0, + 1, + -1 + ], + "rank": 7, + "register": 479 + }, + { + "frame": 518, + "hyperplane_of_punctured_line": [ + 0, + 1, + 0, + -1, + 0, + -1, + 0, + -1 + ], + "rank": 7, + "register": 480 + } + ] + }, + "6": { + "conclusions": { + "C_is_U_inverse": true, + "J_identity": true, + "K_equals_D": false, + "U_block_form": true + }, + "full": { + "columns": 661, + "gates": { + "A": 2075, + "B": 578, + "C": 2440, + "D": 1195 + }, + "scatter_terms": 527 + }, + "hypotheses": { + "H1_no_target_feeds_z": true, + "H2_D_frame0_targets_from_helpers": false, + "H3_A_z_only_scatter_targets_B_split": true, + "H4_C_literal_reverse_at_full": true, + "H5_V_identity": true + }, + "totals": [ + { + "frame": 510, + "hyperplane_of_punctured_line": [ + 0, + 1, + 1, + 0, + -1, + 0, + 0, + 1 + ], + "rank": 7, + "register": 472 + }, + { + "frame": 511, + "hyperplane_of_punctured_line": [ + 0, + 1, + -1, + 0, + -1, + 0, + 0, + -1 + ], + "rank": 7, + "register": 473 + }, + { + "frame": 512, + "hyperplane_of_punctured_line": [ + 0, + 1, + 1, + 0, + 0, + -1, + -1, + 0 + ], + "rank": 7, + "register": 474 + }, + { + "frame": 513, + "hyperplane_of_punctured_line": [ + 0, + 1, + -1, + 0, + 0, + 1, + -1, + 0 + ], + "rank": 7, + "register": 475 + }, + { + "frame": 514, + "hyperplane_of_punctured_line": [ + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ], + "rank": 7, + "register": 476 + }, + { + "frame": 515, + "hyperplane_of_punctured_line": [ + 1, + 1, + -1, + 1, + 0, + 0, + 0, + 0 + ], + "rank": 7, + "register": 477 + }, + { + "frame": 516, + "hyperplane_of_punctured_line": [ + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 1 + ], + "rank": 7, + "register": 478 + }, + { + "frame": 517, + "hyperplane_of_punctured_line": [ + 0, + 0, + 1, + 1, + 0, + 0, + 1, + -1 + ], + "rank": 7, + "register": 479 + }, + { + "frame": 518, + "hyperplane_of_punctured_line": [ + 0, + 1, + 0, + -1, + 0, + -1, + 0, + -1 + ], + "rank": 7, + "register": 480 + } + ] + }, + "7": { + "conclusions": { + "C_is_U_inverse": true, + "J_identity": true, + "K_equals_D": false, + "U_block_form": true + }, + "full": { + "columns": 661, + "gates": { + "A": 1706, + "B": 578, + "C": 2071, + "D": 1195 + }, + "scatter_terms": 527 + }, + "hypotheses": { + "H1_no_target_feeds_z": true, + "H2_D_frame0_targets_from_helpers": false, + "H3_A_z_only_scatter_targets_B_split": true, + "H4_C_literal_reverse_at_full": true, + "H5_V_identity": true + }, + "totals": [ + { + "frame": 510, + "hyperplane_of_punctured_line": [ + 0, + 1, + 1, + 0, + -1, + 0, + 0, + 1 + ], + "rank": 7, + "register": 472 + }, + { + "frame": 511, + "hyperplane_of_punctured_line": [ + 0, + 1, + -1, + 0, + -1, + 0, + 0, + -1 + ], + "rank": 7, + "register": 473 + }, + { + "frame": 512, + "hyperplane_of_punctured_line": [ + 0, + 1, + 1, + 0, + 0, + -1, + -1, + 0 + ], + "rank": 7, + "register": 474 + }, + { + "frame": 513, + "hyperplane_of_punctured_line": [ + 0, + 1, + -1, + 0, + 0, + 1, + -1, + 0 + ], + "rank": 7, + "register": 475 + }, + { + "frame": 514, + "hyperplane_of_punctured_line": [ + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ], + "rank": 7, + "register": 476 + }, + { + "frame": 515, + "hyperplane_of_punctured_line": [ + 1, + 1, + -1, + 1, + 0, + 0, + 0, + 0 + ], + "rank": 7, + "register": 477 + }, + { + "frame": 516, + "hyperplane_of_punctured_line": [ + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 1 + ], + "rank": 7, + "register": 478 + }, + { + "frame": 517, + "hyperplane_of_punctured_line": [ + 0, + 0, + 1, + 1, + 0, + 0, + 1, + -1 + ], + "rank": 7, + "register": 479 + }, + { + "frame": 518, + "hyperplane_of_punctured_line": [ + 0, + 1, + 0, + -1, + 0, + -1, + 0, + -1 + ], + "rank": 7, + "register": 480 + } + ] + } + } + }, + "sources": { + "base_commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "files": { + "research/e8-bit-carrier-skeleton/LICENSE": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "path": "research/e8-bit-carrier-skeleton/LICENSE", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + }, + "research/e8-bit-carrier-skeleton/NOTICE.md": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "5a0ecdcd2c7fad0488740a1da0f633b73b56a809", + "path": "research/e8-bit-carrier-skeleton/NOTICE.md", + "sha256": "5f4b7fcbf99f572be28b6da612ce775363908cdfc7810f7aca167be01c86e49a" + }, + "research/e8-bit-carrier-skeleton/code/bit/checkers/columns_k.cpp": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "42bb232fbec4de703e70cc13dc2f39a3b43a3a01", + "path": "research/e8-bit-carrier-skeleton/code/bit/checkers/columns_k.cpp", + "sha256": "1c344d18fcd494eeca93e259f10cafae7705780e6592f6dcb35b34752dab9bc2" + }, + "research/e8-bit-carrier-skeleton/code/bit/checkers/json.hpp": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "82d69f7c5d044c9887c96b90c97f5639083ecd14", + "path": "research/e8-bit-carrier-skeleton/code/bit/checkers/json.hpp", + "sha256": "aaf127c04cb31c406e5b04a63f1ae89369fccde6d8fa7cdda1ed4f32dfc5de63" + }, + "research/e8-bit-carrier-skeleton/code/bit/checkers/legality_h.cpp": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "cb1233c7e96b1aa8bbf4d2e4165d75ab0dca64b9", + "path": "research/e8-bit-carrier-skeleton/code/bit/checkers/legality_h.cpp", + "sha256": "6c1ef2b24e57781d6951c172a1024fc4300e6fd392c9d6672079a7806ab663b3" + }, + "research/e8-bit-carrier-skeleton/code/bit/export_records.py": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "3632d370486a02f5456f7643ced03f8c925b2350", + "path": "research/e8-bit-carrier-skeleton/code/bit/export_records.py", + "sha256": "8a5999601f917dbb492bb9ae9a344611f18cc7cedc53dc3c76496a369e530eb3" + }, + "research/e8-bit-carrier-skeleton/code/bit/regression/stage_cohort.py": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "f6d7afe3e623208c4207b6a683a1e3e49249e31c", + "path": "research/e8-bit-carrier-skeleton/code/bit/regression/stage_cohort.py", + "sha256": "6c288f6f234b528c1a7c0a4adfb724e91e0fe6b18c8dffad96af3f973de1829a" + }, + "research/e8-bit-carrier-skeleton/portable-include/bits/stdc++.h": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "fc5664e929d9a81d9b4926bee049a93330be86ec", + "path": "research/e8-bit-carrier-skeleton/portable-include/bits/stdc++.h", + "sha256": "420094be2af295eed03a983dd66debbbe9cfb78d8252859f4498a615a0074b99" + }, + "research/e8-bit-p111-tuned/LICENSE": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "path": "research/e8-bit-p111-tuned/LICENSE", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + }, + "research/e8-bit-p111-tuned/NOTICE.md": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "b589500c8ae02a0a4c476e61dfdd1b79dcbf7cad", + "path": "research/e8-bit-p111-tuned/NOTICE.md", + "sha256": "5b88eb2b7de76aa2a3288ee3c7a08d18a5eadfa82f5e7a99e207d232aed71221" + }, + "research/e8-bit-p111-tuned/code/xcheck_p.py": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "184f5dcf94a486cc7db91ca4db5865916bf26009", + "path": "research/e8-bit-p111-tuned/code/xcheck_p.py", + "sha256": "af3decc877e27c00001cf56f50c6c09566e8e101297ab34c7860aed96a06d80e" + }, + "research/e8-bit-p111-tuned/tune/EXPECTED.json": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "e293ddc557742637f9f679f083a1a282d87b1b13", + "path": "research/e8-bit-p111-tuned/tune/EXPECTED.json", + "sha256": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4" + }, + "research/e8-bit-p111-tuned/tune/bitE8mut-p111-tuned.json.gz": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "85a4499bf9e4911a705d50567a2c2ef6cf23739a", + "path": "research/e8-bit-p111-tuned/tune/bitE8mut-p111-tuned.json.gz", + "sha256": "e3e301e62bc2b41dbf1ceac0acf3d35824ebeab1848c5a2142d4577b109da52f" + }, + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/global_k.py": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "3df12bd632f1fdba825ced57110a1fee82eb2857", + "path": "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/global_k.py", + "sha256": "6368196a393ac25bb2918880e4c4bd31ed733b762c27b6873ab391cbc0c5c3c8" + }, + "research/r439-global-prefix-admission/NOTICE.md": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "d5f423eaec5b1302fae81cafa5d1364566e6ce67", + "path": "research/r439-global-prefix-admission/NOTICE.md", + "sha256": "f562b006f82e0bd0a92fca97da82f0ee2127ef0646f85d3dc6a2527c1c683ad2" + }, + "research/r439-global-prefix-admission/README.md": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "8c81b03691e6a5f87edda390a29ee5de0e0e8cea", + "path": "research/r439-global-prefix-admission/README.md", + "sha256": "9a41a2ec720317c6c293b731f6afcd85b5770b3c7a07e3153c267fc03386ba11" + }, + "research/r439-global-prefix-admission/candidate.json.gz": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "d409686d75c095126cf719c40df7ef2af48a7c45", + "path": "research/r439-global-prefix-admission/candidate.json.gz", + "sha256": "fffc0484a3572c76bf3bb5284d4a40eeb723c4b3acf3da5e2d9e113ac1747ec6" + } + }, + "selected_word_pr589": "a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46", + "source_pr1062": "cd016e5dcd5ba28dafa3f3b4eeef003a38e6a11b", + "source_pr980": "ba1cf68bef0c97dfb120add04304e2de0db6f29c", + "vendor_files": { + "BASE-SELECTION.json": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "f451ced6626a1f03aba6915ce23a136b01ebe51d", + "path": "certificates/selected-result.json", + "sha256": "207d1f49f113c585024b9d3c17eadbb8b1be17c1321e3d190aabe2f18ce1c5b7" + }, + "vendor/pr1062/README.md": { + "commit": "cd016e5dcd5ba28dafa3f3b4eeef003a38e6a11b", + "git_blob": "188175a52bb2a3ad65c701b3bd218ae3fc0bdfde", + "path": "research/r439-bsection-stars-seed01/README.md", + "sha256": "3a32ecbf886d6605eb7441c63ca934c6aab0942d0e7e570c3dd0795d1cf00336" + }, + "vendor/pr1062/SOURCES.json": { + "commit": "cd016e5dcd5ba28dafa3f3b4eeef003a38e6a11b", + "git_blob": "8c02baa7fcc9e04abb8f7fc81299c708b3dfeb42", + "path": "research/r439-bsection-stars-seed01/SOURCES.json", + "sha256": "779a4d0d1ca0d578026d0f4ce0f8f16466cc6e866b7d80193ef9e7eb2a2d6cfe" + }, + "vendor/pr1062/candidate.json.gz": { + "commit": "cd016e5dcd5ba28dafa3f3b4eeef003a38e6a11b", + "git_blob": "9a17b4920334878d6c949191f6931bd97126fe3c", + "path": "research/r439-bsection-stars-seed01/candidate.json.gz", + "sha256": "b452d2c2b0b2a546d1105b1da9769aa78e5c54d6f00e97b30c77e3f54ce445ee" + }, + "vendor/pr1062/candidate_search.json": { + "commit": "cd016e5dcd5ba28dafa3f3b4eeef003a38e6a11b", + "git_blob": "97f5d9f0d3a153feb2b38a39daf826d959364e8f", + "path": "research/r439-bsection-stars-seed01/candidate_search.json", + "sha256": "488741d5ad803372b622495972d754ab2998a8afb0b84ef755edc337b20d0af0" + } + } + }, + "status": "PASS_R439_ABC_STAR_COMPOSITION" +} diff --git a/research/r439-abc-star-composition/LICENSE b/research/r439-abc-star-composition/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/r439-abc-star-composition/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/r439-abc-star-composition/NOTICE.md b/research/r439-abc-star-composition/NOTICE.md new file mode 100644 index 0000000000..3c5825191e --- /dev/null +++ b/research/r439-abc-star-composition/NOTICE.md @@ -0,0 +1,41 @@ +# Attribution and license + +New composition, eight-corner comparison, packaging and checks: **Gareth +Davidson (@bitplane)**, with substantial **OpenAI Codex assistance** in +mathematics, implementation, verification and writing. Apache-2.0; see LICENSE. +No subagents or independent human reviewers were used for this contribution. + +- PR980, PR952 and PR904 by Gareth Davidson supply the A program. Ross + Richardson's PR936 is an incorporated predecessor in that program. +- **Sagar Thakrar (@thakrarsagar), PR1062**, prepared with Anthropic Claude + assistance, supplies the exact pending B/star-D composition at + `cd016e5dcd5ba28dafa3f3b4eeef003a38e6a11b`. The four files under vendor/pr1062 + are unchanged copies, including the original README attribution. Its B + programs are **Aaron Wang (@navinor), PR1015**, with **Ross Richardson, + PR923** for frame 520. +- The restored-helper-star mechanism and seed-19 scan are **Sricharan + Vagvala (@theon199), PR967**, extending **Gareth Davidson PR926** and the + frozen target basis of **PR915**. Mechanism predecessors include **Scott + Woolsey Biggart PR733**, **Greer Guthrie PR694**, **Mikhail R. Gadelha PR686**, + **commdata2338 PR794**, and **Sagar Thakrar PR753** for earlier helper stars + in R420. This pass neither reruns nor claims authorship of that search. +- The selected finite bit word is **DreamingOfClouds PR589**, on + **eumemic PR555/543**. The pinned owner checker carries eumemic's original + Apache-2.0 and Anthropic Claude disclosure. +- The native exporter, cohort adapter and checker lineage credits **Dylan + Crow**, **DaysSky**, **Zhihao Chen**, **Sagar Thakrar**, and the original + PR249/266/315/496/527 contributors recorded in the pinned source notices. + The native driver here adapts the PR926/967/980 harnesses, themselves + following Sagar Thakrar's r420-decoder-sharing harness. +- Strict decoded-payload comparison follows the repository reproducibility + guidance and **Maxime Fleury**, following **Antoine Olivier's** replay + findings. Immutable source containers retain their original byte hashes. +- Adjacent work **woklerx PR1040/1047/1067**, **Sagar Thakrar PR1045**, and + **PR1016/1048** is acknowledged; its distinct D edits, signed envelopes and + paid-profile conclusions are not imported as new savings here. + +The accepted context at the recorded base is **Jeremy Kothe PR1042**, on the +mutable-leaver/slot chain including **Rohan Arun PR987** and **Hao Yan PR858's +T16 controller**. That context is not the construction changed by this pass. +All retained work keeps its original license and attribution; no priority or +unrestricted best-circuit claim is made. diff --git a/research/r439-abc-star-composition/PROOF.md b/research/r439-abc-star-composition/PROOF.md new file mode 100644 index 0000000000..7b141d83ff --- /dev/null +++ b/research/r439-abc-star-composition/PROOF.md @@ -0,0 +1,119 @@ +# Finite composition and complete accounting + +Write the local circuit, in execution order, as D, A, scatter, B, C on 111 +source registers, 111 target registers and 439 arbitrary dirty helpers. COPY +uses a separate temporary, initially empty; every copied center remains +unchanged until its ERASE. The source and helper registers must be restored, +and target i must finish as its initial value plus source i over F2. + +## Composition argument + +The verifier propagates sets of formal input columns through each A, B and D +phase, separately and in both directions. Each chosen phase has exactly the +same F2 linear map as its PR589 phase on all 661 independent input registers. +Equality on this basis proves equality for all inputs by linearity. This +includes arbitrary dirt and target contents; zero-initialized helper tests +would not suffice. No equality of their positive integer lifts is assumed. + +A and the z-destination operations of B write only source/helper registers +from source/helper registers. Here z denotes those registers. The new C is +the literal reverse of those elementary transvections, each at the full +frame, so it restores the same z map after scatter and B. Scatter and target +reads are frozen. Consequently each of the eight compositions has the same +full F2 endpoint. The implementation also checks that endpoint directly, +forward and backward, using explicit copied-center lifetimes. Independent +owning and native checkers provide further evidence for the stated finite +construction. + +Algebraic equality alone would not establish physical frame legality. +The owning checker checks every nested climb and endpoint. Native records +then compare every register's entire ordered MOVE sequence with PR589, +including rank increments, and compare every COPY/ERASE record. This checks +the physical use of all existing sources and helpers, rather than inferring +unchanged cost from an equal helper count. + +## Exact local bill + +For the full composition the ADD counts are: + +| Phase | ADDs | +|---|---:| +| D | 5,548 | +| A | 1,706 | +| Scatter | 527 | +| B | 800 | +| C | 2,071 | +| Total | **10,652** | + +D consists of 236 helper preparation ADDs, 306 target preparation ADDs, +4,464 injection ADDs, 306 reversed target ADDs, and 236 reversed helper ADDs. +The copied PR1062 certificate records 162 components, including 74 two-leaf +stars. None of these operations is free. Their realized boundary is checked +directly rather than trusting the historical search score. + +Relative to PR1062 only A and its part of C change: 2,130 becomes 1,706, +and 2,495 becomes 2,071. Thus the complete saving is 2 × 424 = 848. Relative +to PR589 the total saving is 24,305 − 10,652 = 13,653. The 12 B ADDs and 12 +paired C ADDs already included in PR980's 872 headline saving cannot be +added a second time: the PR1062 B circuit replaces those same blocks. + +The common-frame source access of each ADD, all preparation and restoration, +and all scatter ADDs are included in the literal stream. Frame transitions +and nine rank-seven COPY/ERASE pairs retain their original invoices. Paid +rank mass is 5,129. No helper, source projection, recursive child or other +record is added. In particular this is a change to the finite scalar bill, +not an improvement of the recursive moment. + +For 5, 9 and 11 stages the scalar word costs are respectively 53,260, +95,868 and 117,172 ADDs. The corresponding bridge additions are 666, 1,998 +and 2,664. Totals are therefore **53,926, 97,866 and 119,836**, with **45, +81 and 99** fresh copied-center events. The reverse stages account for 18, +36 and 45 of those events; they are not additional to the stated totals. +The unchanged native checker verifies these counts and all physical input +columns at each stage count. These are finite-stage invoices, not a complete +whole-call hosted-supplier invoice. + +## Precision interaction + +For a forward ADD, a cancellation-free upper bound adds the two operand +bounds. The signed inverse negates the scalar ADD coefficient, but absolute +value propagation still adds the same bounds in reverse order. COPY takes +the original's bound; ERASE closes the temporary. Starting each ordinary +register at bound one yields complete positive prefixes F and B. This +triangle-inequality bound applies to arbitrary inputs of absolute value at +most one; scaling gives the corresponding general input bound. + +For the full composition the explicit stream and separate macro interpreter +agree on F = 15,223 and B = 3,910,388. The native exporter/checker agrees too. +The exact inherited expressions are: + +``` +local = 2^6 F^3 B^2 + = 3452394524099512658714524672 < 2^104 +nine = 2^18 F^5 B^4 + = 50109557170207398770972615575887331408085730734374912 < 2^192 +``` + +The nine-stage formula and 18 bridge exponent are bound to the pinned +global_k.py syntax; the 192-bit production charge is checked in the pinned +PR589 receipt. The native local expression is compared as an exact integer, +not just by its bit length. These are conservative positive envelopes, not +claims of tight signed prefix norms. + +The isolated PR1062 D gives 193 nine-stage bits and fails admission. The +same D with A gives 190, with B gives 182, and with both gives 176. This is +an explicit example where equal phase endpoints and smaller scalar count +do not suffice for precision admission. Every corner is fully repriced. +No unchanged per-phase bound or monotonicity assumption is used. + +## Interface boundary + +PR1062 D includes helper and target basis changes. It therefore fails the +original syntactic H2 shape test and the literal K extractor, exactly as +PR915/926/967 do. The source predicates are preserved and their false values +are required for the four affected corners. Semantic D equality is a distinct +finite result. H1/H3/H4/H5 and the other decomposed conclusions pass. This +package does not promote semantic equality to acceptance by an unmodified +whole-supplier interface, change the selected certificate, or claim a new +kappa. The remaining adoption and inherited theorem obligations are listed +in README.md. diff --git a/research/r439-abc-star-composition/README.md b/research/r439-abc-star-composition/README.md new file mode 100644 index 0000000000..bd48329115 --- /dev/null +++ b/research/r439-abc-star-composition/README.md @@ -0,0 +1,108 @@ +# Compose R439 preparation, B blocks and restored helper stars + +**Finite bit-circuit construction; no new kappa.** Combining PR980's A +preparation with the B blocks and compensation D of PR1062 reduces the complete +word from **11,500 to 10,652 ADDs**, saving **848**. Relative to the selected +PR589 bit word, this is 13,653 fewer ADDs. Every restoration is included. + +The full composition also reduces the conservative positive bounds from +F = 25,717, B = 5,911,840 to **F = 15,223, B = 3,910,388**. Its local and +nine-stage expressions use **92 and 176 bits**, within the inherited 104/192 +ceilings. This package supplies the eight fixed subset comparisons and fresh +native checks, including the native replay that PR1062 explicitly left open. + +| A from PR980 | B from PR1062 | D from PR1062 | Complete ADDs | F | B | Local / nine-stage bits | Admitted | +|---|---|---|---:|---:|---:|---:|---| +| — | — | — | 24,305 | 49,347 | 1,113,070 | 93 / 177 | yes | +| yes | — | — | 23,457 | 39,741 | 734,894 | 91 / 173 | yes | +| — | yes | — | 24,037 | 16,841 | 628,338 | 87 / 166 | yes | +| yes | yes | — | 23,189 | 9,973 | 338,078 | 83 / 158 | yes | +| — | — | yes | 11,768 | 79,883 | 10,470,774 | 102 / **193** | **no** | +| yes | — | yes | 10,920 | 65,853 | 7,938,516 | 100 / 190 | yes | +| — | yes | yes | 11,500 | 25,717 | 5,911,840 | 95 / 182 | yes | +| yes | yes | yes | **10,652** | **15,223** | **3,910,388** | **92 / 176** | **yes** | + +All eight words implement the same finite F2 map on arbitrary source, target +and helper contents. The D-only corner fails the nine-stage precision cap. +Either changed preparation phase makes that D admissible. Full-word precision +is measured for each corner; it is not inferred by adding savings or bounds. + +PR980's headline saving is 872, but 24 of those ADDs belong to its inherited +B changes and cleanup. PR1062 already replaces those blocks. Only its **424 +A ADDs plus 424 cleanup ADDs** are additional here; a 10,628-ADD claim would +double-count those 24. A rejection control covers that mistaken invoice. + +## Reproduce + +From the repository root, with Python 3.10+, C++17 and Boost headers: + +```sh +python3 -I -B research/r439-abc-star-composition/verify.py +python3 -I -B research/r439-abc-star-composition/test_package.py -v +``` + +The first command regenerates the full composition certificate, compares the +entire decoded candidate, checks all eight corners and compiles/runs the +unchanged native programs. Its expected final line is: + +```text +PASS_R439_ABC_STAR_COMPOSITION: 8 corners; ADDs 11500 -> 10652; 661 dirty columns; 5/9/11 stages; 384 bridge controls; 92/176 bits; no new kappa +``` + +Set `BOOST_INCLUDE` for a nonstandard include directory and `CXX` for a +different compiler. `--output NEW_DIRECTORY --receipt NEW_FILE` retains logs +and a deterministic receipt; existing destinations are refused. The default +verification compares every receipt field with EXPECTED.json. `-O` is +supported; the original exporters are deliberately invoked with assertions +enabled. No network or third-party Python module is needed. + +The checks independently interpret literal ADD/COPY/ERASE instructions with +sets of all **661** input columns in both directions; compare A, B and D +phase maps; verify E8 geometry and the owning interface; and check ordered +MOVE paths for every register. Native 5/9/11-stage executions cover +**883/1,327/1,549** physical input columns per word and reject **384** omitted +bridge controls across the eight words. The paid histogram, rank mass +**5,129**, nine rank-seven copies, all 439 helpers and all frame paths agree +with PR589. Seventeen additional semantic/accounting controls and ten package +tests cover the failure modes described in VALIDATION.md. + +## Sources, scope and credit + +Exact base: **ba82555c64e1879e4b7decce28186f208fcb8262**, selecting the +conditional PR1042 exponent **1672188119205421 / 10^18**, with PR589 still +the bit supplier. BASE-SELECTION.json preserves that context. SOURCES.json +binds 22 retained files to Git blobs and SHA-256 hashes. PR980 is incorporated +at the base; pending PR1062 is frozen at +**cd016e5dcd5ba28dafa3f3b4eeef003a38e6a11b**. Its four vendored files are +unchanged. The candidate's complete canonical decoded SHA-256 is +`7bbaed96041297cd38e89ff48eb055750cfab36609b9fdbeafcec1b2758c1254`. + +Assignment seed **13** fixes the diagnostic subset order +`5, 4, 7, 6, 1, 0, 3, 2`. The domain is exactly eight frozen combinations; +there is no new synthesis, star search, tie-order restart or optimum claim. +PR1062's source search is not rerun: its resulting D is checked directly on +every formal input. The four words containing that D inherit **false +syntactic H2 and literal K_equals_D**; the unchanged checker reports them. +Their semantic D endpoint is separately verified. The other four retain all +original H1–H5 conclusions. No predicate is weakened. + +The paid recursive profile is unchanged, so no larger kappa follows. Supplier +adoption still requires accepting the semantic D interface, exporting and +auditing the full hosted supplier, binding the complete finite and precision +invoices, and rerunning outer assembly. All-size/compiler, common-label and +mutable-source realization, hosting, precision/tape, exact recovery and +analytic obligations remain. A finite stage replay is not a formal proof of +the multiplication theorem or a practical runtime benchmark. + +Credit **Gareth Davidson (@bitplane), PR904/915/926/952/980**; **Ross Richardson, +PR936 and PR923**; **Aaron Wang (@navinor), PR1015**; **Sricharan Vagvala +(@theon199), PR967**; and **Sagar Thakrar (@thakrarsagar), PR1062**, whose +composition and guard-relaxed helper search supply B and D. The bit lineage +is **DreamingOfClouds PR589 on eumemic PR555/543**, with the retained native +checker contributors. PR1040/1047's later D retunes, PR1067's signed bound +and PR1045's quartet class are credited adjacent work and are not composed. +See NOTICE.md for fuller mechanism and verification attribution. + +Prepared by **Gareth Davidson (@bitplane)** with substantial **OpenAI Codex +assistance** in implementation, mathematics, checking and writing. New +material is Apache-2.0. No independent human review is claimed. diff --git a/research/r439-abc-star-composition/SOURCES.json b/research/r439-abc-star-composition/SOURCES.json new file mode 100644 index 0000000000..f8437d4ea4 --- /dev/null +++ b/research/r439-abc-star-composition/SOURCES.json @@ -0,0 +1,142 @@ +{ + "base_commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "files": { + "research/e8-bit-carrier-skeleton/LICENSE": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "path": "research/e8-bit-carrier-skeleton/LICENSE", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + }, + "research/e8-bit-carrier-skeleton/NOTICE.md": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "5a0ecdcd2c7fad0488740a1da0f633b73b56a809", + "path": "research/e8-bit-carrier-skeleton/NOTICE.md", + "sha256": "5f4b7fcbf99f572be28b6da612ce775363908cdfc7810f7aca167be01c86e49a" + }, + "research/e8-bit-carrier-skeleton/code/bit/checkers/columns_k.cpp": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "42bb232fbec4de703e70cc13dc2f39a3b43a3a01", + "path": "research/e8-bit-carrier-skeleton/code/bit/checkers/columns_k.cpp", + "sha256": "1c344d18fcd494eeca93e259f10cafae7705780e6592f6dcb35b34752dab9bc2" + }, + "research/e8-bit-carrier-skeleton/code/bit/checkers/json.hpp": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "82d69f7c5d044c9887c96b90c97f5639083ecd14", + "path": "research/e8-bit-carrier-skeleton/code/bit/checkers/json.hpp", + "sha256": "aaf127c04cb31c406e5b04a63f1ae89369fccde6d8fa7cdda1ed4f32dfc5de63" + }, + "research/e8-bit-carrier-skeleton/code/bit/checkers/legality_h.cpp": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "cb1233c7e96b1aa8bbf4d2e4165d75ab0dca64b9", + "path": "research/e8-bit-carrier-skeleton/code/bit/checkers/legality_h.cpp", + "sha256": "6c1ef2b24e57781d6951c172a1024fc4300e6fd392c9d6672079a7806ab663b3" + }, + "research/e8-bit-carrier-skeleton/code/bit/export_records.py": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "3632d370486a02f5456f7643ced03f8c925b2350", + "path": "research/e8-bit-carrier-skeleton/code/bit/export_records.py", + "sha256": "8a5999601f917dbb492bb9ae9a344611f18cc7cedc53dc3c76496a369e530eb3" + }, + "research/e8-bit-carrier-skeleton/code/bit/regression/stage_cohort.py": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "f6d7afe3e623208c4207b6a683a1e3e49249e31c", + "path": "research/e8-bit-carrier-skeleton/code/bit/regression/stage_cohort.py", + "sha256": "6c288f6f234b528c1a7c0a4adfb724e91e0fe6b18c8dffad96af3f973de1829a" + }, + "research/e8-bit-carrier-skeleton/portable-include/bits/stdc++.h": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "fc5664e929d9a81d9b4926bee049a93330be86ec", + "path": "research/e8-bit-carrier-skeleton/portable-include/bits/stdc++.h", + "sha256": "420094be2af295eed03a983dd66debbbe9cfb78d8252859f4498a615a0074b99" + }, + "research/e8-bit-p111-tuned/LICENSE": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "path": "research/e8-bit-p111-tuned/LICENSE", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + }, + "research/e8-bit-p111-tuned/NOTICE.md": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "b589500c8ae02a0a4c476e61dfdd1b79dcbf7cad", + "path": "research/e8-bit-p111-tuned/NOTICE.md", + "sha256": "5b88eb2b7de76aa2a3288ee3c7a08d18a5eadfa82f5e7a99e207d232aed71221" + }, + "research/e8-bit-p111-tuned/code/xcheck_p.py": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "184f5dcf94a486cc7db91ca4db5865916bf26009", + "path": "research/e8-bit-p111-tuned/code/xcheck_p.py", + "sha256": "af3decc877e27c00001cf56f50c6c09566e8e101297ab34c7860aed96a06d80e" + }, + "research/e8-bit-p111-tuned/tune/EXPECTED.json": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "e293ddc557742637f9f679f083a1a282d87b1b13", + "path": "research/e8-bit-p111-tuned/tune/EXPECTED.json", + "sha256": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4" + }, + "research/e8-bit-p111-tuned/tune/bitE8mut-p111-tuned.json.gz": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "85a4499bf9e4911a705d50567a2c2ef6cf23739a", + "path": "research/e8-bit-p111-tuned/tune/bitE8mut-p111-tuned.json.gz", + "sha256": "e3e301e62bc2b41dbf1ceac0acf3d35824ebeab1848c5a2142d4577b109da52f" + }, + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/global_k.py": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "3df12bd632f1fdba825ced57110a1fee82eb2857", + "path": "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/global_k.py", + "sha256": "6368196a393ac25bb2918880e4c4bd31ed733b762c27b6873ab391cbc0c5c3c8" + }, + "research/r439-global-prefix-admission/NOTICE.md": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "d5f423eaec5b1302fae81cafa5d1364566e6ce67", + "path": "research/r439-global-prefix-admission/NOTICE.md", + "sha256": "f562b006f82e0bd0a92fca97da82f0ee2127ef0646f85d3dc6a2527c1c683ad2" + }, + "research/r439-global-prefix-admission/README.md": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "8c81b03691e6a5f87edda390a29ee5de0e0e8cea", + "path": "research/r439-global-prefix-admission/README.md", + "sha256": "9a41a2ec720317c6c293b731f6afcd85b5770b3c7a07e3153c267fc03386ba11" + }, + "research/r439-global-prefix-admission/candidate.json.gz": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "d409686d75c095126cf719c40df7ef2af48a7c45", + "path": "research/r439-global-prefix-admission/candidate.json.gz", + "sha256": "fffc0484a3572c76bf3bb5284d4a40eeb723c4b3acf3da5e2d9e113ac1747ec6" + } + }, + "selected_word_pr589": "a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46", + "source_pr1062": "cd016e5dcd5ba28dafa3f3b4eeef003a38e6a11b", + "source_pr980": "ba1cf68bef0c97dfb120add04304e2de0db6f29c", + "vendor_files": { + "BASE-SELECTION.json": { + "commit": "ba82555c64e1879e4b7decce28186f208fcb8262", + "git_blob": "f451ced6626a1f03aba6915ce23a136b01ebe51d", + "path": "certificates/selected-result.json", + "sha256": "207d1f49f113c585024b9d3c17eadbb8b1be17c1321e3d190aabe2f18ce1c5b7" + }, + "vendor/pr1062/README.md": { + "commit": "cd016e5dcd5ba28dafa3f3b4eeef003a38e6a11b", + "git_blob": "188175a52bb2a3ad65c701b3bd218ae3fc0bdfde", + "path": "research/r439-bsection-stars-seed01/README.md", + "sha256": "3a32ecbf886d6605eb7441c63ca934c6aab0942d0e7e570c3dd0795d1cf00336" + }, + "vendor/pr1062/SOURCES.json": { + "commit": "cd016e5dcd5ba28dafa3f3b4eeef003a38e6a11b", + "git_blob": "8c02baa7fcc9e04abb8f7fc81299c708b3dfeb42", + "path": "research/r439-bsection-stars-seed01/SOURCES.json", + "sha256": "779a4d0d1ca0d578026d0f4ce0f8f16466cc6e866b7d80193ef9e7eb2a2d6cfe" + }, + "vendor/pr1062/candidate.json.gz": { + "commit": "cd016e5dcd5ba28dafa3f3b4eeef003a38e6a11b", + "git_blob": "9a17b4920334878d6c949191f6931bd97126fe3c", + "path": "research/r439-bsection-stars-seed01/candidate.json.gz", + "sha256": "b452d2c2b0b2a546d1105b1da9769aa78e5c54d6f00e97b30c77e3f54ce445ee" + }, + "vendor/pr1062/candidate_search.json": { + "commit": "cd016e5dcd5ba28dafa3f3b4eeef003a38e6a11b", + "git_blob": "97f5d9f0d3a153feb2b38a39daf826d959364e8f", + "path": "research/r439-bsection-stars-seed01/candidate_search.json", + "sha256": "488741d5ad803372b622495972d754ab2998a8afb0b84ef755edc337b20d0af0" + } + } +} diff --git a/research/r439-abc-star-composition/VALIDATION.md b/research/r439-abc-star-composition/VALIDATION.md new file mode 100644 index 0000000000..396f9386e1 --- /dev/null +++ b/research/r439-abc-star-composition/VALIDATION.md @@ -0,0 +1,72 @@ +# Executed validation + +On Linux, 2026-10-13, the complete verifier passed under **CPython 3.14.4** +and under isolated optimized **CPython 3.12.3**, with GCC **15.2.0** and Boost +**1.83.0**. The latter replay used a relocated sparse source tree whose files +and directories had write permissions removed, with all generated output +outside it. The complete receipts were byte-identical, SHA-256: + +`1233f67048a30639d3ae3928353d65f43e8f3eb1535d568e823af21a848d9ea4` + +The local command used `BOOST_INCLUDE=/tmp/math-pass09-boost/extracted/usr/include`. +That is an environment setting, not a required repository path. A standard +Boost installation works through the default `/usr/include`. C++ builds use +`-O2 -std=c++17`; the original finite checkers and exporters are unmodified. +Machine paths, commands and timing logs are outside the deterministic receipt. + +## Coverage + +- All eight exact compositions and complete decoded candidate regeneration. + Three phase maps in both directions on all 661 independent dirty columns + for every corner. Literal complete streams contain 139,972 instructions + summed across the eight words, each replayed forward and backward. +- The original owning E8 checker: full label/lattice/frame geometry once, + then all eight scalar words with byte-identical geometry, full endpoints, + retained-total frames and all original interface flags. H2 and K_equals_D + are required false on exactly the four changed-D corners. +- Fresh unchanged native legality and column programs on **all eight words** + at **5, 9 and 11 stages**. Coverage is 883, 1,327 and 1,549 physical columns + per word; all **384** omitted-bridge controls are rejected. Every paid rank, + per-register MOVE path, COPY/ERASE lifetime, scalar and bridge bill agrees. + Baseline / PR1062 / candidate local records: **27,234 / 14,429 / 13,581**. +- Exact local and nine-stage positive expressions, including the failed + D-only 193-bit corner. The full composition has 92/176 bits and the same + inherited 104/192 production allowances. +- **17 semantic/accounting rejection controls**, including missing A or B + gates, omitted dirty-helper preparation/restoration, stale literal cleanup, + omitted COPY or ERASE, wrong ERASE original, invalid gate types, self ADD, + double-counted savings, stale bounds, unpaid bridge pricing, failed D-only + precision, both strict cap equalities and a non-nested physical frame. + The stale cleanup is independently confirmed F2 exact before rejection by + the stronger literal-cleanup contract. +- **10 package tests**, including relocation, both level-1 and level-9 + recompression of the generated candidate, source and vendor pin mutation, + changed candidate with rebound digest, omitted failed corner, undercharged + invoice, unrelated payload edit, duplicate/nonfinite JSON and boolean + numeric receipt fields. Immutable source containers remain byte-pinned. +- **14 existing tests** from `tests.test_selected_result` and + `tests.test_finite_bit_contract` passed. Exact retained source bytes were + compared to the Git objects recorded in SOURCES.json. + +The first native-driver attempt detected a mistaken assertion equating all +fresh copies with the reverse-stage subset. Inspection of the unchanged +native source established totals `9*(2*k+1)` and reverse-stage copies `9*k`. +The driver was corrected to check both distinct quantities; both complete +final replays then passed. No source checker was changed. + +## Publication scope + +Upstream was refreshed at **ba82555c64e1879e4b7decce28186f208fcb8262**; +all 17 repository source pins were unchanged. The PR queue was refreshed +through **1120**. PR1113 explores precision near the historical PR941 +disjoint-pair floor, and PR1102 supplies omission probes for PR967; neither +is the A/B/D composition checked here. PR1062 remains the explicitly pinned +pending source and is credited for its B/D construction. No priority or +unrestricted best-word claim is made. + +The original PR980/1062 synthesis searches are not independently rerun. The +frozen resulting programs, their phase maps and their actual complete words +are checked directly. No full hosted supplier emission, outer assembly, +selected complex cold replay, full repository `make verify`, formal theorem +proof, practical benchmark or independent human review was performed. +Hosted CI is separate from the local evidence; no CI pass is asserted here. diff --git a/research/r439-abc-star-composition/build.py b/research/r439-abc-star-composition/build.py new file mode 100644 index 0000000000..05f1b34b95 --- /dev/null +++ b/research/r439-abc-star-composition/build.py @@ -0,0 +1,101 @@ +#!/usr/bin/env python3 +"""One fixed eight-corner composition experiment, no resynthesis. Apache-2.0. + +Gareth Davidson (@bitplane), with substantial OpenAI Codex assistance. +Source circuits: PR980 (Davidson), PR1062 (Sagar Thakrar), and their credited +PR904/936/952/915/926/967/1015/923/589/555 predecessors. +""" +import argparse +import copy +from pathlib import Path +import runpy + +C = runpy.run_path(str(Path(__file__).with_name("common.py"))) + + +def cleanup(word): + full = next(i for i, frame in enumerate(word["frames"]) if len(frame) == word["v"]) + v = word["v"] + return [[full, d, list(ss)] for _, d, ss in reversed(word["A"] + word["B"]) + if d < v or d >= 2 * v] + + +def compose(baseline, a_word, bd_word, mask): + C["need"](type(mask) is int and 0 <= mask < 8, "composition mask") + word = copy.deepcopy(baseline) + for flag, section, source in ((1, "A", a_word), (2, "B", bd_word), (4, "D", bd_word)): + if mask & flag: + word[section] = copy.deepcopy(source[section]) + word["C"] = cleanup(word) + return word + + +def macro_bound(word, reverse=False): + """Positive macro execution; verifier separately lowers explicit copies.""" + v = word["v"] + values = [1] * (2 * v + word["R"]) + largest = 1 + phases = ("C", "B", "scatter", "A", "D") if reverse else ("D", "A", "scatter", "B", "C") + for phase in phases: + if phase == "scatter": + for j in reversed(range(len(word["ret"]))) if reverse else range(len(word["ret"])): + copied = values[word["ret"][j]] + for i, sources in enumerate(word["scatter"]): + if j in sources: + values[v + i] += copied + largest = max(largest, values[v + i]) + else: + for _, d, sources in reversed(word[phase]) if reverse else word[phase]: + values[d] += sum(values[s] for s in sources) + largest = max(largest, values[d]) + return largest + + +def price(word): + f, b = macro_bound(word), macro_bound(word, True) + sections = {s: sum(len(g[2]) for g in word[s]) for s in "DABC"} + sections["scatter"] = sum(map(len, word["scatter"])) + local, nine = 64 * f**3 * b**2, (1 << 18) * f**5 * b**4 + return dict(ADDs=sum(sections.values()), sections=sections, F=f, B=b, + local_upper=str(local), nine_upper=str(nine), + local_bits=local.bit_length(), nine_bits=nine.bit_length(), + admitted=local < 1 << 104 and nine < 1 << 192) + + +def build(root): + root = Path(root) + baseline = C["load"](root / C["WORD"]) + a_word = C["load"](root / C["A_WORD"]) + bd_word = C["load"](C["HERE"] / C["BD_WORD"]) + # Historical assignment seed 13 fixes diagnostic order, not circuit search. + order = sorted(range(8), key=lambda mask: mask ^ 13) + words = {str(mask): compose(baseline, a_word, bd_word, mask) for mask in order} + certificate = dict(format="r439-abc-star-composition/1", seed=13, + bit_order=["A_from_PR980", "B_from_PR1062", "D_from_PR1062"], + order=order, stopping_rule="all eight frozen subsets; no search or restart", + sources={"PR589": C["digest"](baseline), "PR980": C["digest"](a_word), + "PR1062": C["digest"](bd_word)}, + corners={name: dict(sha256=C["digest"](word), **price(word)) + for name, word in words.items()}, + candidate_mask=7, new_kappa_claim=False) + return words, certificate + + +def run(root, output): + C["pins"](root) + output = Path(output) + output.mkdir(parents=True, exist_ok=False) + words, certificate = build(root) + for name, word in words.items(): + C["write"](output / (name + ".json.gz"), word) + C["write"](output / "CERTIFICATE.json", certificate) + return words, certificate + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--source-root", type=Path, default=C["ROOT"]) + parser.add_argument("--output", type=Path, required=True) + args = parser.parse_args() + _, cert = run(args.source_root, args.output) + print("COMPLETE", [(k, v["ADDs"], v["nine_bits"]) for k, v in cert["corners"].items()]) diff --git a/research/r439-abc-star-composition/candidate.json.gz b/research/r439-abc-star-composition/candidate.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..0ab597fefd68bfefecc85d631b172d174bdaeb70 GIT binary patch literal 36211 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 DMB0b{ literal 0 HcmV?d00001 diff --git a/research/r439-abc-star-composition/common.py b/research/r439-abc-star-composition/common.py new file mode 100644 index 0000000000..9d5c64e2a1 --- /dev/null +++ b/research/r439-abc-star-composition/common.py @@ -0,0 +1,78 @@ +"""Strict artifact I/O, adapted from Gareth Davidson's PR980; Apache-2.0.""" +import gzip +import hashlib +import importlib.util +import json +from pathlib import Path + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[1] +BASE = "ba82555c64e1879e4b7decce28186f208fcb8262" +WORD = "research/e8-bit-p111-tuned/tune/bitE8mut-p111-tuned.json.gz" +A_WORD = "research/r439-global-prefix-admission/candidate.json.gz" +BD_WORD = "vendor/pr1062/candidate.json.gz" +CHECKER = "research/e8-bit-p111-tuned/code/xcheck_p.py" +HUB = "research/e8-bit-carrier-skeleton" + + +def need(condition, message): + if not condition: + raise ValueError(message) + + +def canonical(value): + return json.dumps(value, sort_keys=True, separators=(",", ":"), allow_nan=False).encode() + + +def digest(value): + return hashlib.sha256(canonical(value)).hexdigest() + + +def pairs(items): + result = {} + for key, value in items: + need(key not in result, "duplicate JSON key: " + key) + result[key] = value + return result + + +def invalid(value): + raise ValueError("nonfinite JSON: " + value) + + +def load(path): + path = Path(path) + raw = path.read_bytes() + if path.suffix == ".gz": + raw = gzip.decompress(raw) + return json.loads(raw, object_pairs_hook=pairs, parse_constant=invalid) + + +def write(path, value): + path = Path(path) + with path.open("xb") as stream: + if path.suffix == ".gz": + stream.write(gzip.compress(canonical(value), mtime=0)) + else: + stream.write((json.dumps(value, indent=2, sort_keys=True, allow_nan=False) + "\n").encode()) + + +def same(a, b, message): + need(canonical(a) == canonical(b), message) + + +def pins(root): + manifest = load(HERE / "SOURCES.json") + need(manifest["base_commit"] == BASE, "base context") + for scope, directory in (("files", Path(root)), ("vendor_files", HERE)): + for name, row in manifest[scope].items(): + need(hashlib.sha256((directory / name).read_bytes()).hexdigest() == row["sha256"], + "source hash mismatch: " + name) + return manifest + + +def module(name, path): + spec = importlib.util.spec_from_file_location(name, path) + result = importlib.util.module_from_spec(spec) + spec.loader.exec_module(result) + return result diff --git a/research/r439-abc-star-composition/native.py b/research/r439-abc-star-composition/native.py new file mode 100644 index 0000000000..0c4ab69e1a --- /dev/null +++ b/research/r439-abc-star-composition/native.py @@ -0,0 +1,112 @@ +#!/usr/bin/env python3 +"""Eight words through unchanged native legality and 5/9/11-stage checkers. + +Adapted from the PR980/926 harness by Gareth Davidson, following Sagar Thakrar's +PR837 harness, and from Sricharan Vagvala's PR967 harness. Apache-2.0. +Gareth Davidson (@bitplane), with substantial OpenAI Codex assistance. +""" +import os +from pathlib import Path +import runpy +import shlex +import struct +import subprocess +import sys + +C = runpy.run_path(str(Path(__file__).with_name("common.py"))) +need, same = C["need"], C["same"] + + +def run(root, words_dir, prices, output): + C["pins"](root) + output = Path(output).resolve() + output.mkdir(parents=True, exist_ok=False) + hub = Path(root).resolve() / C["HUB"] + checker = hub / "code/bit/checkers" + compiler = shlex.split(os.environ.get("CXX", "c++")) + includes = ["-I" + str(hub / "portable-include"), "-I" + str(checker), + "-I" + os.environ.get("BOOST_INCLUDE", "/usr/include")] + commands = [] + + def execute(args, log): + args = [str(x) for x in args] + commands.append(args) + with log.open("x") as stream: + subprocess.run(args, stdout=stream, stderr=subprocess.STDOUT, check=True) + + flags = compiler + ["-O2", "-std=c++17", "-DHDIM=8", "-DNCOPY=9"] + includes + execute(flags + ["-o", output / "legality", checker / "legality_h.cpp"], output / "compile-legality.log") + for k in (2, 4, 5): + execute(flags + ["-DVPORTS=111", "-DRHELP=439", "-DKPAIRS=" + str(k), + "-o", output / ("columns-" + str(k)), checker / "columns_k.cpp"], + output / ("compile-columns-" + str(k) + ".log")) + # Original exporters contain assertions: keep them enabled even under -O. + python = [sys.executable, "-I", "-B"] + results, nonadd = {}, {} + for label in map(str, range(8)): + print("native composition mask", label, flush=True) + folder = output / label + folder.mkdir() + records, cin, cout = (folder / name for name in ("records", "cin", "cout")) + execute(python + [hub / "code/bit/export_records.py", Path(words_dir) / (label + ".json.gz"), records], + folder / "export.log") + execute(python + [hub / "code/bit/regression/stage_cohort.py", records, records, cin, cout], + folder / "stage.log") + execute([output / "legality", cin, cout, cout / "legality.json"], folder / "legality.log") + legality = C["load"](cout / "legality.json") + need(legality["status"] == "PASS_INDEPENDENT_COHORT_LEGALITY_SOURCE_OWNERS_AND_LIFECYCLE", + "native legality") + need(legality["copies"] == legality["erasures"] == 9, "native COPY lifetime") + record_rows = list(struct.iter_unpack("<6i", (records / "249-records.bin").read_bytes())) + movements = {} + for row in record_rows: + if row[0] == 0: + movements.setdefault(str(row[1]), []).append(list(row)) + nonadd[label] = {"moves": movements, + "copy_erase": [list(x) for x in record_rows if x[0] in (2, 3)]} + stages = {} + for k in (2, 4, 5): + name = "columns-" + str(k) + execute([output / name, cout / "COHORT249-RECORDS.bin", cout / (name + ".json")], + folder / (name + ".log")) + col = C["load"](cout / (name + ".json")) + expected = ("PASS_NEW_COHORT249_ALL_FIVE_STAGE_FORMAL_COLUMNS_AND_PREFIX_BILL" if k == 2 + else "PASS_NEW_COHORT249_ALL_BRIDGED_STAGE_FORMAL_COLUMNS_AND_PREFIX_BILL") + need(col["status"] == expected, "native columns") + need(col["formal_columns_checked"] == 2 * k * 111 + 439, "native column coverage") + need(len(col["stages"]) == 2 * k + 1, "native stage coverage") + need(col["bridge_additions"] == 6 * (k - 1) * 111, "native bridge bill") + need(col["fresh_center_copies"] == 9 * (2 * k + 1) + and col["reverse_fresh_center_copies"] == 9 * k, + "native staged COPY bill") + addition_key = "five_stage_additions" if k == 2 else "stage_additions" + need(col[addition_key] == (2 * k + 1) * prices[label]["ADDs"], "all scalar stages billed") + need(col["local_scalar_additions"] == legality["common_frame_ADDs"] == prices[label]["ADDs"], + "native ADD agreement") + need(col["payload_prefix_bits"] == prices[label]["local_bits"] <= 104, "native local precision") + need(int(col["payload_prefix_upper"]) == int(prices[label]["local_upper"]), "native exact local bill") + same([int(x["cancellation_free_signed_row_l1_upper"]) for x in col["signed_lift_prefix"]], + [prices[label]["F"], prices[label]["B"]], "native literal prefix agreement") + controls = col["negative_controls"] + need(len(controls) == 6 * (k - 1) and all(x["rejected"] is True for x in controls), + "native omitted-bridge controls") + stages[str(2 * k + 1)] = {key: col[key] for key in ( + "formal_columns_checked", "bridge_additions", "fresh_center_copies", "reverse_fresh_center_copies", + "signed_lift_prefix", "payload_prefix_bits", "payload_prefix_upper", "local_raw_H", "stages")} + stages[str(2 * k + 1)].update(scalar_ADDs=col[addition_key], controls_rejected=len(controls)) + results[label] = {key: legality[key] for key in ( + "records", "common_frame_ADDs", "rank_mass", "paid_histogram", "copies", "erasures")} + results[label]["staged"] = stages + results[label]["nine_stage_admitted"] = prices[label]["admitted"] + baseline = results["0"] + for label, after in results.items(): + same(nonadd["0"], nonadd[label], "per-register frame path or copy lifetime changed") + need(baseline["records"] - after["records"] == 24305 - prices[label]["ADDs"], "unexpected record delta") + for key in ("rank_mass", "paid_histogram", "copies", "erasures"): + same(baseline[key], after[key], "paid resource changed: " + key) + for stage in ("5", "9", "11"): + same(baseline["staged"][stage]["local_raw_H"], after["staged"][stage]["local_raw_H"], + "local raw ranks changed") + C["write"](output / "commands.json", commands) + C["write"](output / "native-report.json", results) + return results diff --git a/research/r439-abc-star-composition/test_package.py b/research/r439-abc-star-composition/test_package.py new file mode 100644 index 0000000000..901d0cb541 --- /dev/null +++ b/research/r439-abc-star-composition/test_package.py @@ -0,0 +1,110 @@ +#!/usr/bin/env python3 +"""Artifact admission controls; no compiler or third-party Python dependency.""" +import copy +import gzip +import json +from pathlib import Path +import runpy +import shutil +import tempfile +import unittest + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[1] + + +class PackageAdmission(unittest.TestCase): + def setUp(self): + self.temporary = tempfile.TemporaryDirectory(prefix="composition-admission-") + self.addCleanup(self.temporary.cleanup) + self.root = Path(self.temporary.name) / "relocated" + self.package = self.root / "research/r439-abc-star-composition" + shutil.copytree(HERE, self.package, ignore=shutil.ignore_patterns("__pycache__")) + manifest = json.loads((HERE / "SOURCES.json").read_text()) + for name in manifest["files"]: + destination = self.root / name + destination.parent.mkdir(parents=True, exist_ok=True) + shutil.copyfile(ROOT / name, destination) + self.verifier = runpy.run_path(str(self.package / "verify.py")) + + def admit(self): + return self.verifier["artifacts"](self.root) + + def test_relocated_artifacts(self): + _, words, _ = self.admit() + self.assertEqual(len(words), 8) + + def test_regenerated_compression_is_not_mathematical_equality(self): + candidate = self.package / "candidate.json.gz" + raw = gzip.decompress(candidate.read_bytes()) + for level in (1, 9): + candidate.write_bytes(gzip.compress(raw, compresslevel=level, mtime=123456)) + self.admit() + + def test_immutable_source_pin(self): + source = self.root / "research/e8-bit-p111-tuned/code/xcheck_p.py" + source.write_bytes(source.read_bytes() + b"\n# changed source\n") + with self.assertRaisesRegex(ValueError, "source hash mismatch"): + self.admit() + + def test_pinned_vendor_container_is_immutable(self): + source = self.package / "vendor/pr1062/candidate.json.gz" + source.write_bytes(gzip.compress(gzip.decompress(source.read_bytes()), mtime=123456)) + with self.assertRaisesRegex(ValueError, "source hash mismatch"): + self.admit() + + def test_rebound_candidate_digest_cannot_hide_changed_phase(self): + c = self.verifier["C"] + candidate = c["load"](self.package / "candidate.json.gz") + candidate["D"].pop() + (self.package / "candidate.json.gz").write_bytes(gzip.compress(c["canonical"](candidate), mtime=0)) + cert = c["load"](self.package / "CERTIFICATE.json") + cert["corners"]["7"]["sha256"] = c["digest"](candidate) + (self.package / "CERTIFICATE.json").write_text(json.dumps(cert)) + with self.assertRaisesRegex(ValueError, "certificate regeneration"): + self.admit() + + def test_receipt_omits_failed_precision_corner(self): + path = self.package / "CERTIFICATE.json" + cert = json.loads(path.read_text()) + del cert["corners"]["4"] + path.write_text(json.dumps(cert)) + with self.assertRaisesRegex(ValueError, "certificate regeneration"): + self.admit() + + def test_undercharged_cost(self): + path = self.package / "CERTIFICATE.json" + cert = json.loads(path.read_text()) + cert["corners"]["7"]["ADDs"] = 10628 + path.write_text(json.dumps(cert)) + with self.assertRaisesRegex(ValueError, "certificate regeneration"): + self.admit() + + def test_nonphase_payload_edit(self): + c = self.verifier["C"] + path = self.package / "candidate.json.gz" + candidate = c["load"](path) + candidate["stats"]["junk_wires"] += 1 + path.write_bytes(gzip.compress(c["canonical"](candidate), mtime=0)) + with self.assertRaisesRegex(ValueError, "candidate regeneration"): + self.admit() + + def test_duplicate_and_nonfinite_json(self): + path = self.package / "CERTIFICATE.json" + for raw in ('{"x":0,"x":1}', '{"x":NaN}', '{"x":Infinity}', '{"x":-Infinity}'): + with self.subTest(raw=raw): + path.write_text(raw) + with self.assertRaisesRegex(ValueError, "duplicate JSON|nonfinite JSON"): + self.admit() + + def test_boolean_numeric_receipt(self): + path = self.package / "CERTIFICATE.json" + cert = json.loads(path.read_text()) + cert["corners"]["7"]["ADDs"] = True + path.write_text(json.dumps(cert)) + with self.assertRaisesRegex(ValueError, "certificate regeneration"): + self.admit() + + +if __name__ == "__main__": + unittest.main() diff --git a/research/r439-abc-star-composition/vendor/pr1062/README.md b/research/r439-abc-star-composition/vendor/pr1062/README.md new file mode 100644 index 0000000000..188175a52b --- /dev/null +++ b/research/r439-abc-star-composition/vendor/pr1062/README.md @@ -0,0 +1,95 @@ +# R439: phase-B block programs on the helper-star D, and the guard headroom they free + +**Finite bit-circuit construction; no new κ.** The selected result, the selected bit supplier and +`upstream/` are unchanged; the bit side does not bind. + +The incorporated helper-star word (PR967, `research/r439-helper-stars-seed19`) rebuilt only D and kept +PR589's phase-B blocks. The shortest recorded block programs were built on the 24k-ADD PR589 word and +were explicitly left uncomposed with the D-substitution line (PR1015; batch-952 review). This package +composes them and prices one consequence: + +| complete local word | ADDs | D ADDs | F | B | local / nine-stage bits (caps 104 / 192) | +|---|---:|---:|---:|---:|---| +| helper stars (main) | 11,783 | 5,563 | 72,847 | 10,394,084 | 102 / **192** | +| + ten spliced phase-B blocks | **11,515** | 5,563 | 24,625 | 5,846,566 | 95 / 181 | +| + same seed-19 star pass rerun | **11,500** | 5,548 | 25,717 | 5,911,840 | 95 / 182 | +| pair control (degree one, rerun) | 11,715 | 5,763 | 24,563 | 5,892,602 | 95 / 181 | + +1. **Composition (−268).** Nine PR1015 multi-write programs and the incorporated PR923 frame-520 + program replace the ten phase-B blocks: 388 → 254 gates, with C rebuilt by the literal-cleanup + rule. Every replacement has the original F2 block map (all 2^n inputs). Every replacement also + has an equal integer transfer and a smaller reverse transfer. D is byte-identical to the + helper-star word. +2. **Freed guard (−15 more).** The helper-star word sits at bit-length 192 under the 2^192 + nine-stage cap. Its seed-19 greedy pass rejected 24 nominees on that guard. With the spliced + blocks, both positive bounds fall (F 72,847 → 24,625). The **unchanged** builder + (`research/r439-helper-stars-seed19/build.py`, called as a library) is rerun on the same PR915 + parent with the same blocks spliced. That pass makes 0 guard rejections and admits 236 edges + instead of 221, giving D 5,563 → 5,548. + +For both words, PR589's A, scatter, copied totals, register frame paths, nine COPY/ERASE pairs and paid +profile `{1:1323, 2:1342, 3:79, 4:44, 5:102, 6:11, 7:19}` (rank mass 5,129) are unchanged. The pinned +owner checker gives the same H1–H5 pattern as the incorporated helper-star word. Only the two flags +that line already carries are false: syntactic `H2_D_frame0_targets_from_helpers` and `K_equals_D`. + +## Reproduce + +```sh +python3 -I -B research/r439-bsection-stars-seed01/verify.py +python3 -I -O -B research/r439-bsection-stars-seed01/verify.py +``` + +Expected (about 20 s each, standard library only): + +```text +PASS_R439_BSECTION_STARS blocks=10 gates=388->254 ADDs=11783->11515->11500 guard_rejections=24->0 columns=661 controls=8 no_new_kappa +``` + +The verifier does the following: + +* rebuilds all three payloads and both search receipts deterministically and compares them byte-wise; +* replays all 661 formal columns through the literal COPY/ERASE stream in both directions for four + words (helper star, composition, candidate, pair control); +* checks the D dirty boundary against PR589; +* runs the pinned `xcheck_p.py` owner checker; +* recomputes the paid profile from frame paths and copy ranks; +* bills the pinned `export_records.py` records, whose bounds equal the literal-stream bounds here; +* checks both precision guards; +* confirms that the original search still gives 11,783 with 24 rejections; +* rejects eight controls, listed below. + +| control | rejected by | +|---|---| +| mutated block source | F2 block map | +| dropped block gate | F2 block map | +| block gate at frame zero | illegal frame move | +| stale (pre-splice) cleanup | literal-cleanup rule; it is F2-exact but costs more ADDs | +| omitted cleanup gate | boundary | +| the 236-edge D without the spliced blocks | nine-stage guard | +| omitted star restoration | D boundary | +| 105-bit local bound | local guard | + +The sixth control is the key one: the extra stars are admissible only because of the composition. + +## Scope and what is not claimed + +* **No κ change.** The bit supplier does not bind, and this word is not proposed as the selected + supplier. Hosted invoice, supplier binding and outer assembly were not run. +* **Native replay not run.** The 5/9/11-stage C++/Boost replay was not run here because Boost + headers were unavailable. Exact F2 endpoints, frame paths, exporter records and the owner checker + were run. +* **No optimality claim.** The block programs are best-found results of their searches, not minima. + The star pass is one deterministic greedy pass. +* **Not composed.** Open single-step D edits on the 11,783 word (#1040: −3; #1047: −14) were not + tested on top of this word. Neither was the separate PR941/#1045 helper-matching line. + +## Credit and disclosure + +The block programs are by Aaron Wang (PR1015, open; `inputs/PR1015-CANDIDATE.json` is copied unchanged +from head `7588c797`) and Ross Richardson (PR923, frame 520, incorporated). The helper-star builder and +D are from PR967 (`research/r439-helper-stars-seed19`, prepared for @theon199). That work generalizes +Gareth Davidson's PR926 pairs on the PR915 target basis. The underlying word comes from DreamingOfClouds' +PR589 on eumemic's PR555, and the checkers come from the retained supplier lineage. Track 00–19 (bit +supplier), OS-random seed **1**, base `2921874911956718fcaaaf9396fe8267b3cfa9f0`. + +Prepared by Sagar Thakrar with substantial assistance from Anthropic Claude (Claude Code). Apache-2.0. diff --git a/research/r439-abc-star-composition/vendor/pr1062/SOURCES.json b/research/r439-abc-star-composition/vendor/pr1062/SOURCES.json new file mode 100644 index 0000000000..8c02baa7fc --- /dev/null +++ b/research/r439-abc-star-composition/vendor/pr1062/SOURCES.json @@ -0,0 +1,29 @@ +{ + "base_commit": "2921874911956718fcaaaf9396fe8267b3cfa9f0", + "files": { + "inputs/PR1015-CANDIDATE.json": "388c2a0db00dbe77b67649af7293e577cf3869da7ae0d0341e17ecff2b16c84c", + "research/r439-frame520/candidate.json": "18cb7f41f6451f3af3559e8c09fb323ec6d1003de82ab4f0cff5d59c070ed208", + "research/r439-frame520/RECEIPT.json": "449b4c698edf4ba377bf41582c4cb8245aee6888b45e48c823270fbe9392bcfb", + "research/r439-helper-stars-seed19/build.py": "c14c75c73fab605ab9fc133d6c146bd3d14a5e8a0ed85db1247981c4959f9ac7", + "research/r439-helper-stars-seed19/common.py": "a596d898017d8832e7bcb987fc12cccbd2c88a7ad760c10a1329b0a8ea21edec", + "research/r439-helper-stars-seed19/candidate.json.gz": "d8b08885e8ce9868200b2645189d15ed18a27fc2742e54990b3257a0ca4df6b8", + "research/r439-helper-stars-seed19/CERTIFICATE.json": "35bdbd763e29791e4fa43d99d764d536fa284e89023bb9da482d2f3ba80ce333", + "research/r439-target-compensation/candidate.json.gz": "ac30266144f8772ec8cd629153993aa9eb692fe745a9f95015a1b7fa88977a2e", + "research/e8-bit-p111-tuned/tune/bitE8mut-p111-tuned.json.gz": "e3e301e62bc2b41dbf1ceac0acf3d35824ebeab1848c5a2142d4577b109da52f", + "research/e8-bit-p111-tuned/code/xcheck_p.py": "af3decc877e27c00001cf56f50c6c09566e8e101297ab34c7860aed96a06d80e", + "research/e8-bit-carrier-skeleton/code/bit/export_records.py": "8a5999601f917dbb492bb9ae9a344611f18cc7cedc53dc3c76496a369e530eb3" + }, + "sources": { + "PR589_word": "research/e8-bit-p111-tuned (merged PR589, unchanged)", + "PR915_parent": "research/r439-target-compensation (incorporated)", + "PR967_helper_stars": "research/r439-helper-stars-seed19 (incorporated; builder reused as a library, unchanged)", + "PR923_frame520": "research/r439-frame520 (incorporated)", + "PR1015": { + "head": "7588c797f4a4e9f2b9fc663cfa6e35afcac05e06", + "path": "research/r439-bsection-multwrite/CANDIDATE.json", + "status": "open PR; file copied unchanged to inputs/" + } + }, + "runtime": "Python 3.10+ standard library", + "not_run": "native 5/9/11-stage C++/Boost replay (Boost headers unavailable here)" +} diff --git a/research/r439-abc-star-composition/vendor/pr1062/candidate.json.gz b/research/r439-abc-star-composition/vendor/pr1062/candidate.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..9a17b4920334878d6c949191f6931bd97126fe3c GIT binary patch literal 38439 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 literal 0 HcmV?d00001 diff --git a/research/r439-abc-star-composition/vendor/pr1062/candidate_search.json b/research/r439-abc-star-composition/vendor/pr1062/candidate_search.json new file mode 100644 index 0000000000..97f5d9f0d3 --- /dev/null +++ b/research/r439-abc-star-composition/vendor/pr1062/candidate_search.json @@ -0,0 +1,1680 @@ +{ + "B": 5911840, + "D_adds": 5548, + "F": 25717, + "candidate_sha256": "62fc64481911bec4c18643c0c6ac7d31091f09c081a9223096839a7150185be8", + "census_sha256": "502cb555e8cd41aa38233cf0ec9ae177310cf720931eb8d0fb0a2ea7459fa8dc", + "format": "r439-helper-stars/1", + "guard_rejections": [], + "helper_components": 162, + "helper_edges": 236, + "local_bound": "38044005158586490435359539200", + "max_leaves": 2, + "middle_weight": 4464, + "native_ADDs": 11500, + "nine_stage_bound": "3601903994416905225984905662960686510006596408442880000", + "ordered_pairs": 192282, + "overlap_skips": 2062, + "parent_note": "PR915 target-compensation parent with the ten spliced B blocks and rebuilt C", + "parent_sha256": "04b84d21552f194d64985aa888b5c43945c35b2874bdda0f4970f3e61cb3bb26", + "positive_pairs": 2298, + "saved_beyond_PR915": 1708, + "seed": 19, + "steps": [ + { + "B": 5371088, + "F": 16841, + "a": 58, + "b": 38, + "gain": 19 + }, + { + "B": 5371088, + "F": 16841, + "a": 129, + "b": 155, + "gain": 19 + }, + { + "B": 5371088, + "F": 16841, + "a": 52, + "b": 62, + "gain": 17 + }, + { + "B": 5371088, + "F": 17265, + "a": 239, + "b": 229, + "gain": 15 + }, + { + "B": 5377038, + "F": 17265, + "a": 123, + "b": 158, + "gain": 15 + }, + { + "B": 5377038, + "F": 17265, + "a": 434, + "b": 374, + "gain": 14 + }, + { + "B": 5377038, + "F": 17433, + "a": 79, + "b": 189, + "gain": 14 + }, + { + "B": 5377716, + "F": 17433, + "a": 131, + "b": 149, + "gain": 14 + }, + { + "B": 5377716, + "F": 17433, + "a": 134, + "b": 98, + "gain": 13 + }, + { + "B": 5377716, + "F": 17461, + "a": 202, + "b": 37, + "gain": 13 + }, + { + "B": 5377716, + "F": 17537, + "a": 196, + "b": 32, + "gain": 13 + }, + { + "B": 5377716, + "F": 17537, + "a": 31, + "b": 7, + "gain": 13 + }, + { + "B": 5377716, + "F": 17537, + "a": 284, + "b": 152, + "gain": 13 + }, + { + "B": 5377716, + "F": 17537, + "a": 84, + "b": 160, + "gain": 13 + }, + { + "B": 5377716, + "F": 17613, + "a": 296, + "b": 332, + "gain": 12 + }, + { + "B": 5377716, + "F": 17613, + "a": 9, + "b": 237, + "gain": 12 + }, + { + "B": 5377716, + "F": 17613, + "a": 101, + "b": 144, + "gain": 12 + }, + { + "B": 5377716, + "F": 17613, + "a": 266, + "b": 96, + "gain": 12 + }, + { + "B": 5377716, + "F": 17613, + "a": 273, + "b": 126, + "gain": 12 + }, + { + "B": 5451168, + "F": 17613, + "a": 274, + "b": 114, + "gain": 12 + }, + { + "B": 5451168, + "F": 17613, + "a": 113, + "b": 142, + "gain": 12 + }, + { + "B": 5451168, + "F": 17613, + "a": 72, + "b": 68, + "gain": 12 + }, + { + "B": 5451168, + "F": 17613, + "a": 43, + "b": 39, + "gain": 11 + }, + { + "B": 5451168, + "F": 17613, + "a": 41, + "b": 192, + "gain": 11 + }, + { + "B": 5456246, + "F": 17613, + "a": 169, + "b": 191, + "gain": 11 + }, + { + "B": 5456246, + "F": 17613, + "a": 234, + "b": 15, + "gain": 11 + }, + { + "B": 5456246, + "F": 17613, + "a": 285, + "b": 133, + "gain": 11 + }, + { + "B": 5456246, + "F": 17689, + "a": 212, + "b": 55, + "gain": 11 + }, + { + "B": 5456246, + "F": 17689, + "a": 134, + "b": 151, + "gain": 11 + }, + { + "B": 5456246, + "F": 17689, + "a": 208, + "b": 35, + "gain": 11 + }, + { + "B": 5456246, + "F": 18033, + "a": 16, + "b": 26, + "gain": 11 + }, + { + "B": 5456246, + "F": 18093, + "a": 63, + "b": 214, + "gain": 11 + }, + { + "B": 5473080, + "F": 18093, + "a": 52, + "b": 1, + "gain": 11 + }, + { + "B": 5473080, + "F": 18397, + "a": 390, + "b": 403, + "gain": 11 + }, + { + "B": 5473080, + "F": 18429, + "a": 209, + "b": 34, + "gain": 10 + }, + { + "B": 5473080, + "F": 18461, + "a": 209, + "b": 51, + "gain": 10 + }, + { + "B": 5474830, + "F": 18461, + "a": 266, + "b": 118, + "gain": 10 + }, + { + "B": 5474830, + "F": 18461, + "a": 12, + "b": 30, + "gain": 10 + }, + { + "B": 5474830, + "F": 18461, + "a": 377, + "b": 437, + "gain": 10 + }, + { + "B": 5477884, + "F": 18521, + "a": 182, + "b": 73, + "gain": 10 + }, + { + "B": 5482542, + "F": 18521, + "a": 199, + "b": 50, + "gain": 10 + }, + { + "B": 5482542, + "F": 18521, + "a": 346, + "b": 309, + "gain": 10 + }, + { + "B": 5486652, + "F": 18521, + "a": 236, + "b": 5, + "gain": 10 + }, + { + "B": 5491586, + "F": 18521, + "a": 203, + "b": 36, + "gain": 10 + }, + { + "B": 5491586, + "F": 18521, + "a": 371, + "b": 409, + "gain": 10 + }, + { + "B": 5491586, + "F": 18521, + "a": 195, + "b": 201, + "gain": 9 + }, + { + "B": 5491586, + "F": 18521, + "a": 125, + "b": 146, + "gain": 9 + }, + { + "B": 5500974, + "F": 18521, + "a": 364, + "b": 327, + "gain": 9 + }, + { + "B": 5500974, + "F": 18597, + "a": 42, + "b": 314, + "gain": 9 + }, + { + "B": 5500974, + "F": 18597, + "a": 46, + "b": 205, + "gain": 9 + }, + { + "B": 5519322, + "F": 18597, + "a": 139, + "b": 99, + "gain": 9 + }, + { + "B": 5519322, + "F": 18597, + "a": 429, + "b": 381, + "gain": 9 + }, + { + "B": 5520340, + "F": 18597, + "a": 195, + "b": 211, + "gain": 9 + }, + { + "B": 5520340, + "F": 18597, + "a": 122, + "b": 103, + "gain": 9 + }, + { + "B": 5525558, + "F": 18597, + "a": 94, + "b": 171, + "gain": 9 + }, + { + "B": 5525558, + "F": 18597, + "a": 46, + "b": 56, + "gain": 9 + }, + { + "B": 5529412, + "F": 18597, + "a": 54, + "b": 217, + "gain": 9 + }, + { + "B": 5529412, + "F": 18761, + "a": 110, + "b": 120, + "gain": 8 + }, + { + "B": 5529412, + "F": 18761, + "a": 232, + "b": 23, + "gain": 8 + }, + { + "B": 5529412, + "F": 18761, + "a": 154, + "b": 105, + "gain": 8 + }, + { + "B": 5529412, + "F": 18761, + "a": 392, + "b": 416, + "gain": 8 + }, + { + "B": 5532054, + "F": 18761, + "a": 167, + "b": 82, + "gain": 8 + }, + { + "B": 5533560, + "F": 18761, + "a": 83, + "b": 78, + "gain": 8 + }, + { + "B": 5533560, + "F": 18761, + "a": 315, + "b": 351, + "gain": 8 + }, + { + "B": 5533560, + "F": 18761, + "a": 64, + "b": 87, + "gain": 8 + }, + { + "B": 5533560, + "F": 18761, + "a": 260, + "b": 281, + "gain": 8 + }, + { + "B": 5533560, + "F": 18761, + "a": 187, + "b": 69, + "gain": 8 + }, + { + "B": 5533560, + "F": 18761, + "a": 91, + "b": 70, + "gain": 8 + }, + { + "B": 5533560, + "F": 18761, + "a": 336, + "b": 295, + "gain": 8 + }, + { + "B": 5533560, + "F": 18929, + "a": 25, + "b": 21, + "gain": 8 + }, + { + "B": 5533560, + "F": 18957, + "a": 170, + "b": 85, + "gain": 8 + }, + { + "B": 5542074, + "F": 18957, + "a": 80, + "b": 74, + "gain": 8 + }, + { + "B": 5542074, + "F": 18957, + "a": 83, + "b": 172, + "gain": 8 + }, + { + "B": 5553886, + "F": 18957, + "a": 203, + "b": 18, + "gain": 8 + }, + { + "B": 5553886, + "F": 18957, + "a": 227, + "b": 28, + "gain": 8 + }, + { + "B": 5553886, + "F": 19377, + "a": 112, + "b": 124, + "gain": 8 + }, + { + "B": 5553886, + "F": 19437, + "a": 40, + "b": 193, + "gain": 8 + }, + { + "B": 5553886, + "F": 19437, + "a": 337, + "b": 306, + "gain": 7 + }, + { + "B": 5553886, + "F": 19437, + "a": 44, + "b": 197, + "gain": 7 + }, + { + "B": 5553886, + "F": 19437, + "a": 369, + "b": 415, + "gain": 7 + }, + { + "B": 5553886, + "F": 19465, + "a": 375, + "b": 435, + "gain": 7 + }, + { + "B": 5553886, + "F": 19465, + "a": 270, + "b": 119, + "gain": 7 + }, + { + "B": 5553886, + "F": 19465, + "a": 404, + "b": 389, + "gain": 7 + }, + { + "B": 5553886, + "F": 19465, + "a": 258, + "b": 316, + "gain": 7 + }, + { + "B": 5553886, + "F": 19465, + "a": 395, + "b": 419, + "gain": 7 + }, + { + "B": 5576322, + "F": 19561, + "a": 14, + "b": 235, + "gain": 7 + }, + { + "B": 5580900, + "F": 19561, + "a": 102, + "b": 132, + "gain": 7 + }, + { + "B": 5580900, + "F": 19741, + "a": 92, + "b": 180, + "gain": 7 + }, + { + "B": 5580900, + "F": 19741, + "a": 391, + "b": 420, + "gain": 7 + }, + { + "B": 5580900, + "F": 19817, + "a": 196, + "b": 61, + "gain": 7 + }, + { + "B": 5589350, + "F": 19817, + "a": 27, + "b": 17, + "gain": 7 + }, + { + "B": 5590384, + "F": 19817, + "a": 58, + "b": 100, + "gain": 7 + }, + { + "B": 5590384, + "F": 19817, + "a": 177, + "b": 66, + "gain": 7 + }, + { + "B": 5590384, + "F": 19817, + "a": 258, + "b": 245, + "gain": 7 + }, + { + "B": 5594458, + "F": 19877, + "a": 182, + "b": 186, + "gain": 6 + }, + { + "B": 5594458, + "F": 19877, + "a": 64, + "b": 164, + "gain": 6 + }, + { + "B": 5608086, + "F": 19877, + "a": 216, + "b": 45, + "gain": 6 + }, + { + "B": 5608086, + "F": 20117, + "a": 426, + "b": 367, + "gain": 6 + }, + { + "B": 5617108, + "F": 20461, + "a": 421, + "b": 372, + "gain": 6 + }, + { + "B": 5621394, + "F": 20489, + "a": 417, + "b": 393, + "gain": 6 + }, + { + "B": 5621394, + "F": 20585, + "a": 223, + "b": 49, + "gain": 6 + }, + { + "B": 5624688, + "F": 20613, + "a": 170, + "b": 161, + "gain": 6 + }, + { + "B": 5624688, + "F": 20613, + "a": 432, + "b": 379, + "gain": 6 + }, + { + "B": 5624688, + "F": 20781, + "a": 79, + "b": 166, + "gain": 6 + }, + { + "B": 5624688, + "F": 20857, + "a": 67, + "b": 176, + "gain": 6 + }, + { + "B": 5624688, + "F": 21037, + "a": 22, + "b": 233, + "gain": 6 + }, + { + "B": 5624688, + "F": 21165, + "a": 408, + "b": 385, + "gain": 6 + }, + { + "B": 5624688, + "F": 21165, + "a": 80, + "b": 179, + "gain": 6 + }, + { + "B": 5624688, + "F": 21165, + "a": 53, + "b": 219, + "gain": 6 + }, + { + "B": 5624688, + "F": 21225, + "a": 178, + "b": 75, + "gain": 6 + }, + { + "B": 5624688, + "F": 21225, + "a": 199, + "b": 24, + "gain": 6 + }, + { + "B": 5634074, + "F": 21225, + "a": 72, + "b": 20, + "gain": 6 + }, + { + "B": 5634074, + "F": 21225, + "a": 331, + "b": 430, + "gain": 6 + }, + { + "B": 5634074, + "F": 21225, + "a": 371, + "b": 402, + "gain": 6 + }, + { + "B": 5638176, + "F": 21225, + "a": 236, + "b": 106, + "gain": 6 + }, + { + "B": 5638176, + "F": 21225, + "a": 345, + "b": 310, + "gain": 6 + }, + { + "B": 5644836, + "F": 21225, + "a": 131, + "b": 147, + "gain": 6 + }, + { + "B": 5644836, + "F": 21393, + "a": 173, + "b": 89, + "gain": 6 + }, + { + "B": 5644836, + "F": 21393, + "a": 230, + "b": 2, + "gain": 6 + }, + { + "B": 5644836, + "F": 21561, + "a": 282, + "b": 0, + "gain": 6 + }, + { + "B": 5644836, + "F": 21561, + "a": 434, + "b": 349, + "gain": 6 + }, + { + "B": 5644836, + "F": 21561, + "a": 330, + "b": 361, + "gain": 6 + }, + { + "B": 5644836, + "F": 21561, + "a": 88, + "b": 188, + "gain": 6 + }, + { + "B": 5644836, + "F": 21561, + "a": 305, + "b": 433, + "gain": 5 + }, + { + "B": 5644836, + "F": 21561, + "a": 369, + "b": 298, + "gain": 5 + }, + { + "B": 5644836, + "F": 21561, + "a": 208, + "b": 198, + "gain": 5 + }, + { + "B": 5644836, + "F": 21561, + "a": 174, + "b": 77, + "gain": 5 + }, + { + "B": 5644836, + "F": 21561, + "a": 104, + "b": 308, + "gain": 5 + }, + { + "B": 5644836, + "F": 21733, + "a": 322, + "b": 90, + "gain": 5 + }, + { + "B": 5644836, + "F": 21793, + "a": 376, + "b": 436, + "gain": 5 + }, + { + "B": 5644836, + "F": 21793, + "a": 140, + "b": 111, + "gain": 5 + }, + { + "B": 5644836, + "F": 22021, + "a": 204, + "b": 220, + "gain": 5 + }, + { + "B": 5644836, + "F": 22021, + "a": 231, + "b": 3, + "gain": 5 + }, + { + "B": 5644836, + "F": 22097, + "a": 42, + "b": 210, + "gain": 5 + }, + { + "B": 5656414, + "F": 22097, + "a": 94, + "b": 183, + "gain": 5 + }, + { + "B": 5656414, + "F": 22097, + "a": 226, + "b": 238, + "gain": 5 + }, + { + "B": 5659388, + "F": 22097, + "a": 57, + "b": 47, + "gain": 5 + }, + { + "B": 5659388, + "F": 22097, + "a": 407, + "b": 386, + "gain": 5 + }, + { + "B": 5659388, + "F": 22097, + "a": 391, + "b": 297, + "gain": 5 + }, + { + "B": 5659388, + "F": 22097, + "a": 305, + "b": 405, + "gain": 5 + }, + { + "B": 5659388, + "F": 22173, + "a": 410, + "b": 398, + "gain": 5 + }, + { + "B": 5667186, + "F": 22625, + "a": 225, + "b": 4, + "gain": 5 + }, + { + "B": 5667186, + "F": 22625, + "a": 293, + "b": 347, + "gain": 5 + }, + { + "B": 5667186, + "F": 22625, + "a": 370, + "b": 423, + "gain": 5 + }, + { + "B": 5671910, + "F": 22625, + "a": 33, + "b": 206, + "gain": 5 + }, + { + "B": 5671910, + "F": 22625, + "a": 283, + "b": 224, + "gain": 5 + }, + { + "B": 5671910, + "F": 22625, + "a": 384, + "b": 427, + "gain": 4 + }, + { + "B": 5673752, + "F": 22625, + "a": 397, + "b": 414, + "gain": 4 + }, + { + "B": 5678470, + "F": 22625, + "a": 48, + "b": 107, + "gain": 4 + }, + { + "B": 5678470, + "F": 22625, + "a": 260, + "b": 318, + "gain": 4 + }, + { + "B": 5678470, + "F": 22853, + "a": 350, + "b": 143, + "gain": 4 + }, + { + "B": 5691544, + "F": 22853, + "a": 276, + "b": 115, + "gain": 4 + }, + { + "B": 5691544, + "F": 22853, + "a": 320, + "b": 162, + "gain": 4 + }, + { + "B": 5695058, + "F": 22853, + "a": 141, + "b": 156, + "gain": 4 + }, + { + "B": 5695058, + "F": 22853, + "a": 292, + "b": 145, + "gain": 4 + }, + { + "B": 5695058, + "F": 22853, + "a": 257, + "b": 247, + "gain": 4 + }, + { + "B": 5695058, + "F": 22853, + "a": 252, + "b": 287, + "gain": 4 + }, + { + "B": 5710166, + "F": 22853, + "a": 273, + "b": 256, + "gain": 4 + }, + { + "B": 5710166, + "F": 22853, + "a": 377, + "b": 313, + "gain": 4 + }, + { + "B": 5710166, + "F": 23021, + "a": 401, + "b": 413, + "gain": 4 + }, + { + "B": 5710166, + "F": 23149, + "a": 408, + "b": 317, + "gain": 4 + }, + { + "B": 5710166, + "F": 23149, + "a": 228, + "b": 29, + "gain": 4 + }, + { + "B": 5714680, + "F": 23149, + "a": 91, + "b": 81, + "gain": 4 + }, + { + "B": 5714680, + "F": 23329, + "a": 190, + "b": 71, + "gain": 4 + }, + { + "B": 5714680, + "F": 23497, + "a": 401, + "b": 307, + "gain": 4 + }, + { + "B": 5722422, + "F": 23497, + "a": 400, + "b": 181, + "gain": 4 + }, + { + "B": 5728386, + "F": 23497, + "a": 240, + "b": 251, + "gain": 4 + }, + { + "B": 5728386, + "F": 23497, + "a": 400, + "b": 412, + "gain": 4 + }, + { + "B": 5750100, + "F": 23497, + "a": 154, + "b": 128, + "gain": 4 + }, + { + "B": 5762378, + "F": 23557, + "a": 40, + "b": 218, + "gain": 4 + }, + { + "B": 5763408, + "F": 23557, + "a": 60, + "b": 213, + "gain": 4 + }, + { + "B": 5763408, + "F": 23617, + "a": 304, + "b": 321, + "gain": 3 + }, + { + "B": 5763408, + "F": 23617, + "a": 226, + "b": 271, + "gain": 3 + }, + { + "B": 5763408, + "F": 23865, + "a": 116, + "b": 157, + "gain": 3 + }, + { + "B": 5763408, + "F": 23865, + "a": 288, + "b": 153, + "gain": 3 + }, + { + "B": 5763408, + "F": 23865, + "a": 140, + "b": 121, + "gain": 3 + }, + { + "B": 5763408, + "F": 23897, + "a": 335, + "b": 200, + "gain": 3 + }, + { + "B": 5764122, + "F": 23897, + "a": 108, + "b": 148, + "gain": 3 + }, + { + "B": 5768644, + "F": 23897, + "a": 429, + "b": 329, + "gain": 3 + }, + { + "B": 5768644, + "F": 23897, + "a": 365, + "b": 326, + "gain": 3 + }, + { + "B": 5768644, + "F": 23897, + "a": 338, + "b": 302, + "gain": 3 + }, + { + "B": 5768644, + "F": 23973, + "a": 212, + "b": 207, + "gain": 3 + }, + { + "B": 5775298, + "F": 23973, + "a": 290, + "b": 76, + "gain": 3 + }, + { + "B": 5775298, + "F": 23973, + "a": 355, + "b": 324, + "gain": 3 + }, + { + "B": 5781372, + "F": 23973, + "a": 231, + "b": 8, + "gain": 3 + }, + { + "B": 5782608, + "F": 23973, + "a": 108, + "b": 130, + "gain": 3 + }, + { + "B": 5782608, + "F": 23973, + "a": 84, + "b": 95, + "gain": 3 + }, + { + "B": 5782608, + "F": 23973, + "a": 270, + "b": 265, + "gain": 3 + }, + { + "B": 5788892, + "F": 24033, + "a": 178, + "b": 168, + "gain": 2 + }, + { + "B": 5788892, + "F": 24033, + "a": 222, + "b": 253, + "gain": 2 + }, + { + "B": 5788892, + "F": 24261, + "a": 350, + "b": 396, + "gain": 2 + }, + { + "B": 5788892, + "F": 24357, + "a": 223, + "b": 275, + "gain": 2 + }, + { + "B": 5788892, + "F": 24357, + "a": 53, + "b": 215, + "gain": 2 + }, + { + "B": 5788892, + "F": 24357, + "a": 392, + "b": 135, + "gain": 2 + }, + { + "B": 5804854, + "F": 24533, + "a": 277, + "b": 262, + "gain": 2 + }, + { + "B": 5812148, + "F": 24533, + "a": 333, + "b": 334, + "gain": 2 + }, + { + "B": 5812148, + "F": 24533, + "a": 252, + "b": 243, + "gain": 2 + }, + { + "B": 5817288, + "F": 24533, + "a": 411, + "b": 399, + "gain": 2 + }, + { + "B": 5817288, + "F": 24533, + "a": 222, + "b": 248, + "gain": 2 + }, + { + "B": 5817288, + "F": 24533, + "a": 280, + "b": 261, + "gain": 2 + }, + { + "B": 5817288, + "F": 24533, + "a": 331, + "b": 300, + "gain": 2 + }, + { + "B": 5817288, + "F": 24533, + "a": 368, + "b": 221, + "gain": 2 + }, + { + "B": 5817288, + "F": 24533, + "a": 175, + "b": 185, + "gain": 2 + }, + { + "B": 5831376, + "F": 24533, + "a": 101, + "b": 127, + "gain": 2 + }, + { + "B": 5831376, + "F": 24533, + "a": 432, + "b": 359, + "gain": 2 + }, + { + "B": 5834166, + "F": 24593, + "a": 418, + "b": 394, + "gain": 2 + }, + { + "B": 5834166, + "F": 24593, + "a": 175, + "b": 86, + "gain": 2 + }, + { + "B": 5834166, + "F": 24593, + "a": 257, + "b": 249, + "gain": 2 + }, + { + "B": 5834166, + "F": 24593, + "a": 12, + "b": 19, + "gain": 2 + }, + { + "B": 5834166, + "F": 24593, + "a": 368, + "b": 425, + "gain": 2 + }, + { + "B": 5834166, + "F": 24669, + "a": 410, + "b": 343, + "gain": 1 + }, + { + "B": 5834166, + "F": 24669, + "a": 406, + "b": 438, + "gain": 1 + }, + { + "B": 5834166, + "F": 24669, + "a": 338, + "b": 159, + "gain": 1 + }, + { + "B": 5834166, + "F": 24745, + "a": 428, + "b": 150, + "gain": 1 + }, + { + "B": 5834166, + "F": 24745, + "a": 283, + "b": 138, + "gain": 1 + }, + { + "B": 5848104, + "F": 24917, + "a": 303, + "b": 65, + "gain": 1 + }, + { + "B": 5848104, + "F": 24917, + "a": 263, + "b": 264, + "gain": 1 + }, + { + "B": 5856180, + "F": 24917, + "a": 43, + "b": 59, + "gain": 1 + }, + { + "B": 5856180, + "F": 24917, + "a": 356, + "b": 163, + "gain": 1 + }, + { + "B": 5856180, + "F": 25087, + "a": 259, + "b": 10, + "gain": 1 + }, + { + "B": 5859830, + "F": 25087, + "a": 406, + "b": 387, + "gain": 1 + }, + { + "B": 5859830, + "F": 25087, + "a": 366, + "b": 325, + "gain": 1 + }, + { + "B": 5874666, + "F": 25259, + "a": 322, + "b": 339, + "gain": 1 + }, + { + "B": 5874980, + "F": 25259, + "a": 33, + "b": 242, + "gain": 1 + }, + { + "B": 5883706, + "F": 25259, + "a": 378, + "b": 341, + "gain": 1 + }, + { + "B": 5887380, + "F": 25259, + "a": 319, + "b": 360, + "gain": 1 + }, + { + "B": 5887380, + "F": 25429, + "a": 259, + "b": 250, + "gain": 1 + }, + { + "B": 5887380, + "F": 25429, + "a": 104, + "b": 117, + "gain": 1 + }, + { + "B": 5887380, + "F": 25429, + "a": 312, + "b": 348, + "gain": 1 + }, + { + "B": 5887380, + "F": 25429, + "a": 267, + "b": 6, + "gain": 1 + }, + { + "B": 5887380, + "F": 25429, + "a": 370, + "b": 424, + "gain": 1 + }, + { + "B": 5911840, + "F": 25429, + "a": 290, + "b": 272, + "gain": 1 + }, + { + "B": 5911840, + "F": 25461, + "a": 335, + "b": 299, + "gain": 1 + }, + { + "B": 5911840, + "F": 25537, + "a": 428, + "b": 380, + "gain": 1 + }, + { + "B": 5911840, + "F": 25537, + "a": 293, + "b": 13, + "gain": 1 + }, + { + "B": 5911840, + "F": 25717, + "a": 92, + "b": 184, + "gain": 1 + } + ], + "stopping_rule": "one complete gain-ordered pass; no retargeting, restart, or neutral move", + "target_shears": 306, + "two_leaf_stars": 74 +} diff --git a/research/r439-abc-star-composition/verify.py b/research/r439-abc-star-composition/verify.py new file mode 100644 index 0000000000..3ebe448d01 --- /dev/null +++ b/research/r439-abc-star-composition/verify.py @@ -0,0 +1,305 @@ +#!/usr/bin/env python3 +"""Independent literal replay and complete billing of an eight-word composition. + +Set-valued streams and source-binding patterns follow PR926/967/980. +Gareth Davidson (@bitplane), with substantial OpenAI Codex assistance. +Apache-2.0. No assertion is needed for rejection in this verifier. +""" +import argparse +import ast +import copy +from pathlib import Path +import runpy +import tempfile + +C = runpy.run_path(str(Path(__file__).with_name("common.py"))) +need, same, load = C["need"], C["same"], C["load"] + + +def instructions(word): + n = 2 * word["v"] + word["R"] + out = [] + for phase in ("D", "A", "scatter", "B", "C"): + if phase == "scatter": + for j, center in enumerate(word["ret"]): + out.append(("copy", n, center)) + for i, uses in enumerate(word["scatter"]): + if j in uses: + out.append(("add", word["v"] + i, n)) + out.append(("erase", n, center)) + else: + for frame, d, donors in word[phase]: + need(type(frame) is int and 0 <= frame < len(word["frames"]), "frame domain") + need(type(d) is int and 0 <= d < n, "destination domain") + need(type(donors) is list and len(set(donors)) == len(donors), "distinct donors") + need(all(type(s) is int and 0 <= s < n and s != d for s in donors), "donor domain") + out.extend(("add", d, s) for s in donors) + return out + + +def execute(word, reverse=False, stream=None): + """Sets of formal columns plus integer positive bounds; COPY work starts empty.""" + n = 2 * word["v"] + word["R"] + symbolic = [{i} for i in range(n)] + [set()] + positive = [1] * n + [0] + stream = instructions(word) if stream is None else stream + opened, peak, adds, copies, erasures = False, 1, 0, 0, 0 + for kind, d, s in reversed(stream) if reverse else stream: + if reverse and kind != "add": + kind = "erase" if kind == "copy" else "copy" + if kind == "add": + need(d < n, "private COPY target cannot be ADD destination") + need(s != n or opened, "private COPY read outside lifetime") + symbolic[d].symmetric_difference_update(symbolic[s]) + positive[d] += positive[s] + adds += 1 + elif kind == "copy": + need(d == n and not opened and not symbolic[n] and positive[n] == 0, "COPY destination not empty") + symbolic[n] = set(symbolic[s]) + positive[n] = positive[s] + opened = True + copies += 1 + elif kind == "erase": + need(d == n and opened and symbolic[n] == symbolic[s], "ERASE original changed or missing COPY") + symbolic[n] = set() + positive[n] = 0 + opened = False + erasures += 1 + else: + raise ValueError("unknown instruction") + peak = max(peak, positive[d]) + need(not opened and not symbolic[n] and positive[n] == 0, "unclosed private COPY") + expected = [{i} for i in range(n)] + for i in range(word["v"]): + expected[word["v"] + i].add(i) + need(symbolic[:-1] == expected, "dirty full-word boundary") + need(copies == erasures == 9, "complete COPY bill") + return dict(ADDs=adds, bound=peak, copies=copies, erasures=erasures, + columns=n, instructions=len(stream)) + + +def phase_rows(word, phase, reverse=False): + n = 2 * word["v"] + word["R"] + rows = [{i} for i in range(n)] + for _, d, donors in reversed(word[phase]) if reverse else word[phase]: + for s in donors: + rows[d].symmetric_difference_update(rows[s]) + return rows + + +def literal_cleanup(word): + fulls = [i for i, f in enumerate(word["frames"]) if sorted(f) == list(range(word["v"]))] + need(len(fulls) == 1, "one full frame") + reverse = [] + for phase in ("B", "A"): + for gate in word[phase][::-1]: + if not word["v"] <= gate[1] < 2 * word["v"]: + reverse.append([fulls[0], gate[1], list(gate[2])]) + same(reverse, word["C"], "literal cleanup") + + +def literal_price(word): + forward, reverse = execute(word), execute(word, True) + same(forward["ADDs"], reverse["ADDs"], "reverse ADD bill") + f, b = forward["bound"], reverse["bound"] + local, nine = 2**6 * f * f * f * b * b, 2**18 * f**5 * b**4 + return dict(ADDs=forward["ADDs"], F=f, B=b, local_upper=str(local), nine_upper=str(nine), + local_bits=local.bit_length(), nine_bits=nine.bit_length(), + admitted=local < 2**104 and nine < 2**192) + + +def require_admission(price): + need(int(price["local_upper"]) < 2**104, "local precision cap") + need(int(price["nine_upper"]) < 2**192, "nine-stage precision cap") + + +def recipe(baseline, source_a, source_bd, word, mask): + need(type(mask) is int and 0 <= mask <= 7, "mask domain") + for key in baseline: + if key not in ("A", "B", "C", "D"): + same(word[key], baseline[key], "unchanged field " + key) + same(source_a[key], baseline[key], "PR980 immutable geometry " + key) + same(source_bd[key], baseline[key], "PR1062 immutable geometry " + key) + same(sorted(word), sorted(baseline), "complete payload keys") + for phase, flag, source in (("A", 1, source_a), ("B", 2, source_bd), ("D", 4, source_bd)): + same(word[phase], (source if mask & flag else baseline)[phase], "exact phase splice " + phase) + for reverse in (False, True): + need(phase_rows(word, phase, reverse) == phase_rows(baseline, phase, reverse), + "phase semantic boundary " + phase) + literal_cleanup(word) + + +def source_formula(root): + name = ("research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/" + "vendor/e8-r715-eleven-stage-whole/code/global_k.py") + syntax = ast.parse((root / name).read_text()) + formulas = [node.value for node in ast.walk(syntax) if isinstance(node, ast.Assign) + and any(isinstance(t, ast.Name) and t.id == "prefix" for t in node.targets)] + formula = ast.parse("(1 << nb) * cf ** (K + 1) * cb ** K", mode="eval").body + need(len(formulas) == 1 and ast.dump(formulas[0]) == ast.dump(formula), "nine-stage formula binding") + bridge = ast.parse("nb == 6 * (K - 1)", mode="eval").body + need(any(isinstance(node, ast.Compare) and ast.dump(node) == ast.dump(bridge) + for node in ast.walk(syntax)), "bridge exponent binding") + need(load(root / "research/e8-bit-p111-tuned/tune/EXPECTED.json")["nine"]["bit"] + ["charged_prefix_bits"] == 192, "retained nine-stage charge") + return dict(K=4, bridge_exponent=18, local_cap=104, nine_cap=192) + + +def owner_checks(root, words): + owner = C["module"]("composition_owner", root / C["CHECKER"]) + original = owner.Word(words["0"]) + labels = original.labels() + result = {} + for label, word in words.items(): + # recipe() has checked every geometry field; only scalar sections differ. + current = copy.copy(original) + current.w = word + full = current.full() + totals = current.totals() + hypotheses, conclusions, _ = current.interface() + d_changed = bool(int(label) & 4) + for key, value in hypotheses.items(): + need(value is (not d_changed if key == "H2_D_frame0_targets_from_helpers" else True), + "unchanged owning hypothesis " + key) + for key, value in conclusions.items(): + need(value is (not d_changed if key == "K_equals_D" else True), "owning conclusion " + key) + need(full["columns"] == 661 and [x["rank"] for x in totals] == [7] * 9, "owning coverage") + need(all(x["hyperplane_of_punctured_line"] for x in totals), "punctured total geometry") + result[label] = dict(hypotheses=hypotheses, conclusions=conclusions, + full=full, totals=totals) + return original, dict(labels=labels, words=result) + + +def controls(words, prices, owner): + rejected = [] + + def reject(label, action, reason): + try: + action() + except ValueError as exc: + need(reason in str(exc), "wrong rejection for " + label + ": " + str(exc)) + rejected.append(label) + else: + raise ValueError("negative control accepted: " + label) + + candidate = words["7"] + for phase, index, label in (("A", 0, "omitted A gate"), ("B", 0, "omitted B gate"), + ("D", 0, "omitted helper preparation"), ("D", -1, "omitted helper restoration")): + bad = copy.deepcopy(candidate) + del bad[phase][index] + reject(label, lambda w=bad: execute(w), "boundary") + stale = copy.deepcopy(candidate) + stale["C"] = copy.deepcopy(words["0"]["C"]) + execute(stale) # Same F2 inverse, but no longer the declared literal cleanup. + reject("semantically valid stale cleanup", lambda: literal_cleanup(stale), "literal cleanup") + altered = instructions(candidate) + at = next(i for i, x in enumerate(altered) if x[0] == "copy") + missing_copy = altered[:at] + altered[at + 1:] + reject("omitted private COPY", lambda: execute(candidate, stream=missing_copy), "outside lifetime") + er = next(i for i, x in enumerate(altered) if x[0] == "erase") + missing_erase = altered[:er] + altered[er + 1:] + reject("omitted private ERASE", lambda: execute(candidate, stream=missing_erase), "not empty") + wrong_original = list(altered) + kind, d, s = wrong_original[er] + wrong_original[er] = kind, d, s + 1 + reject("wrong ERASE original", lambda: execute(candidate, stream=wrong_original), "original changed") + bad = copy.deepcopy(candidate) + bad["A"][0][0] = True + reject("boolean frame id", lambda: execute(bad), "frame domain") + bad = copy.deepcopy(candidate) + bad["A"][0][2] = [bad["A"][0][1]] + reject("self ADD", lambda: execute(bad), "donor domain") + for field, value, label in (("ADDs", 10628, "double-counted inherited B saving"), + ("F", 1, "stale forward bound"), ("nine_upper", "1", "underpriced bridges")): + bad_price = dict(prices["7"], **{field: value}) + reject(label, lambda p=bad_price: same(p, literal_price(candidate), "literal price"), "literal price") + reject("D-only semantic success exceeds precision", lambda: require_admission(prices["4"]), "nine-stage") + for key, cap in (("local_upper", 104), ("nine_upper", 192)): + bad_price = dict(prices["7"], **{key: str(1 << cap)}) + reject("strict equality at " + key, lambda p=bad_price: require_admission(p), "precision cap") + wrong_frame = copy.deepcopy(candidate) + wrong_frame["A"][0][0] = 0 + current = copy.copy(owner) + current.w = wrong_frame + try: + current.full() + except Exception as exc: + need(type(exc).__name__ == "Reject" and "climb not nested" in str(exc), "wrong frame rejection") + rejected.append("non-nested physical frame") + else: + raise ValueError("physical frame control accepted") + return dict(rejected=rejected, positive_controls=["stale cleanup still F2 exact", + "D-only corner remains F2 exact while admission fails"]) + + +def artifacts(root): + root = Path(root).resolve() + manifest = C["pins"](root) + builder = C["module"]("composition_builder", C["HERE"] / "build.py") + words, certificate = builder.build(root) + same(certificate, load(C["HERE"] / "CERTIFICATE.json"), "complete certificate regeneration") + same(words["7"], load(C["HERE"] / "candidate.json.gz"), "complete decoded candidate regeneration") + return manifest, words, certificate + + +def run(root, output): + root, output = Path(root).resolve(), Path(output).resolve() + manifest, words, certificate = artifacts(root) + output.mkdir(parents=True, exist_ok=False) + (output / "regenerated").mkdir() + for name, word in words.items(): + C["write"](output / "regenerated" / (name + ".json.gz"), word) + C["write"](output / "regenerated" / "CERTIFICATE.json", certificate) + baseline, source_a, source_bd = (load(root / C["WORD"]), load(root / C["A_WORD"]), + load(C["HERE"] / C["BD_WORD"])) + same(words["0"], baseline, "baseline identity") + same(words["6"], source_bd, "PR1062 identity") + need((baseline["v"], baseline["R"]) == (111, 439), "fixed dimensions") + print("eight compositions: phase maps, arbitrary dirty columns, explicit COPY/ERASE and full bounds", flush=True) + prices = {} + for label, word in words.items(): + recipe(baseline, source_a, source_bd, word, int(label)) + price = literal_price(word) + recorded = certificate["corners"][label] + same(price, {k: recorded[k] for k in price}, "macro/literal complete price") + prices[label] = price + need([int(k) for k, v in prices.items() if not v["admitted"]] == [4], "exact failed corner") + need(prices["7"]["ADDs"] == 10652 and prices["6"]["ADDs"] - prices["7"]["ADDs"] == 848, + "composition complete saving") + prefix = source_formula(root) + print("owning E8/frame checker, semantic D exception and rejection controls", flush=True) + owner, checked = owner_checks(root, words) + negatives = controls(words, prices, owner) + native = C["module"]("composition_native", C["HERE"] / "native.py").run( + root, output / "regenerated", prices, output / "native") + return dict(status="PASS_R439_ABC_STAR_COMPOSITION", sources=manifest, + certificate_sha256=C["digest"](certificate), prices=prices, + prefix=prefix, source_checks=checked, native=native, controls=negatives, + exact_phase_maps=dict(phases=3, directions=2, columns=661, words=8), + literal_streams=dict(directions=2, columns=661, words=8, + instructions=sum(len(instructions(w)) for w in words.values())), + no_new_kappa=True) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--source-root", type=Path, default=C["ROOT"]) + parser.add_argument("--output", type=Path) + parser.add_argument("--receipt", type=Path) + parser.add_argument("--write-expected", action="store_true", + help="initial artifact production only; refuses to replace EXPECTED.json") + args = parser.parse_args() + with tempfile.TemporaryDirectory(prefix="r439-composition-") as temporary: + receipt = run(args.source_root, args.output or Path(temporary) / "run") + if args.write_expected: + C["write"](C["HERE"] / "EXPECTED.json", receipt) + else: + same(receipt, load(C["HERE"] / "EXPECTED.json"), "complete deterministic receipt") + if args.receipt: + C["write"](args.receipt, receipt) + print("PASS_R439_ABC_STAR_COMPOSITION: 8 corners; ADDs 11500 -> 10652; " + "661 dirty columns; 5/9/11 stages; 384 bridge controls; 92/176 bits; no new kappa") + + +if __name__ == "__main__": + main() From a2551e70fce0cc34348f50f1a94e7cc4c80bbcbf Mon Sep 17 00:00:00 2001 From: Gareth Davidson Date: Tue, 13 Oct 2026 19:39:22 +0100 Subject: [PATCH 2/2] Record pass-19 result and PR1122 handoff --- research/r439-abc-star-composition/CLAIM.json | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/research/r439-abc-star-composition/CLAIM.json b/research/r439-abc-star-composition/CLAIM.json index 24acbde1b4..8a4a61090c 100644 --- a/research/r439-abc-star-composition/CLAIM.json +++ b/research/r439-abc-star-composition/CLAIM.json @@ -1,5 +1,5 @@ { - "status": "in_progress", + "status": "submitted", "assignment": { "pass_number": 19, "seed": 13, @@ -44,5 +44,13 @@ ], "pending_source_pr1062": "cd016e5dcd5ba28dafa3f3b4eeef003a38e6a11b", "claimed_at_utc": "2026-10-13T18:21:12.819025+00:00", - "expected_finish_utc": "2026-10-13T19:15:00Z" + "expected_finish_utc": "2026-10-13T19:15:00Z", + "pr": 1122, + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/1122", + "mathematical_head": "c099e96941d27b8cc995cb79c33efa1a762f69d1", + "submitted_at_utc": "2026-10-13T18:39:20.263404+00:00", + "result": "Complete composition has 10652 ADDs, saving 848 beyond PR1062 and 13653 versus PR589; F15223/B3910388, 92/176 bits. Eight fixed corners checked; D-only fails 192-bit nine-stage cap. The optimistic 10628 counted 24 inherited B/cleanup ADDs twice; that invoice is rejected explicitly.", + "validation": "All eight words: 661 dirty columns in both directions, native 5/9/11 stages with 384 bridge controls, 17 semantic controls, 10 package tests and 14 affected existing tests. Normal 3.14 and read-only relocated isolated optimized 3.12 receipts identical. All 22 source/context pins checked. No new kappa.", + "overlap_refresh": "Through PR1120; PR1062 exact head unchanged. PR1113 historical matching-neighborhood exclusion and PR1102 omission probes are distinct.", + "upstream_refresh": "ba82555c64e1879e4b7decce28186f208fcb8262; all 17 repository pins unchanged; selected PR1042 keeps PR589 bits." }