diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml index 6bd374e1ca..4537c8db64 100644 --- a/.github/workflows/verify.yml +++ b/.github/workflows/verify.yml @@ -16,7 +16,7 @@ jobs: fail-fast: false matrix: python-version: ['3.11', '3.13', '3.14'] - group: [community, producers, certificates, ternary, research, tests, strips, clones, positive, joint, pair] + group: [community, producers, certificates, ternary, research, tests, strips, clones, positive, joint, pair, balanced-coarse] steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 with: diff --git a/Makefile b/Makefile index 84fe8290f3..53956d07c0 100644 --- a/Makefile +++ b/Makefile @@ -23,6 +23,7 @@ verify: $(MAKE) verify-positive $(MAKE) verify-joint $(MAKE) verify-pair + $(MAKE) verify-balanced-coarse $(MAKE) verify-tests verify-community: community-audit-check community-followup-check copied-reversed-producer copied-reversed-check copied-fixed-reversed-producer copied-fixed-reversed-check @@ -428,3 +429,9 @@ pair-assembly-verify: pair-assembly-producer pair-assembly-check .PHONY: verify-pair verify-pair: pair-assembly-verify python3 scripts/audit_pair_candidate.py --check docs/research/community-pair-arithmetic.json + +.PHONY: verify-balanced-coarse balanced-coarse-verify +verify-balanced-coarse: balanced-coarse-verify +balanced-coarse-verify: + python3 scripts/experiments/pr62_exploration/audit_balanced_coarse.py --check certificates/balanced-coarse-independent-audit.json + python3 scripts/experiments/verify_balanced_coarse.py diff --git a/NOTICE b/NOTICE index b565637758..901d0e2c23 100644 --- a/NOTICE +++ b/NOTICE @@ -302,3 +302,10 @@ inherited PR #48 sources. The stacked witness in research/pair-assembly/frame uses eumemic's PR #57 joint frame compiler unchanged; its driver and verifier are adaptations of PR #57's skip_frame_compiler.py, skip_frame_compose.py and verify_skip_frame.py. Original notices are retained. + +Balanced coarse-column sums (eumemic, with OpenAI Codex assistance): +Reassociates PR62 coarse sums into shared two-edge column sums, compiled +with PR57 joint frames and PR60 rank-first slot reclamation. PR62 graph: +Avi Eisenberg / ikeboy with Anthropic Claude assistance; PR60 priority: +Chafik Boukhalfa with OpenAI Codex assistance; PR63 composition: Dominik +Scholz with OpenAI Codex assistance. All inherited credits are retained. diff --git a/certificates/balanced-coarse-compiler.json b/certificates/balanced-coarse-compiler.json new file mode 100644 index 0000000000..123bb9b8e2 --- /dev/null +++ b/certificates/balanced-coarse-compiler.json @@ -0,0 +1,207 @@ +{ + "axes": { + "23": { + "compiled": { + "all_physical_frame_inclusions": true, + "baseline_pr48_roles": 36432, + "baseline_pr62_stacked_roles": 27918, + "complete_dirty_basis_both_orientations": true, + "dirty_basis_vectors": 31240, + "elementary_xors": 149922, + "h": 23, + "histogram": { + "0": 300883, + "1": 42474, + "10": 467, + "12": 511, + "14": 1958, + "15": 548, + "16": 532, + "17": 464, + "18": 4220, + "19": 7250, + "2": 85317, + "21": 440, + "22": 23, + "3": 10866, + "4": 9561, + "5": 7759, + "6": 2169, + "7": 250, + "8": 1107, + "9": 545 + }, + "mode": { + "matching": true, + "reclaim": true + }, + "rank_mass": 637560, + "roles": 27698, + "scalar": { + "additions": 60730, + "all_additions_disjoint": true, + "all_partial_outputs_exact": true, + "circuit_sha256": "8ce682c9b87c03c2d4767a4d634e9ed4eee2d106521653d79f63693cf324e3cf", + "every_node_has_common_point": true, + "h": 23, + "inputs": 1771, + "merged_additions": 12870, + "partial_outputs": 5336, + "roles": 66066 + }, + "seconds": 30.219927072525024, + "stats": { + "clearing_xors": 4367, + "matched": 34117, + "multi_node_regions": 9246, + "reclaimed": 2365, + "regions": 52473 + } + }, + "gzip_sha256": "012b7526ecc14165fa8276c41070072ead8e71bc12686a17f7889ea210cd19f2", + "replay": { + "elementary_xors": 149922, + "full_basis_vectors": 31240, + "h": 23, + "histogram": { + "0": 163524, + "1": 42474, + "2": 85317, + "3": 10866, + "4": 9561, + "5": 7759, + "6": 2169, + "7": 250, + "8": 1107, + "9": 545, + "10": 467, + "12": 511, + "14": 1958, + "15": 548, + "16": 532, + "17": 464, + "18": 4220, + "19": 7250, + "21": 440, + "22": 23 + }, + "output_roles": 5336, + "rank_mass": 637560, + "roles": 27698, + "status": "independent serialized word, exact frames, full input and dirty basis both orientations PASS", + "word_length": 624482 + }, + "word_sha256": "60e45d49e144780f9319cb614f18180d99d6879434a0f03b4d94f6d766159d06" + }, + "25": { + "compiled": { + "all_physical_frame_inclusions": true, + "baseline_pr48_roles": 48329, + "baseline_pr62_stacked_roles": 36586, + "complete_dirty_basis_both_orientations": true, + "dirty_basis_vectors": 40900, + "elementary_xors": 207715, + "h": 25, + "histogram": { + "0": 416532, + "1": 55192, + "10": 528, + "12": 677, + "13": 2, + "14": 531, + "16": 3087, + "17": 851, + "18": 528, + "19": 372, + "2": 119356, + "20": 5436, + "21": 9594, + "23": 506, + "24": 25, + "3": 14076, + "4": 15113, + "5": 10330, + "6": 2178, + "7": 441, + "8": 1751, + "9": 664 + }, + "mode": { + "matching": true, + "reclaim": true + }, + "rank_mass": 908100, + "roles": 36300, + "scalar": { + "additions": 84495, + "all_additions_disjoint": true, + "all_partial_outputs_exact": true, + "circuit_sha256": "e13f9d4d8504e47782c2333d11990a352200bcc8b3c5000aa55c4d04032caa31", + "every_node_has_common_point": true, + "h": 25, + "inputs": 2300, + "merged_additions": 18480, + "partial_outputs": 6925, + "roles": 91420 + }, + "seconds": 53.43013668060303, + "stats": { + "clearing_xors": 5811, + "matched": 49280, + "multi_node_regions": 12175, + "reclaimed": 3190, + "regions": 73695 + } + }, + "gzip_sha256": "209505f0febd8b26791895cc6182cf3bf3963e17488d86fe9b6d421a03b43c23", + "replay": { + "elementary_xors": 207715, + "full_basis_vectors": 40900, + "h": 25, + "histogram": { + "0": 226642, + "1": 55192, + "2": 119356, + "3": 14076, + "4": 15113, + "5": 10330, + "6": 2178, + "7": 441, + "8": 1751, + "9": 664, + "10": 528, + "12": 677, + "13": 2, + "14": 531, + "16": 3087, + "17": 851, + "18": 528, + "19": 372, + "20": 5436, + "21": 9594, + "23": 506, + "24": 25 + }, + "output_roles": 6925, + "rank_mass": 908100, + "roles": 36300, + "status": "independent serialized word, exact frames, full input and dirty basis both orientations PASS", + "word_length": 863060 + }, + "word_sha256": "e4b0ac34c0d79090516c26dc15526f1d6b0e99e283716e5a4f6d33d5ca0c1d9d" + } + }, + "source": { + "attribution": "PR62 graph: Avi Eisenberg / ikeboy with Anthropic Claude assistance. PR57 compiler: eumemic with OpenAI Codex assistance. PR60 priority: Chafik Boukhalfa with OpenAI Codex assistance. PR63 composition: Dominik Scholz with OpenAI Codex assistance. New coarse-column factoring and checks prepared with OpenAI Codex assistance. All inherited notices retained.", + "files": { + "../../../certificates/ranked-interval-kappa.json": "3ac44016c8cc8119cfef842708a4a8bf2a0588c738b2e02b24cc682c8667b40d", + "../../../scripts/experiments/balanced_coarse_compiler.py": "bd8169bf9f5df185a8aa4aec22234b4fd483000a1cecc78b71bf32e479af1499", + "../../../scripts/experiments/binary_frame_compiler.py": "bc6910c8bbe8224285164323d3c06e9035ad3eaa55416abc2867ae0066454a0c", + "../../../scripts/experiments/ranked_interval_compiler.py": "46cb34afa613c62adb33939af1f01299177599ba4e09e55c1db26bba3b6006ab" + }, + "scope": "Balanced coarse column-pair sums on pinned PR62 graph; rank-priority joint compilation", + "shared_dependency_manifest": "../pr62/SOURCE.json", + "shared_dependency_manifest_sha256": "4ef81f0fc7943d3ea8cfadd3e975dc707994c7ed4f0ec35d07470e772b35c998" + }, + "status": "Balanced coarse column-pair sums on PR62 with descending-rank joint compilation; complete dirty basis both orientations" +} diff --git a/certificates/balanced-coarse-independent-audit.json b/certificates/balanced-coarse-independent-audit.json new file mode 100644 index 0000000000..8cc759cd0f --- /dev/null +++ b/certificates/balanced-coarse-independent-audit.json @@ -0,0 +1,58 @@ +{ + "results": [ + { + "active_nodes": 62501, + "active_set_exact": true, + "additions": 60730, + "all_additions_disjoint": true, + "all_cores_and_covers_exact": true, + "all_output_coefficients_exact": true, + "complete_output_inventory": true, + "direct_global_coefficient_sha256": "2e855f3c8c27073795e4bedce946f2b4e99a2c2032af38ebdbfafe46aed1f861", + "every_node_has_common_point": true, + "h": 23, + "inputs": 1771, + "outputs": 5336, + "scope": "Scalar DAG only; physical dirty-role and profile checks are separate." + }, + { + "active_nodes": 86795, + "active_set_exact": true, + "additions": 84495, + "all_additions_disjoint": true, + "all_cores_and_covers_exact": true, + "all_output_coefficients_exact": true, + "complete_output_inventory": true, + "direct_global_coefficient_sha256": "9b29e6e70e4a3b48163d0aed254014f2c45a2a3597801741f695e2f48facd059", + "every_node_has_common_point": true, + "h": 25, + "inputs": 2300, + "outputs": 6925, + "scope": "Scalar DAG only; physical dirty-role and profile checks are separate." + } + ], + "scope": "Independent dense global scalar coefficients and core/cover audit of balanced_coarse_compiler.graph. No compilation or new kappa calculation.", + "source_hashes": { + "certificates/ranked-interval-kappa.json": "3ac44016c8cc8119cfef842708a4a8bf2a0588c738b2e02b24cc682c8667b40d", + "references/frame-compiler/balanced-coarse/SOURCE.json": "6a6529574755d9d7ae8df5ba24537d73d55c4569255e92052bd74a7edde39dbe", + "references/frame-compiler/pr48/SOURCE.json": "6ccc673f88d3650d75ed600b082fe2fc2866dd88a172d182a38c1d0cd27d24b3", + "references/frame-compiler/pr48/research/copied-fixed/balanced_assembly.py": "4d27575dcad2b45a281a34054d311409ecd954f373c0c3a62c29bcc843f06a86", + "references/frame-compiler/pr48/research/copied-fixed/certificate.json": "33b3373c04e18a7f4cee33ba68da6ed71934acc3e0179cca6197696be4befa22", + "references/frame-compiler/pr48/research/copied-fixed/changed_graph.py": "375a7ca6cac6d153c1880fd5ea5b4525e5dca9d4ee3018d24d679c219b59c5b3", + "references/frame-compiler/pr48/research/copied-fixed/profiles.cpp": "b9fbd71c746609948b60c441ba4601e88436956fe636d1810f270ce4ce6a63a6", + "references/frame-compiler/pr48/research/copied-fixed/verify.py": "44932182ce6c4d39776650311262ef0ac1ea9b5da7220bc0f728e2789881f84a", + "references/frame-compiler/pr48/scripts/exclusion_circuit.py": "b253f9d7318becda1c1f3b24e2287ed44a9c27fcea00cf9d531afb950d0457a0", + "references/frame-compiler/pr48/scripts/partial_swap/binary_io.hpp": "7e143eb75bb342ac8f0c82a60005e7c35c9ec827de479bf6fb773151f3af5fa1", + "references/frame-compiler/pr48/scripts/partial_swap/paired.py": "ddcecace3a8e04d690914cbd64873ab8dde8c0c3477a255767b0ed6f639bb0c7", + "references/frame-compiler/pr48/scripts/partial_swap/shared.py": "81e9af92cdf38243a540cdcff2062778e449467848d444da37a9553c12ca4c34", + "references/frame-compiler/pr62/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "references/frame-compiler/pr62/NOTICE": "95d7dabb54a327216e007f1e0cf37dd2f138ab31527f2cc5ee0de55e87f274ca", + "references/frame-compiler/pr62/SOURCE.json": "4ef81f0fc7943d3ea8cfadd3e975dc707994c7ed4f0ec35d07470e772b35c998", + "references/frame-compiler/pr62/comparison-pr62.json": "70bc8a24a5565b840a5aac845703819c89c83b8c607acae021f64cf296f10c6e", + "references/frame-compiler/pr62/research/pair-assembly/pair_graph.py": "3d47e89d2649c90800a276bdd0480131def50e0bdf92c122a19494b55bf17420", + "scripts/experiments/balanced_coarse_compiler.py": "bd8169bf9f5df185a8aa4aec22234b4fd483000a1cecc78b71bf32e479af1499", + "scripts/experiments/binary_frame_compiler.py": "bc6910c8bbe8224285164323d3c06e9035ad3eaa55416abc2867ae0066454a0c", + "scripts/experiments/pr62_exploration/audit_balanced_coarse.py": "7293c86b75b995b7d23ae81df28c9c2b99fcbc63a8587cdad4f795c665ccd902", + "scripts/experiments/ranked_interval_compiler.py": "46cb34afa613c62adb33939af1f01299177599ba4e09e55c1db26bba3b6006ab" + } +} diff --git a/certificates/balanced-coarse-kappa.json b/certificates/balanced-coarse-kappa.json new file mode 100644 index 0000000000..f0f34377a2 --- /dev/null +++ b/certificates/balanced-coarse-kappa.json @@ -0,0 +1,1010 @@ +{ + "assembly": { + "absorption_gap": "2374047596111620047417/165352409228455670842918750000000000", + "constraints": { + "K_dominates_log": "1359021533064706004197092665133/26456385476552907334867000000000000", + "K_geometry": "19842628862802907334867/26456385476552907334867000000000000", + "a_below_b": "203289863/10000000000000", + "a_positive": "513710137/10000000000000", + "alpha_below_one": "52910052910026456385476552907334867/52912770953105814669734000000000000", + "alpha_below_one_fourth": "13225474695197095383176052907334867/52912770953105814669734000000000000", + "alpha_positive": "2718043079358284257447092665133/52912770953105814669734000000000000", + "artificial_boundary": "1481568458859465438587917658722004601/211651083812423258678936000000000000", + "b_below_one_over32": "311783/10000000", + "beta_below_one": "19/20", + "beta_positive": "1/20", + "c_below_one": "4999743144930250513710137/5000000000000000000000000", + "c_positive": "256855069749486289863/5000000000000000000000000", + "cell_above_band": "52910052909973543614523447092665133/105825541906211629339468000000000000", + "compact_leaf": "83719931500513710137/5000000000000000000000000", + "compact_reservations": "1/4000000000000", + "delta_below_one_eighth": "999999999999/8000000000000", + "delta_positive": "1/8000000000000", + "epsilon_below_one": "1359021552907334867/26456385476552907334867", + "epsilon_positive": "26455026455000000000000/26456385476552907334867", + "g1_above_kappa": "670905827298269163561343/661409636913822683371675000000000000", + "g2_above_kappa": "131943/50000000000000", + "g3_above_kappa": "2374047596111620047417/165352409228455670842918750000000000", + "g4_above_kappa": "131943/50000000000000", + "g5_above_kappa": "2060198433817039891632369/5291277095310581466973400000000000000", + "g6_above_kappa": "4705836981472330625119069/5291277095310581466973400000000000000", + "g7_above_kappa": "661341685836848222455623269163561343/661409636913822683371675000000000000", + "gamma_sublinear": "1/2000000000000", + "guard_width": "1359021552907334867/26456385476552907334867", + "lambda_above_internal": "513710137/10000000000000000000000000", + "lambda_above_sigma": "203289863000513710137/10000000000000000000000000", + "lambda_above_tau": "513710137/10000000000000000000000000", + "lambda_prime_above_lambda": "513710137/10000000000000000000000000", + "lambda_prime_below_one": "256855068499486289863/5000000000000000000000000", + "literal_scalar_guard": "9693793493753822316795466474748", + "phase_boundary": "2174434458195350310647092665133/42330216762484651735787200000000000", + "phase_leaf_above_bit": "167439863/10000000000000", + "phase_local": "10872172396802293459447092665133/211651083812423258678936000000000000", + "prime_interval_packing": "1359021552907334867/26456385476552907334867", + "q_below_internal": "513710137/5000000000000000000000000", + "q_below_leaf": "83719931500513710137/5000000000000000000000000", + "q_below_reservations": "1/4000000000000", + "q_positive": "256855068499486289863/5000000000000000000000000", + "record_suffix": "1359021552907334867/26456385476552907334867", + "row_product_gap": "6548/25", + "short_record_fallback": "264536673636592315195685257168553221/264563854765529073348670000000000000", + "small_field_exposure": "1/1000000000000" + }, + "finite_bridge": { + "bit": { + "W": 136139300, + "halving_degree": 9, + "m": 575, + "maxchild": 529, + "wire_bits": 28 + }, + "complex": { + "W": 537696432, + "halving_degree": 20, + "m": 784, + "maxchild": 756, + "s": 421548223824, + "scalar_group_upper": 4793351472, + "wire_bits": 30 + }, + "rows": { + "coefficient": 852, + "degree": 2000, + "degree_gap": "6548/25", + "suffix_slope": 8000 + }, + "semantic": { + "B": 9696565176891520488614054257040, + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": 1, + "E": 9696565176891520488192506033216, + "induction_gap": 533311084729033626873772984137200, + "literal_charge": 2771683137698171397039558468, + "strict_literal_gap": 9693793493753822316795466474748 + } + }, + "margins": { + "g1": "1359021552907334867/26456385476552907334867", + "g2": "513710137/10000000000000", + "g3": "1359021526450949390447092665133/26456385476552907334867000000000000", + "g4": "513710137/10000000000000", + "g5": "2174434458195350310647092665133/42330216762484651735787200000000000", + "g6": "10872172396802293459447092665133/211651083812423258678936000000000000", + "g7": "26455026455000000000000/26456385476552907334867" + }, + "minimum_margin": "1359021526450949390447092665133/26456385476552907334867000000000000", + "parameters": { + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": "1", + "a_bit": "513710137/10000000000000", + "a_complex": "717/10000000", + "alpha_squared_power": "2718043079358284257447092665133/52912770953105814669734000000000000", + "beta": "1/20", + "c": "256855069749486289863/5000000000000000000000000", + "delta": "1/8000000000000", + "epsilon": "26455026455000000000000/26456385476552907334867", + "h": "1/1000000000000", + "kappa": "1284209371/25000000000000", + "lambda_": "9999486289863000513710137/10000000000000000000000000", + "lambda_prime": "4999743144931500513710137/5000000000000000000000000", + "q": "256855068499486289863/5000000000000000000000000", + "sigma": "9999283/10000000", + "tau": "9999486289863/10000000000000" + }, + "recurrence": { + "internal": "9999486289863/10000000000000", + "leaf": "199986377/200000000", + "reservations": "4999743144930250513710137/5000000000000000000000000" + }, + "scoped_limit": "513710137/10000513710137" + }, + "bit": { + "L": 2226400, + "N": 4073300, + "W": 136139300, + "axes": [ + { + "R": 27698, + "blocks": [ + 0, + 344005, + 16346, + 10466, + 5612, + 4064, + 3772, + 3615, + 2784, + 2242, + 1739, + 1702, + 1197, + 1057, + 674, + 625, + 324, + 192, + 122, + 45, + 65, + 23, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 5894, + "distinct_matrices": 35708, + "field_prime": 2305843009213693951, + "frames": 52475, + "h": 23, + "loss": 506, + "rank_sum": 637560, + "v": 1771 + }, + { + "R": 36300, + "blocks": [ + 0, + 474570, + 24280, + 12135, + 6656, + 5580, + 5338, + 4870, + 3690, + 3161, + 2617, + 2627, + 1844, + 1652, + 1283, + 1127, + 654, + 604, + 348, + 222, + 101, + 55, + 66, + 25, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 7776, + "distinct_matrices": 49583, + "field_prime": 2305843009213693951, + "frames": 73697, + "h": 25, + "loss": 600, + "rank_sum": 908100, + "v": 2300 + } + ], + "child_multiplicities": { + "1": 1725360870, + "10": 8634407, + "11": 8567017, + "12": 6018824, + "13": 5356792, + "14": 3822393, + "15": 3433417, + "16": 1903434, + "17": 9657884, + "18": 896908, + "19": 496662, + "2": 80595680, + "20": 328371, + "21": 16443505, + "22": 116886, + "23": 71896275, + "25": 64287300, + "3": 45562885, + "4": 24695376, + "481": 8146600, + "5": 19229380, + "525": 64287300, + "529": 63705400, + "6": 18129198, + "7": 16939270, + "8": 12938190, + "9": 10754731 + }, + "deficit": 1846900, + "excluded_above_lower": "170174125000003392199055962185274659010809360618291089111139907666366167654289047830635865235064762544429476761861890823272540854532063/170174125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "m": 575, + "maxchild": 529, + "moment": { + "exponent": "9999486289863/10000000000000", + "logarithms": { + "1": { + "lower": "3177185020398675220004135749131/500000000000000000000000000000", + "upper": "6354370040797350440008271498263/1000000000000000000000000000000" + }, + "10": { + "lower": "2025892473901652377995140021789/500000000000000000000000000000", + "upper": "4051784947803304755990280043579/1000000000000000000000000000000" + }, + "11": { + "lower": "3956474767998979895946327920297/1000000000000000000000000000000", + "upper": "1978237383999489947973163960149/500000000000000000000000000000" + }, + "12": { + "lower": "3869463391009350129778562018423/1000000000000000000000000000000", + "upper": "483682923876168766222320252303/125000000000000000000000000000" + }, + "13": { + "lower": "3789420683335813703954784056697/1000000000000000000000000000000", + "upper": "1894710341667906851977392028349/500000000000000000000000000000" + }, + "14": { + "lower": "3715312711182091825485686633361/1000000000000000000000000000000", + "upper": "1857656355591045912742843316681/500000000000000000000000000000" + }, + "15": { + "lower": "3646319839695140374012266928113/1000000000000000000000000000000", + "upper": "1823159919847570187006133464057/500000000000000000000000000000" + }, + "16": { + "lower": "3581781318557569202339343012429/1000000000000000000000000000000", + "upper": "358178131855756920233934301243/100000000000000000000000000000" + }, + "17": { + "lower": "3521156696741134359758736880389/1000000000000000000000000000000", + "upper": "352115669674113435975873688039/100000000000000000000000000000" + }, + "18": { + "lower": "3463998282901185747800548902959/1000000000000000000000000000000", + "upper": "43299978536264821847506861287/12500000000000000000000000000" + }, + "19": { + "lower": "1704965530815454989999622033187/500000000000000000000000000000", + "upper": "27279448493047279839993952531/8000000000000000000000000000" + }, + "2": { + "lower": "1415305715059351282647759844201/250000000000000000000000000000", + "upper": "1132244572047481026118207875361/200000000000000000000000000000" + }, + "20": { + "lower": "83965944181083986164326198053/25000000000000000000000000000", + "upper": "3358637767243359446573047922121/1000000000000000000000000000000" + }, + "21": { + "lower": "413730950384240930438459189737/125000000000000000000000000000", + "upper": "3309847603073927443507673517897/1000000000000000000000000000000" + }, + "22": { + "lower": "3263327587439034586529095798839/1000000000000000000000000000000", + "upper": "81583189685975864663227394971/25000000000000000000000000000" + }, + "23": { + "lower": "804718956217050187300379666613/250000000000000000000000000000", + "upper": "3218875824868200749201518666453/1000000000000000000000000000000" + }, + "25": { + "lower": "313549421592914969080675283181/100000000000000000000000000000", + "upper": "3135494215929149690806752831811/1000000000000000000000000000000" + }, + "3": { + "lower": "262787887606462037430651313067/50000000000000000000000000000", + "upper": "5255757752129240748613026261341/1000000000000000000000000000000" + }, + "4": { + "lower": "2484037839838729910586903627673/500000000000000000000000000000", + "upper": "4968075679677459821173807255347/1000000000000000000000000000000" + }, + "481": { + "lower": "35700554138317851917337677133/200000000000000000000000000000", + "upper": "89251385345794629793344192833/500000000000000000000000000000" + }, + "5": { + "lower": "1186233032090812516351878041259/250000000000000000000000000000", + "upper": "4744932128363250065407512165037/1000000000000000000000000000000" + }, + "525": { + "lower": "22742944551431673576538712861/250000000000000000000000000000", + "upper": "18194355641145338861230970289/200000000000000000000000000000" + }, + "529": { + "lower": "41690804469525529197382917321/500000000000000000000000000000", + "upper": "83381608939051058394765834643/1000000000000000000000000000000" + }, + "6": { + "lower": "4562610571569295439195794139881/1000000000000000000000000000000", + "upper": "2281305285784647719597897069941/500000000000000000000000000000" + }, + "7": { + "lower": "4408459891742037134902918754819/1000000000000000000000000000000", + "upper": "220422994587101856745145937741/50000000000000000000000000000" + }, + "8": { + "lower": "66795757798711164246196486467/15625000000000000000000000000", + "upper": "4274928499117514511756575133889/1000000000000000000000000000000" + }, + "9": { + "lower": "4157145463461131057217781024417/1000000000000000000000000000000", + "upper": "2078572731730565528608890512209/500000000000000000000000000000" + } + }, + "lower": "123762999999985412955260821023612779605968164106478137754296704833126985786123899932607997117257490742222262494116173699809930157400624543/123763000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "saving": "513710137/10000000000000", + "strict_gap": "3417544055116200437340717633404668573756632035885654321711866760366367805157567375438525497441022825122680240946310947195109763371641862723610805246119805458247813237202443763912139902661416981584602574534234908409990721931270744474317030208084741370493736746492638693152589793266703296969568366596391407401091419353087353145828827203339397248930410979486246722888024582168251693523650831606240807573267553637397971426475887207532705133427982159186107531779082656690111605621013089399949478256990784567218877016067555041725909233260290989600981720172016496417981326364282294284922968165921706866720109433420619298338280637227017822182086087179858714634527035650081139134782497252373189982041771406489645764051478214264829484555659285828660088069760009965490184033818500682380059921855905298190900508524086853561502331371169931730627676216299617429303121903618124224721588653472760362071757566741414555303991576557537025886070631315277477669533203293418230391721161461282932475643799664977947253076724168250592954772370179153463023895884873452655041210286652747060888900465355685924908149920592981866834612225971259958159052474351219423630377112894534942706796065670106464701474034273/29000655375579366511648031058290376860631634271799006110203869011545652666452720048294610349995336406098716484518177029593263344971359603364211465442031010961434787359950025490993903486691965607331212727891203232446503364908379162642674253674870028262204065562692791273357659246833207727070484139317259914908714540352246747347088121377307751122810877667345547220821411974835083160789908349546379288705809347755645689615988193595330800559932068324483519868755141035419700811602423888090625428532921235928769069735581080325178709509844197247949725229916114774966196534990810902306384064951762822396266485194876175065315267800587574738588244872745704898520869465425188403517219120298498195101233334290670278174115435650656131935915291655259354936491694386750482575388847516379526276819472047582947085459048214098781232875360577721659365830173424960973758372273443101579657194181894813511261931519722599290373577858875790422679146517887775383879262068854056268903049832179850946243384002747723648572641705176940171676793536161099387775429041030993645410517117882134440396556456331851676931672489175934836399449671259278674906784501640869990565597625237550000000000000000000000000000000000000000000000", + "upper": "29000655375575948967592914857853036142998229603225249478167983357223940799692353680489452782619897880601275461693054349352317034024164493600839823579307400156188667554491777677756701042928053467428551310909618629871969129999969171920742982930395711231995980821322297536611166608140055137277217436020290346542118148944845655927735034024161922295607538270096616809841925728112195136207740097852855637874203106948072422062350795623904324672724535619350091886595954927887921728945733776485004415443521286450512078951013861448162641954802471338716464938926513793246024518494392920980019782657477899428100563488009454955881847181289236457951017854923522812433689606710553876481569039159363412603980961100688236402708946004892080457701026825774799277205865726662412815378882026195492458318789667523025229553750023198272708788507016219327994660241694333297542072656013798457753576057670091922608458759360527532806836444320486431102588980861889313247946791376386735699756413949459225081922719815248004772976727229687094952625285568144615405249887567969749525643665227093230109903709270962776466316803251026686478856689392444062680813241682710938091246405813919622887105465057293203934329893535298525965727/29000655375579366511648031058290376860631634271799006110203869011545652666452720048294610349995336406098716484518177029593263344971359603364211465442031010961434787359950025490993903486691965607331212727891203232446503364908379162642674253674870028262204065562692791273357659246833207727070484139317259914908714540352246747347088121377307751122810877667345547220821411974835083160789908349546379288705809347755645689615988193595330800559932068324483519868755141035419700811602423888090625428532921235928769069735581080325178709509844197247949725229916114774966196534990810902306384064951762822396266485194876175065315267800587574738588244872745704898520869465425188403517219120298498195101233334290670278174115435650656131935915291655259354936491694386750482575388847516379526276819472047582947085459048214098781232875360577721659365830173424960973758372273443101579657194181894813511261931519722599290373577858875790422679146517887775383879262068854056268903049832179850946243384002747723648572641705176940171676793536161099387775429041030993645410517117882134440396556456331851676931672489175934836399449671259278674906784501640869990565597625237550000000000000000000000000000000000000000000000" + }, + "parts": { + "data": { + "1": 73319400, + "17": 8146600, + "21": 8146600, + "481": 8146600 + }, + "data_growth_23": { + "1": 8146600, + "21": 8146600 + }, + "data_growth_25": { + "1": 8146600, + "23": 8146600 + }, + "exterior_23": { + "23": 63705400, + "529": 63705400 + }, + "exterior_25": { + "25": 64287300, + "525": 64287300 + }, + "internal_23": { + "1": 791211500, + "10": 3999700, + "11": 3914600, + "12": 2753100, + "13": 2431100, + "14": 1550200, + "15": 1437500, + "16": 745200, + "17": 441600, + "18": 280600, + "19": 103500, + "2": 37595800, + "20": 149500, + "21": 52900, + "3": 24071800, + "4": 12907600, + "5": 9347200, + "6": 8675600, + "7": 8314500, + "8": 6403200, + "9": 5156600 + }, + "internal_25": { + "1": 840463470, + "10": 4634707, + "11": 4652417, + "12": 3265724, + "13": 2925692, + "14": 2272193, + "15": 1995917, + "16": 1158234, + "17": 1069684, + "18": 616308, + "19": 393162, + "2": 42999880, + "20": 178871, + "21": 97405, + "22": 116886, + "23": 44275, + "3": 21491085, + "4": 11787776, + "5": 9882180, + "6": 9453598, + "7": 8624770, + "8": 6534990, + "9": 5598131 + }, + "paid_endpoint_copy": { + "1": 4073300 + } + }, + "total_rank": 78278250600, + "words": [ + { + "R": 27698, + "copied_centers": 23, + "distinct_transitions": 137761, + "frames": 52475, + "h": 23, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 53100, + "10": 467, + "12": 511, + "14": 1958, + "15": 548, + "16": 532, + "17": 464, + "18": 4220, + "19": 7250, + "2": 80004, + "21": 440, + "22": 23, + "3": 10866, + "4": 9561, + "5": 7759, + "6": 2169, + "7": 250, + "8": 1107, + "9": 545 + }, + "rank_mass": 637560, + "singles": 15939, + "transition_events_equal_independent_xor_word_reconstruction": true, + "v": 1771, + "word_sha256": "60e45d49e144780f9319cb614f18180d99d6879434a0f03b4d94f6d766159d06" + }, + { + "R": 36300, + "copied_centers": 25, + "distinct_transitions": 190719, + "frames": 73697, + "h": 25, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 68992, + "10": 528, + "12": 677, + "13": 2, + "14": 531, + "16": 3087, + "17": 851, + "18": 528, + "19": 372, + "2": 112456, + "20": 5436, + "21": 9594, + "23": 506, + "24": 25, + "3": 14076, + "4": 15113, + "5": 10330, + "6": 2178, + "7": 441, + "8": 1751, + "9": 664 + }, + "rank_mass": 908100, + "singles": 20700, + "transition_events_equal_independent_xor_word_reconstruction": true, + "v": 2300, + "word_sha256": "e4b0ac34c0d79090516c26dc15526f1d6b0e99e283716e5a4f6d33d5ca0c1d9d" + } + ] + }, + "bit_saving": "513710137/10000000000000", + "bit_saving_excluded_above": "25685507/500000000000", + "comparison": { + "next_dyadic_reached": false, + "pr48_kappa": "411862541/10000000000000", + "pr63_comparison_scope": "Reported PR63 value for the interval graph, joint frame compiler and descending-rank priority; the complete PR63 source witness was not independently replayed here. The separately pinned ranked-interval certificate independently reproduces this composition with finer rounding.", + "pr63_reported_kappa": "5102757/100000000000", + "pr64_comparison_scope": "Reported PR64 arithmetic refinement for the same physical words as PR63; its complete source witness was not independently replayed here.", + "pr64_reported_kappa": "20411033624901463/400000000000000000000", + "ranked_interval_kappa": "318922399/6250000000000", + "ratio_pr63_reported": "1284209371/1275689250", + "ratio_pr64_reported": "20547349936000000/20411033624901463", + "ratio_ranked_interval": "1284209371/1275689596" + }, + "controls": { + "ranked_interval_at_new_bit_saving": { + "moment": { + "exponent": "9999486289863/10000000000000", + "logarithms": { + "1": { + "lower": "3177185020398675220004135749131/500000000000000000000000000000", + "upper": "6354370040797350440008271498263/1000000000000000000000000000000" + }, + "10": { + "lower": "2025892473901652377995140021789/500000000000000000000000000000", + "upper": "4051784947803304755990280043579/1000000000000000000000000000000" + }, + "11": { + "lower": "3956474767998979895946327920297/1000000000000000000000000000000", + "upper": "1978237383999489947973163960149/500000000000000000000000000000" + }, + "12": { + "lower": "3869463391009350129778562018423/1000000000000000000000000000000", + "upper": "483682923876168766222320252303/125000000000000000000000000000" + }, + "13": { + "lower": "3789420683335813703954784056697/1000000000000000000000000000000", + "upper": "1894710341667906851977392028349/500000000000000000000000000000" + }, + "14": { + "lower": "3715312711182091825485686633361/1000000000000000000000000000000", + "upper": "1857656355591045912742843316681/500000000000000000000000000000" + }, + "15": { + "lower": "3646319839695140374012266928113/1000000000000000000000000000000", + "upper": "1823159919847570187006133464057/500000000000000000000000000000" + }, + "16": { + "lower": "3581781318557569202339343012429/1000000000000000000000000000000", + "upper": "358178131855756920233934301243/100000000000000000000000000000" + }, + "17": { + "lower": "3521156696741134359758736880389/1000000000000000000000000000000", + "upper": "352115669674113435975873688039/100000000000000000000000000000" + }, + "18": { + "lower": "3463998282901185747800548902959/1000000000000000000000000000000", + "upper": "43299978536264821847506861287/12500000000000000000000000000" + }, + "19": { + "lower": "1704965530815454989999622033187/500000000000000000000000000000", + "upper": "27279448493047279839993952531/8000000000000000000000000000" + }, + "2": { + "lower": "1415305715059351282647759844201/250000000000000000000000000000", + "upper": "1132244572047481026118207875361/200000000000000000000000000000" + }, + "20": { + "lower": "83965944181083986164326198053/25000000000000000000000000000", + "upper": "3358637767243359446573047922121/1000000000000000000000000000000" + }, + "21": { + "lower": "413730950384240930438459189737/125000000000000000000000000000", + "upper": "3309847603073927443507673517897/1000000000000000000000000000000" + }, + "22": { + "lower": "3263327587439034586529095798839/1000000000000000000000000000000", + "upper": "81583189685975864663227394971/25000000000000000000000000000" + }, + "23": { + "lower": "804718956217050187300379666613/250000000000000000000000000000", + "upper": "3218875824868200749201518666453/1000000000000000000000000000000" + }, + "25": { + "lower": "313549421592914969080675283181/100000000000000000000000000000", + "upper": "3135494215929149690806752831811/1000000000000000000000000000000" + }, + "3": { + "lower": "262787887606462037430651313067/50000000000000000000000000000", + "upper": "5255757752129240748613026261341/1000000000000000000000000000000" + }, + "4": { + "lower": "2484037839838729910586903627673/500000000000000000000000000000", + "upper": "4968075679677459821173807255347/1000000000000000000000000000000" + }, + "481": { + "lower": "35700554138317851917337677133/200000000000000000000000000000", + "upper": "89251385345794629793344192833/500000000000000000000000000000" + }, + "5": { + "lower": "1186233032090812516351878041259/250000000000000000000000000000", + "upper": "4744932128363250065407512165037/1000000000000000000000000000000" + }, + "525": { + "lower": "22742944551431673576538712861/250000000000000000000000000000", + "upper": "18194355641145338861230970289/200000000000000000000000000000" + }, + "529": { + "lower": "41690804469525529197382917321/500000000000000000000000000000", + "upper": "83381608939051058394765834643/1000000000000000000000000000000" + }, + "6": { + "lower": "4562610571569295439195794139881/1000000000000000000000000000000", + "upper": "2281305285784647719597897069941/500000000000000000000000000000" + }, + "7": { + "lower": "4408459891742037134902918754819/1000000000000000000000000000000", + "upper": "220422994587101856745145937741/50000000000000000000000000000" + }, + "8": { + "lower": "66795757798711164246196486467/15625000000000000000000000000", + "upper": "4274928499117514511756575133889/1000000000000000000000000000000" + }, + "9": { + "lower": "4157145463461131057217781024417/1000000000000000000000000000000", + "upper": "2078572731730565528608890512209/500000000000000000000000000000" + } + }, + "lower": "2057277411821250238709469224386727097132452796238549996096975561269934240887835099360747211863415585487680880533170789681316382062229754211/2057277090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "saving": "513710137/10000000000000", + "strict_gap": "-1599616231387111270800817104589882284174705678844148810545245286042487311366354026488927835366283521594366255488250282298760802300343553399566353312358028829419202360174823744534045220245452750335228622353226448182996857576601473527255963289243046555426771531660221160681813562379727163501790889487890719202033058424222946052662833336787516085835979270842423021919066378533070103022166175543741424567896418518182619823498846306523676362863163159138532837402440577358640337551303538904224931585123344663840778435641927620429117757461391459896314721054128987518587981229715597626705266464551016975517082515381167041737691497903123418802500371466440531997343189968483088379049512221159243085252427943107794940637854657119820606542186922052546814556418349933188597090739897546875093190965992485955441525191618266641197297149372376654675821356329267790780730187767663253818109530348072346366614911169046528281431441693258764539367017874093054378609522762073740842520066120633693399778251051120429607832924768065874369849373472266498796691182784173002682784101818362132027852110166286227544792244149234791486295507917707579415501130336931211558252358179850066428685215853407704309063473477532223/10225719472485251831711758644241712426901589984582372576888697694878131370797757582730369264046850306163583425555836241281915138529051095142224525819865384290049251782366233137988425894406134136559956845893601503717710515690850690000783589282622258355973001156631500905416106351160326057129022965085035926476761548808607662480250711152589574939067659992247118646767524950815307355641490082953032813246792103071846987309556311287020267934954660724760653746073526877818401277234629284712128747668637397777011985847666402494432280382729874848128256237327253257960516216138368333240537809017781426019942945465507280225497376058041152024397616897791892289377970883908332873765512045796728793897545210081721480577142750537041807567651445833329850195918429991927473586283601107068446169486594132277613405171032027942356674161809239855832456675978509396706613503798852106092524370002114364928319532540878333362160442402078236961346076454142351949271697647495767634305349176813838589818158026631000315681999953133135787643963195203496571472110150344442113004118663303009283669854890971275432482447002238502916444220522191319681989427972807994083384049547189712350000000000000000000000000000000000000000000", + "upper": "10225721072101483218823029445058817016783874159288051421037508240123417413285068949084395752974685672447105019922091729532197437289853395485777925386218696648078081201568593312812170428451354382012707181122223856944158698687708266602257116538585547599019556583403032565637267032973888436856186466875925414367480750841666086703196763815422911726583745828226389489190546869881685888711593105119208356988216670968265505492176134785866574458631023587923812884606364280258978635874966836015667651893568982900356649688444838136359900811847632309519716133641974312089503734726349562956135435723047890570959920982589795606664417795732649927521035700292263755818502881251522842248600424846241015056788295334149423684937691174896464687472052375516772248465244548345823519472198197808343716361687323243605891126473553133974940803006537005204833330654330753035881294579582293860187623820223895276391878907493244531206970683509678654604840993509369823364752026105290396379090019333904710451851426409251366802429560966060555709837565052870043738608947035624897177121346087111102031986918823385598768674547030747065679012008486827599697007388309124420315261105442070529850066428685215853407704309063473477532223/10225719472485251831711758644241712426901589984582372576888697694878131370797757582730369264046850306163583425555836241281915138529051095142224525819865384290049251782366233137988425894406134136559956845893601503717710515690850690000783589282622258355973001156631500905416106351160326057129022965085035926476761548808607662480250711152589574939067659992247118646767524950815307355641490082953032813246792103071846987309556311287020267934954660724760653746073526877818401277234629284712128747668637397777011985847666402494432280382729874848128256237327253257960516216138368333240537809017781426019942945465507280225497376058041152024397616897791892289377970883908332873765512045796728793897545210081721480577142750537041807567651445833329850195918429991927473586283601107068446169486594132277613405171032027942356674161809239855832456675978509396706613503798852106092524370002114364928319532540878333362160442402078236961346076454142351949271697647495767634305349176813838589818158026631000315681999953133135787643963195203496571472110150344442113004118663303009283669854890971275432482447002238502916444220522191319681989427972807994083384049547189712350000000000000000000000000000000000000000000" + }, + "scope": "The complete hash-pinned predecessor child network fails the exact lower moment test at the new bit saving.", + "strict_exclusion_gap": "321821250238709469224386727097132452796238549996096975561269934240887835099360747211863415585487680880533170789681316382062229754211/2057277090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + "dependencies": { + "data_profile": "Unchanged inherited all-pairs data profile: 9 singletons +21+17+481; ten exact rational recoveries", + "geometry": "Unchanged fixed-I+J original-envelope projector and CRT formulas", + "producer": "Balanced column-pair factorization of each four-edge coarse sum, prepared with OpenAI Codex assistance. Based on PR62 cyclic interval graph (Avi Eisenberg / ikeboy with Anthropic Claude assistance), PR57 joint frame compiler (eumemic with OpenAI Codex assistance), and PR60 descending-rank reclamation priority (Chafik Boukhalfa with OpenAI Codex assistance); complete serialized physical words", + "proof_scope": "Ordered affine residual compiler, fixed-tape recursion, finite scalar overhead, balanced transfer, analytic/routing/recovery interfaces remain inherited." + }, + "eventual_bounds": { + "additional_eventual_conditions": [ + "BHP prime threshold and distinct-prime packing", + "Fixed rational basis, eligible common prime and native table setup", + "Catalogue/descriptor domination, logarithm absorption, exact recovery" + ], + "all_interval_argument": "For [Z,Z+k), bound RHS at Z+k and LHS at floor(Z/k). Successive intervals double LHS; the positive affine RHS grows at most linearly, so 2^j >= j+1 proves persistence.", + "common_cutoff": 14000000000000, + "cutoff_log2_input": { + "alpha": 6064048385, + "compact": 24256193537, + "geometry": 3999931510005, + "guard": 4321726, + "log_p": 25, + "normalization": 14000000000000, + "period": 48512387073, + "phase_cell": 19, + "reservoir": 14, + "stopped_leaf": 252 + }, + "power_checkpoints": [ + { + "log2_input": 14000000000000, + "powers": { + "alpha": { + "exponent": 719128826, + "rhs": 112000000155808, + "rhs_bits": 47 + }, + "compact": { + "exponent": 719128826, + "rhs": 448000000623168, + "rhs_bits": 49 + }, + "leaf": { + "exponent": 666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 719128826, + "rhs": 224000000311544, + "rhs_bits": 48 + }, + "rows": { + "exponent": 719128826, + "rhs": 112000000155808000, + "rhs_bits": 57 + } + } + }, + { + "log2_input": 28000000000000, + "powers": { + "alpha": { + "exponent": 1438257653, + "rhs": 224000000155808, + "rhs_bits": 48 + }, + "compact": { + "exponent": 1438257653, + "rhs": 896000000623168, + "rhs_bits": 50 + }, + "leaf": { + "exponent": 1333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 1438257653, + "rhs": 448000000311544, + "rhs_bits": 49 + }, + "rows": { + "exponent": 1438257653, + "rhs": 224000000155808000, + "rhs_bits": 58 + } + } + }, + { + "log2_input": 56000000000000, + "powers": { + "alpha": { + "exponent": 2876515307, + "rhs": 448000000155808, + "rhs_bits": 49 + }, + "compact": { + "exponent": 2876515307, + "rhs": 1792000000623168, + "rhs_bits": 51 + }, + "leaf": { + "exponent": 2666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 2876515307, + "rhs": 896000000311544, + "rhs_bits": 50 + }, + "rows": { + "exponent": 2876515307, + "rhs": 448000000155808000, + "rhs_bits": 59 + } + } + }, + { + "log2_input": 112000000000000, + "powers": { + "alpha": { + "exponent": 5753030614, + "rhs": 896000000155808, + "rhs_bits": 50 + }, + "compact": { + "exponent": 5753030614, + "rhs": 3584000000623168, + "rhs_bits": 52 + }, + "leaf": { + "exponent": 5333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 5753030614, + "rhs": 1792000000311544, + "rhs_bits": 51 + }, + "rows": { + "exponent": 5753030614, + "rhs": 896000000155808000, + "rhs_bits": 60 + } + } + }, + { + "log2_input": 224000000000000, + "powers": { + "alpha": { + "exponent": 11506061228, + "rhs": 1792000000155808, + "rhs_bits": 51 + }, + "compact": { + "exponent": 11506061228, + "rhs": 7168000000623168, + "rhs_bits": 53 + }, + "leaf": { + "exponent": 10666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 11506061228, + "rhs": 3584000000311544, + "rhs_bits": 52 + }, + "rows": { + "exponent": 11506061228, + "rhs": 1792000000155808000, + "rhs_bits": 61 + } + } + }, + { + "log2_input": 448000000000000, + "powers": { + "alpha": { + "exponent": 23012122457, + "rhs": 3584000000155808, + "rhs_bits": 52 + }, + "compact": { + "exponent": 23012122457, + "rhs": 14336000000623168, + "rhs_bits": 54 + }, + "leaf": { + "exponent": 21333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 23012122457, + "rhs": 7168000000311544, + "rhs_bits": 53 + }, + "rows": { + "exponent": 23012122457, + "rhs": 3584000000155808000, + "rhs_bits": 62 + } + } + } + ], + "practical_runtime_claim": false + }, + "exactness": [ + { + "common_denominator_bound": 34848, + "correction_numerator_bound": 274032, + "h": 23, + "minor_bounds": { + "2": 38218181861376, + "3": 219993996697351151616, + "4": 1206074983422622280129445888 + }, + "modulus_gaps": { + "2": 2305804791031832575, + "3": 2596143476298113163849933497114623, + "4": 2596142270223349735224350718820351 + }, + "prime_product": 2596143476298333157846630848266239, + "primes": [ + 2305843009213693951, + 2147483647, + 524287 + ], + "single_numerator_bound": 6228 + }, + { + "common_denominator_bound": 44928, + "correction_numerator_bound": 353568, + "h": 25, + "minor_bounds": { + "2": 75405344477184, + "3": 613343016893987684352, + "4": 4772090401825349199521120256 + }, + "modulus_gaps": { + "2": 2305767603869216767, + "3": 2596143476297719814829736860581887, + "4": 2596138704207931332497431327145983 + }, + "prime_product": 2596143476298333157846630848266239, + "primes": [ + 2305843009213693951, + 2147483647, + 524287 + ], + "single_numerator_bound": 7366 + } + ], + "finite_bridge": { + "bit": { + "W": 136139300, + "halving_degree": 9, + "m": 575, + "maxchild": 529, + "wire_bits": 28 + }, + "complex": { + "W": 537696432, + "halving_degree": 20, + "m": 784, + "maxchild": 756, + "s": 421548223824, + "scalar_group_upper": 4793351472, + "scalar_terms": [ + { + "c": 78437, + "copied_center_extra_groups": 56, + "h": 28, + "invocations": 3276, + "local_group_upper": 729892, + "v": 3276 + }, + { + "c": 78437, + "copied_center_extra_groups": 56, + "h": 28, + "invocations": 3276, + "local_group_upper": 729892, + "v": 3276 + } + ], + "wire_bits": 30 + }, + "rows": { + "coefficient": 852, + "contract": "W_complex^D_complex * W_bit^D_bit; one preceding prefix and padding; all temporary copies sequential", + "degree": 2000, + "degree_gap": "6548/25", + "suffix_slope": 8000 + }, + "semantic": { + "B": 9696565176891520488614054257040, + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": 1, + "E": 9696565176891520488192506033216, + "induction_gap": 533311084729033626873772984137200, + "literal_charge": 2771683137698171397039558468, + "strict_literal_gap": 9693793493753822316795466474748 + } + }, + "kappa": "1284209371/25000000000000", + "local_source_sha256": { + "scripts/experiments/balanced_coarse_compiler.py": "bd8169bf9f5df185a8aa4aec22234b4fd483000a1cecc78b71bf32e479af1499", + "scripts/experiments/balanced_coarse_compose.py": "7ad3a9ed17561caf36f474e2872a3187d4bf65d77de738945537cdca6f917049", + "scripts/experiments/binary_frame_compiler.py": "bc6910c8bbe8224285164323d3c06e9035ad3eaa55416abc2867ae0066454a0c", + "scripts/experiments/binary_frame_math.py": "1f96e8aafc8ae89f8eeec5d03800131d93d58e01bf8a7fca8feb03702d1740d0", + "scripts/experiments/binary_frame_profile_prepare.py": "8a50381cab00b33e62b3a057d199ba5e19647929135c95b0fd63fc8a8ef7c9b3", + "scripts/experiments/binary_frame_profiles.cpp": "8e2e391d3ee57cbb1372c68e4aa031e1b861321536eabd642ada54e12e678669", + "scripts/experiments/binary_frame_replay.py": "392e78e62d7685c99a5888a7da743ea6c3dcad631af4a743c91e0c09348442bc", + "scripts/experiments/verify_balanced_coarse.py": "1d0a6bff088ea6a33fbc3c34111dccb1bdfae468970d971b43db5dff367d4928" + }, + "sources": [ + { + "files": { + "research/copied-fixed/balanced_assembly.py": "4d27575dcad2b45a281a34054d311409ecd954f373c0c3a62c29bcc843f06a86", + "research/copied-fixed/certificate.json": "33b3373c04e18a7f4cee33ba68da6ed71934acc3e0179cca6197696be4befa22", + "research/copied-fixed/changed_graph.py": "375a7ca6cac6d153c1880fd5ea5b4525e5dca9d4ee3018d24d679c219b59c5b3", + "research/copied-fixed/profiles.cpp": "b9fbd71c746609948b60c441ba4601e88436956fe636d1810f270ce4ce6a63a6", + "research/copied-fixed/verify.py": "44932182ce6c4d39776650311262ef0ac1ea9b5da7220bc0f728e2789881f84a", + "scripts/exclusion_circuit.py": "b253f9d7318becda1c1f3b24e2287ed44a9c27fcea00cf9d531afb950d0457a0", + "scripts/partial_swap/binary_io.hpp": "7e143eb75bb342ac8f0c82a60005e7c35c9ec827de479bf6fb773151f3af5fa1", + "scripts/partial_swap/paired.py": "ddcecace3a8e04d690914cbd64873ab8dde8c0c3477a255767b0ed6f639bb0c7", + "scripts/partial_swap/shared.py": "81e9af92cdf38243a540cdcff2062778e449467848d444da37a9553c12ca4c34" + }, + "head": "b7194b8586844956904b33e9fe18f0c75606c11b", + "scope": "Unmodified producer inputs for experimental frame compiler; attribution retained in each file", + "source_pr": "https://github.com/CrocSwap/integer-mult-bounds/pull/48" + }, + { + "attribution": "PR62 graph: Avi Eisenberg / ikeboy with Anthropic Claude assistance. PR57 compiler: eumemic with OpenAI Codex assistance. PR60 priority: Chafik Boukhalfa with OpenAI Codex assistance. PR63 composition: Dominik Scholz with OpenAI Codex assistance. New coarse-column factoring and checks prepared with OpenAI Codex assistance. All inherited notices retained.", + "files": { + "../../../certificates/ranked-interval-kappa.json": "3ac44016c8cc8119cfef842708a4a8bf2a0588c738b2e02b24cc682c8667b40d", + "../../../scripts/experiments/balanced_coarse_compiler.py": "bd8169bf9f5df185a8aa4aec22234b4fd483000a1cecc78b71bf32e479af1499", + "../../../scripts/experiments/binary_frame_compiler.py": "bc6910c8bbe8224285164323d3c06e9035ad3eaa55416abc2867ae0066454a0c", + "../../../scripts/experiments/ranked_interval_compiler.py": "46cb34afa613c62adb33939af1f01299177599ba4e09e55c1db26bba3b6006ab" + }, + "scope": "Balanced coarse column-pair sums on pinned PR62 graph; rank-priority joint compilation", + "shared_dependency_manifest": "../pr62/SOURCE.json", + "shared_dependency_manifest_sha256": "4ef81f0fc7943d3ea8cfadd3e975dc707994c7ed4f0ec35d07470e772b35c998" + }, + { + "attribution": { + "compiler": "eumemic with OpenAI Codex assistance (#57)", + "composition": "Prepared with OpenAI Codex assistance", + "contemporaneous_composition": "The same composition is published in PR63 by Dominik Scholz with OpenAI GPT-6 Astra / Codex assistance; this local package is an independent reproduction with finer parameter rounding.", + "graph": "Avi Eisenberg / ikeboy with Anthropic Claude assistance (#62)", + "priority": "Chafik Boukhalfa with OpenAI Codex assistance (#60)" + }, + "commit": "ad0f25ff7b23cff7f08ad237c2254e6ecf74257e", + "files": { + "../../../scripts/experiments/binary_frame_compiler.py": "bc6910c8bbe8224285164323d3c06e9035ad3eaa55416abc2867ae0066454a0c", + "../../../scripts/experiments/ranked_interval_compiler.py": "46cb34afa613c62adb33939af1f01299177599ba4e09e55c1db26bba3b6006ab", + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE": "95d7dabb54a327216e007f1e0cf37dd2f138ab31527f2cc5ee0de55e87f274ca", + "comparison-pr62.json": "70bc8a24a5565b840a5aac845703819c89c83b8c607acae021f64cf296f10c6e", + "research/pair-assembly/pair_graph.py": "3d47e89d2649c90800a276bdd0480131def50e0bdf92c122a19494b55bf17420" + }, + "shared_dependency_manifest": "../pr48/SOURCE.json", + "shared_dependency_manifest_sha256": "6ccc673f88d3650d75ed600b082fe2fc2866dd88a172d182a38c1d0cd27d24b3", + "upstream": "https://github.com/CrocSwap/integer-mult-bounds/pull/62" + } + ], + "status": "Conditional exact fixed-basis moment and balanced assembly; inherited transfer hypotheses remain assumed" +} diff --git a/certificates/balanced-coarse-profiles-23.json b/certificates/balanced-coarse-profiles-23.json new file mode 100644 index 0000000000..cd81a6cc12 --- /dev/null +++ b/certificates/balanced-coarse-profiles-23.json @@ -0,0 +1,38 @@ +{ + "R": 27698, + "blocks": [ + 0, + 344005, + 16346, + 10466, + 5612, + 4064, + 3772, + 3615, + 2784, + 2242, + 1739, + 1702, + 1197, + 1057, + 674, + 625, + 324, + 192, + 122, + 45, + 65, + 23, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 5894, + "distinct_matrices": 35708, + "field_prime": 2305843009213693951, + "frames": 52475, + "h": 23, + "loss": 506, + "rank_sum": 637560, + "v": 1771 +} diff --git a/certificates/balanced-coarse-profiles-25.json b/certificates/balanced-coarse-profiles-25.json new file mode 100644 index 0000000000..bc88635af7 --- /dev/null +++ b/certificates/balanced-coarse-profiles-25.json @@ -0,0 +1,40 @@ +{ + "R": 36300, + "blocks": [ + 0, + 474570, + 24280, + 12135, + 6656, + 5580, + 5338, + 4870, + 3690, + 3161, + 2617, + 2627, + 1844, + 1652, + 1283, + 1127, + 654, + 604, + 348, + 222, + 101, + 55, + 66, + 25, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 7776, + "distinct_matrices": 49583, + "field_prime": 2305843009213693951, + "frames": 73697, + "h": 25, + "loss": 600, + "rank_sum": 908100, + "v": 2300 +} diff --git a/certificates/balanced-coarse-transitions-23.json b/certificates/balanced-coarse-transitions-23.json new file mode 100644 index 0000000000..194d6c9a94 --- /dev/null +++ b/certificates/balanced-coarse-transitions-23.json @@ -0,0 +1,33 @@ +{ + "R": 27698, + "copied_centers": 23, + "distinct_transitions": 137761, + "frames": 52475, + "h": 23, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 53100, + "10": 467, + "12": 511, + "14": 1958, + "15": 548, + "16": 532, + "17": 464, + "18": 4220, + "19": 7250, + "2": 80004, + "21": 440, + "22": 23, + "3": 10866, + "4": 9561, + "5": 7759, + "6": 2169, + "7": 250, + "8": 1107, + "9": 545 + }, + "rank_mass": 637560, + "singles": 15939, + "transition_events_equal_independent_xor_word_reconstruction": true, + "v": 1771, + "word_sha256": "60e45d49e144780f9319cb614f18180d99d6879434a0f03b4d94f6d766159d06" +} diff --git a/certificates/balanced-coarse-transitions-25.json b/certificates/balanced-coarse-transitions-25.json new file mode 100644 index 0000000000..3fe8d6f227 --- /dev/null +++ b/certificates/balanced-coarse-transitions-25.json @@ -0,0 +1,35 @@ +{ + "R": 36300, + "copied_centers": 25, + "distinct_transitions": 190719, + "frames": 73697, + "h": 25, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 68992, + "10": 528, + "12": 677, + "13": 2, + "14": 531, + "16": 3087, + "17": 851, + "18": 528, + "19": 372, + "2": 112456, + "20": 5436, + "21": 9594, + "23": 506, + "24": 25, + "3": 14076, + "4": 15113, + "5": 10330, + "6": 2178, + "7": 441, + "8": 1751, + "9": 664 + }, + "rank_mass": 908100, + "singles": 20700, + "transition_events_equal_independent_xor_word_reconstruction": true, + "v": 2300, + "word_sha256": "e4b0ac34c0d79090516c26dc15526f1d6b0e99e283716e5a4f6d33d5ca0c1d9d" +} diff --git a/certificates/balanced-coarse-validation.json b/certificates/balanced-coarse-validation.json new file mode 100644 index 0000000000..39219eb18f --- /dev/null +++ b/certificates/balanced-coarse-validation.json @@ -0,0 +1,228 @@ +{ + "axes": { + "23": { + "profile": { + "R": 27698, + "blocks": [ + 0, + 344005, + 16346, + 10466, + 5612, + 4064, + 3772, + 3615, + 2784, + 2242, + 1739, + 1702, + 1197, + 1057, + 674, + 625, + 324, + 192, + 122, + 45, + 65, + 23, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 5894, + "distinct_matrices": 35708, + "field_prime": 2305843009213693951, + "frames": 52475, + "h": 23, + "loss": 506, + "rank_sum": 637560, + "v": 1771 + }, + "replay": { + "elementary_xors": 149922, + "full_basis_vectors": 31240, + "h": 23, + "histogram": { + "0": 163524, + "1": 42474, + "2": 85317, + "3": 10866, + "4": 9561, + "5": 7759, + "6": 2169, + "7": 250, + "8": 1107, + "9": 545, + "10": 467, + "12": 511, + "14": 1958, + "15": 548, + "16": 532, + "17": 464, + "18": 4220, + "19": 7250, + "21": 440, + "22": 23 + }, + "output_roles": 5336, + "rank_mass": 637560, + "roles": 27698, + "status": "independent serialized word, exact frames, full input and dirty basis both orientations PASS", + "word_length": 624482 + }, + "transitions": { + "R": 27698, + "copied_centers": 23, + "distinct_transitions": 137761, + "frames": 52475, + "h": 23, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 53100, + "2": 80004, + "3": 10866, + "4": 9561, + "5": 7759, + "6": 2169, + "7": 250, + "8": 1107, + "9": 545, + "10": 467, + "12": 511, + "14": 1958, + "15": 548, + "16": 532, + "17": 464, + "18": 4220, + "19": 7250, + "21": 440, + "22": 23 + }, + "rank_mass": 637560, + "singles": 15939, + "transition_events_equal_independent_xor_word_reconstruction": true, + "v": 1771, + "word_sha256": "60e45d49e144780f9319cb614f18180d99d6879434a0f03b4d94f6d766159d06" + } + }, + "25": { + "profile": { + "R": 36300, + "blocks": [ + 0, + 474570, + 24280, + 12135, + 6656, + 5580, + 5338, + 4870, + 3690, + 3161, + 2617, + 2627, + 1844, + 1652, + 1283, + 1127, + 654, + 604, + 348, + 222, + 101, + 55, + 66, + 25, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 7776, + "distinct_matrices": 49583, + "field_prime": 2305843009213693951, + "frames": 73697, + "h": 25, + "loss": 600, + "rank_sum": 908100, + "v": 2300 + }, + "replay": { + "elementary_xors": 207715, + "full_basis_vectors": 40900, + "h": 25, + "histogram": { + "0": 226642, + "1": 55192, + "2": 119356, + "3": 14076, + "4": 15113, + "5": 10330, + "6": 2178, + "7": 441, + "8": 1751, + "9": 664, + "10": 528, + "12": 677, + "13": 2, + "14": 531, + "16": 3087, + "17": 851, + "18": 528, + "19": 372, + "20": 5436, + "21": 9594, + "23": 506, + "24": 25 + }, + "output_roles": 6925, + "rank_mass": 908100, + "roles": 36300, + "status": "independent serialized word, exact frames, full input and dirty basis both orientations PASS", + "word_length": 863060 + }, + "transitions": { + "R": 36300, + "copied_centers": 25, + "distinct_transitions": 190719, + "frames": 73697, + "h": 25, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 68992, + "2": 112456, + "3": 14076, + "4": 15113, + "5": 10330, + "6": 2178, + "7": 441, + "8": 1751, + "9": 664, + "10": 528, + "12": 677, + "13": 2, + "14": 531, + "16": 3087, + "17": 851, + "18": 528, + "19": 372, + "20": 5436, + "21": 9594, + "23": 506, + "24": 25 + }, + "rank_mass": 908100, + "singles": 20700, + "transition_events_equal_independent_xor_word_reconstruction": true, + "v": 2300, + "word_sha256": "e4b0ac34c0d79090516c26dc15526f1d6b0e99e283716e5a4f6d33d5ca0c1d9d" + } + } + }, + "bit_saving": "513710137/10000000000000", + "certificate_sha256": "bd6425c0b7f7cdb97ae5f8ac1962cf568e4b6a80f7e2a2c4dd1666b925f80201", + "kappa": "1284209371/25000000000000", + "margins": 7, + "scope": "Finite conditional witness; unchanged data geometry and general transfer proofs are inherited dependencies.", + "source_binding": "Source manifests, inherited manifest digest, compiler receipt source, both word digests, and all local compiler/verifier sources are bound by the exact composition certificate.", + "status": "PASS complete serialized-word replay, actual CRT profiles, exact recurrence and balanced assembly", + "strict_constraints": 47 +} diff --git a/certificates/balanced-coarse-word-23.json.gz b/certificates/balanced-coarse-word-23.json.gz new file mode 100644 index 0000000000..9709dfcb0d Binary files /dev/null and b/certificates/balanced-coarse-word-23.json.gz differ diff --git a/certificates/balanced-coarse-word-25.json.gz b/certificates/balanced-coarse-word-25.json.gz new file mode 100644 index 0000000000..0c78d36d3a Binary files /dev/null and b/certificates/balanced-coarse-word-25.json.gz differ diff --git a/certificates/joint-dual-kappa.json b/certificates/joint-dual-kappa.json index d92f653fe4..da5aac5e90 100644 --- a/certificates/joint-dual-kappa.json +++ b/certificates/joint-dual-kappa.json @@ -842,7 +842,7 @@ "scripts/experiments/pin_joint_dual_sources.py": "4d31cc0e38b7902709ca5f8f714cba109760d2592346dd7f8dc0b900a2d9fe00", "scripts/experiments/verify_joint_dual.py": "7a31bba1e9c0ded32ae285df2ca9bc91ef20c330f6789fdba361876f3c7a1985" }, - "source_manifest_sha256": "fd1aab7d75753b4b55b2377f26119dae74f367b0b4fab66cba42d944b3042cc9", + "source_manifest_sha256": "93c43eef2cf664f5f5cb2ee173d3f9be51dee0f2f204bfd2179e7c22c0593060", "sources": [ { "files": { diff --git a/certificates/joint-dual-validation.json b/certificates/joint-dual-validation.json index 99adb4cf74..0c3e879472 100644 --- a/certificates/joint-dual-validation.json +++ b/certificates/joint-dual-validation.json @@ -226,7 +226,7 @@ } }, "bit_saving": "2382370177/50000000000000", - "certificate_sha256": "2ed658f05365b28825e24a6e7bac9fc9cc015d5a5d63d9579f4ac6e0640ae559", + "certificate_sha256": "b8057e88dd1add5221a8d1153f2d51cf5be8cb81701066c25d17efb1dcc31aa8", "kappa": "4764513337/100000000000000", "margins": 7, "producer_words_regenerated_and_matched": true, diff --git a/certificates/ranked-interval-compiler.json b/certificates/ranked-interval-compiler.json new file mode 100644 index 0000000000..73253f3a08 --- /dev/null +++ b/certificates/ranked-interval-compiler.json @@ -0,0 +1,220 @@ +{ + "axes": { + "23": { + "compiled": { + "all_physical_frame_inclusions": true, + "baseline_pr48_roles": 36432, + "baseline_pr62_stacked_roles": 27918, + "complete_dirty_basis_both_orientations": true, + "dirty_basis_vectors": 31460, + "elementary_xors": 149172, + "h": 23, + "histogram": { + "0": 302093, + "1": 42694, + "10": 449, + "12": 464, + "13": 22, + "14": 2005, + "15": 544, + "16": 547, + "17": 368, + "18": 4220, + "19": 7820, + "2": 82741, + "21": 165, + "22": 23, + "3": 11086, + "4": 10683, + "5": 7757, + "6": 2005, + "7": 275, + "8": 1362, + "9": 525 + }, + "mode": { + "matching": true, + "reclaim": true + }, + "rank_mass": 642620, + "roles": 27918, + "scalar": { + "additions": 62294, + "all_additions_disjoint": true, + "all_partial_outputs_exact": true, + "circuit_sha256": "0607a53aa32d9d0e246dd168c7b6dc660e7c485852f3421bc1dc4b98739552cb", + "every_node_has_common_point": true, + "h": 23, + "inputs": 1771, + "merged_additions": 12870, + "partial_outputs": 5336, + "roles": 67630 + }, + "seconds": 35.30749988555908, + "stats": { + "augmentations": 220, + "clearing_xors": 1612, + "matched": 37025, + "multi_node_regions": 10350, + "reclaimed": 801, + "regions": 52473 + } + }, + "gzip_sha256": "a395388749e442c85bf410ab9810239b83c26c73b2601bbecd54353c9ddb3892", + "replay": { + "elementary_xors": 149172, + "full_basis_vectors": 31460, + "h": 23, + "histogram": { + "0": 162950, + "1": 42694, + "10": 449, + "12": 464, + "13": 22, + "14": 2005, + "15": 544, + "16": 547, + "17": 368, + "18": 4220, + "19": 7820, + "2": 82741, + "21": 165, + "22": 23, + "3": 11086, + "4": 10683, + "5": 7757, + "6": 2005, + "7": 275, + "8": 1362, + "9": 525 + }, + "output_roles": 5336, + "rank_mass": 642620, + "roles": 27918, + "status": "independent serialized word, exact frames, full input and dirty basis both orientations PASS", + "word_length": 621482 + }, + "word_sha256": "640696dd7cd893add9d6e12d0d587956fecf113b2eff8c29547b82e5a6f3c0ad" + }, + "25": { + "compiled": { + "all_physical_frame_inclusions": true, + "baseline_pr48_roles": 48329, + "baseline_pr62_stacked_roles": 36586, + "complete_dirty_basis_both_orientations": true, + "dirty_basis_vectors": 41186, + "elementary_xors": 205915, + "h": 25, + "histogram": { + "0": 416643, + "1": 55478, + "10": 529, + "12": 614, + "13": 24, + "14": 529, + "16": 3146, + "17": 854, + "18": 519, + "19": 396, + "2": 115797, + "20": 5436, + "21": 10148, + "23": 220, + "24": 25, + "3": 14362, + "4": 16835, + "5": 10237, + "6": 1767, + "7": 525, + "8": 2116, + "9": 642 + }, + "mode": { + "matching": true, + "reclaim": true + }, + "rank_mass": 915250, + "roles": 36586, + "scalar": { + "additions": 86595, + "all_additions_disjoint": true, + "all_partial_outputs_exact": true, + "circuit_sha256": "605e6786ba7af4a89f559b17dfc623471a1d912a477bdb9f2c938d3472ee0bd8", + "every_node_has_common_point": true, + "h": 25, + "inputs": 2300, + "merged_additions": 18480, + "partial_outputs": 6925, + "roles": 93520 + }, + "seconds": 69.83340811729431, + "stats": { + "augmentations": 286, + "clearing_xors": 2092, + "matched": 53194, + "multi_node_regions": 13975, + "reclaimed": 1090, + "regions": 73695 + } + }, + "gzip_sha256": "605e1415fe6c0dea893585f46aecbdf7595346c252cb01c543664ef02e4db068", + "replay": { + "elementary_xors": 205915, + "full_basis_vectors": 41186, + "h": 25, + "histogram": { + "0": 224367, + "1": 55478, + "10": 529, + "12": 614, + "13": 24, + "14": 529, + "16": 3146, + "17": 854, + "18": 519, + "19": 396, + "2": 115797, + "20": 5436, + "21": 10148, + "23": 220, + "24": 25, + "3": 14362, + "4": 16835, + "5": 10237, + "6": 1767, + "7": 525, + "8": 2116, + "9": 642 + }, + "output_roles": 6925, + "rank_mass": 915250, + "roles": 36586, + "status": "independent serialized word, exact frames, full input and dirty basis both orientations PASS", + "word_length": 855860 + }, + "word_sha256": "7a827318eff45db1183d66e80d38ddbd4ce321bbc033d2effb7afa438d6b63a9" + } + }, + "source": { + "attribution": { + "compiler": "eumemic with OpenAI Codex assistance (#57)", + "composition": "Prepared with OpenAI Codex assistance", + "contemporaneous_composition": "The same composition is published in PR63 by Dominik Scholz with OpenAI GPT-6 Astra / Codex assistance; this local package is an independent reproduction with finer parameter rounding.", + "graph": "Avi Eisenberg / ikeboy with Anthropic Claude assistance (#62)", + "priority": "Chafik Boukhalfa with OpenAI Codex assistance (#60)" + }, + "commit": "ad0f25ff7b23cff7f08ad237c2254e6ecf74257e", + "files": { + "../../../scripts/experiments/binary_frame_compiler.py": "bc6910c8bbe8224285164323d3c06e9035ad3eaa55416abc2867ae0066454a0c", + "../../../scripts/experiments/ranked_interval_compiler.py": "46cb34afa613c62adb33939af1f01299177599ba4e09e55c1db26bba3b6006ab", + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE": "95d7dabb54a327216e007f1e0cf37dd2f138ab31527f2cc5ee0de55e87f274ca", + "comparison-pr62.json": "70bc8a24a5565b840a5aac845703819c89c83b8c607acae021f64cf296f10c6e", + "research/pair-assembly/pair_graph.py": "3d47e89d2649c90800a276bdd0480131def50e0bdf92c122a19494b55bf17420" + }, + "shared_dependency_manifest": "../pr48/SOURCE.json", + "shared_dependency_manifest_sha256": "6ccc673f88d3650d75ed600b082fe2fc2866dd88a172d182a38c1d0cd27d24b3", + "upstream": "https://github.com/CrocSwap/integer-mult-bounds/pull/62" + }, + "status": "Independent reproduction of PR62 graph with PR60 rank policy and PR57 joint compiler; same physical mechanism also published in PR63" +} diff --git a/certificates/ranked-interval-kappa.json b/certificates/ranked-interval-kappa.json new file mode 100644 index 0000000000..5d76888bc6 --- /dev/null +++ b/certificates/ranked-interval-kappa.json @@ -0,0 +1,874 @@ +{ + "assembly": { + "absorption_gap": "791286199958904670704119/62503189386737493621226525000000000000", + "constraints": { + "K_dominates_log": "127575470124617273590875255150939/2500127575469499744849061000000000000", + "K_geometry": "1875127575470124744849061/2500127575469499744849061000000000000", + "a_below_b": "103349061/5000000000000", + "a_positive": "255150939/5000000000000", + "alpha_below_one": "4999999999997500127575469499744849061/5000255150938999489698122000000000000", + "alpha_below_one_fourth": "1249808636793250510301877999744849061/5000255150938999489698122000000000000", + "alpha_positive": "255150941499362122652500255150939/5000255150938999489698122000000000000", + "artificial_boundary": "140008164830075484053066312499234547183/20001020603755997958792488000000000000", + "b_below_one_over32": "311783/10000000", + "beta_below_one": "19/20", + "beta_positive": "1/20", + "c_below_one": "2499872424529875255150939/2500000000000000000000000", + "c_positive": "127575470124744849061/2500000000000000000000000", + "cell_above_band": "4999999999992499872424530500255150939/10000510301877998979396244000000000000", + "compact_leaf": "42712030500255150939/2500000000000000000000000", + "compact_reservations": "1/4000000000000", + "delta_below_one_eighth": "999999999999/8000000000000", + "delta_positive": "1/8000000000000", + "epsilon_below_one": "127575471999744849061/2500127575469499744849061", + "epsilon_positive": "2499999999997500000000000/2500127575469499744849061", + "g1_above_kappa": "15823618896674099572982661/15625797346684373405306631250000000000", + "g2_above_kappa": "65099/25000000000000", + "g3_above_kappa": "791286199958904670704119/62503189386737493621226525000000000000", + "g4_above_kappa": "65099/25000000000000", + "g5_above_kappa": "193839857759883718229312527/500025515093899948969812200000000000000", + "g6_above_kappa": "443852615306833692714218627/500025515093899948969812200000000000000", + "g7_above_kappa": "15624202653300200213590042849572982661/15625797346684373405306631250000000000", + "gamma_sublinear": "1/2000000000000", + "guard_width": "127575471999744849061/2500127575469499744849061", + "lambda_above_internal": "255150939/5000000000000000000000000", + "lambda_above_sigma": "103349061000255150939/5000000000000000000000000", + "lambda_above_tau": "255150939/5000000000000000000000000", + "lambda_prime_above_lambda": "255150939/5000000000000000000000000", + "lambda_prime_below_one": "127575469499744849061/2500000000000000000000000", + "literal_scalar_guard": "9693793493753822316795466474748", + "phase_boundary": "204120752699464183028100255150939/4000204120751199591758497600000000000", + "phase_leaf_above_bit": "85424061/5000000000000", + "phase_local": "1020603773497831217018500255150939/20001020603755997958792488000000000000", + "prime_interval_packing": "127575471999744849061/2500127575469499744849061", + "q_below_internal": "255150939/2500000000000000000000000", + "q_below_leaf": "42712030500255150939/2500000000000000000000000", + "q_below_reservations": "1/4000000000000", + "q_positive": "127575469499744849061/2500000000000000000000000", + "record_suffix": "127575471999744849061/2500127575469499744849061", + "row_product_gap": "6548/25", + "short_record_fallback": "12499362090088999163774241501672581721/12500637877347498724245305000000000000", + "small_field_exposure": "1/1000000000000" + }, + "finite_bridge": { + "bit": { + "W": 137151806, + "halving_degree": 9, + "m": 575, + "maxchild": 529, + "wire_bits": 28 + }, + "complex": { + "W": 537696432, + "halving_degree": 20, + "m": 784, + "maxchild": 756, + "s": 421548223824, + "scalar_group_upper": 4793351472, + "wire_bits": 30 + }, + "rows": { + "coefficient": 852, + "degree": 2000, + "degree_gap": "6548/25", + "suffix_slope": 8000 + }, + "semantic": { + "B": 9696565176891520488614054257040, + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": 1, + "E": 9696565176891520488192506033216, + "induction_gap": 533311084729033626873772984137200, + "literal_charge": 2771683137698171397039558468, + "strict_literal_gap": 9693793493753822316795466474748 + } + }, + "margins": { + "g1": "127575471999744849061/2500127575469499744849061", + "g2": "255150939/5000000000000", + "g3": "127575469499617273591500255150939/2500127575469499744849061000000000000", + "g4": "255150939/5000000000000", + "g5": "204120752699464183028100255150939/4000204120751199591758497600000000000", + "g6": "1020603773497831217018500255150939/20001020603755997958792488000000000000", + "g7": "2499999999997500000000000/2500127575469499744849061" + }, + "minimum_margin": "127575469499617273591500255150939/2500127575469499744849061000000000000", + "parameters": { + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": "1", + "a_bit": "255150939/5000000000000", + "a_complex": "717/10000000", + "alpha_squared_power": "255150941499362122652500255150939/5000255150938999489698122000000000000", + "beta": "1/20", + "c": "127575470124744849061/2500000000000000000000000", + "delta": "1/8000000000000", + "epsilon": "2499999999997500000000000/2500127575469499744849061", + "h": "1/1000000000000", + "kappa": "318922399/6250000000000", + "lambda_": "4999744849061000255150939/5000000000000000000000000", + "lambda_prime": "2499872424530500255150939/2500000000000000000000000", + "q": "127575469499744849061/2500000000000000000000000", + "sigma": "9999283/10000000", + "tau": "4999744849061/5000000000000" + }, + "recurrence": { + "internal": "4999744849061/5000000000000", + "leaf": "199986377/200000000", + "reservations": "2499872424529875255150939/2500000000000000000000000" + }, + "scoped_limit": "255150939/5000255150939" + }, + "bit": { + "L": 2226400, + "N": 4073300, + "W": 137151806, + "axes": [ + { + "R": 27918, + "blocks": [ + 0, + 343922, + 16866, + 10526, + 5756, + 4155, + 3904, + 3650, + 2861, + 2284, + 1800, + 1716, + 1263, + 1077, + 710, + 590, + 352, + 193, + 114, + 0, + 45, + 23, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 6049, + "distinct_matrices": 36378, + "field_prime": 2305843009213693951, + "frames": 52475, + "h": 23, + "loss": 506, + "rank_sum": 642620, + "v": 1771 + }, + { + "R": 36586, + "blocks": [ + 0, + 474727, + 25146, + 12129, + 6776, + 5700, + 5502, + 4919, + 3780, + 3213, + 2699, + 2650, + 1907, + 1665, + 1346, + 1126, + 698, + 585, + 371, + 181, + 111, + 0, + 55, + 25, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 8127, + "distinct_matrices": 50419, + "field_prime": 2305843009213693951, + "frames": 73697, + "h": 25, + "loss": 600, + "rank_sum": 915250, + "v": 2300 + } + ], + "child_multiplicities": { + "1": 1725448017, + "10": 8919929, + "11": 8639950, + "12": 6282197, + "13": 5425815, + "14": 4016766, + "15": 3351146, + "16": 2045758, + "17": 9626535, + "18": 919241, + "19": 320551, + "2": 83325366, + "20": 300081, + "21": 16346100, + "22": 97405, + "23": 72402275, + "25": 64793806, + "3": 45690259, + "4": 25239096, + "481": 8146600, + "5": 19651200, + "525": 64793806, + "529": 64211400, + "6": 18723242, + "7": 17106549, + "8": 13274680, + "9": 10943423 + }, + "deficit": 1846900, + "excluded_above_lower": "685759030000028487002001799634971018976635524697541708756732038523328473243572831581858189075840350347370820161427100867513928087481737889/685759030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "m": 575, + "maxchild": 529, + "moment": { + "exponent": "4999744849061/5000000000000", + "logarithms": { + "1": { + "lower": "3177185020398675220004135749131/500000000000000000000000000000", + "upper": "6354370040797350440008271498263/1000000000000000000000000000000" + }, + "10": { + "lower": "2025892473901652377995140021789/500000000000000000000000000000", + "upper": "4051784947803304755990280043579/1000000000000000000000000000000" + }, + "11": { + "lower": "3956474767998979895946327920297/1000000000000000000000000000000", + "upper": "1978237383999489947973163960149/500000000000000000000000000000" + }, + "12": { + "lower": "3869463391009350129778562018423/1000000000000000000000000000000", + "upper": "483682923876168766222320252303/125000000000000000000000000000" + }, + "13": { + "lower": "3789420683335813703954784056697/1000000000000000000000000000000", + "upper": "1894710341667906851977392028349/500000000000000000000000000000" + }, + "14": { + "lower": "3715312711182091825485686633361/1000000000000000000000000000000", + "upper": "1857656355591045912742843316681/500000000000000000000000000000" + }, + "15": { + "lower": "3646319839695140374012266928113/1000000000000000000000000000000", + "upper": "1823159919847570187006133464057/500000000000000000000000000000" + }, + "16": { + "lower": "3581781318557569202339343012429/1000000000000000000000000000000", + "upper": "358178131855756920233934301243/100000000000000000000000000000" + }, + "17": { + "lower": "3521156696741134359758736880389/1000000000000000000000000000000", + "upper": "352115669674113435975873688039/100000000000000000000000000000" + }, + "18": { + "lower": "3463998282901185747800548902959/1000000000000000000000000000000", + "upper": "43299978536264821847506861287/12500000000000000000000000000" + }, + "19": { + "lower": "1704965530815454989999622033187/500000000000000000000000000000", + "upper": "27279448493047279839993952531/8000000000000000000000000000" + }, + "2": { + "lower": "1415305715059351282647759844201/250000000000000000000000000000", + "upper": "1132244572047481026118207875361/200000000000000000000000000000" + }, + "20": { + "lower": "83965944181083986164326198053/25000000000000000000000000000", + "upper": "3358637767243359446573047922121/1000000000000000000000000000000" + }, + "21": { + "lower": "413730950384240930438459189737/125000000000000000000000000000", + "upper": "3309847603073927443507673517897/1000000000000000000000000000000" + }, + "22": { + "lower": "3263327587439034586529095798839/1000000000000000000000000000000", + "upper": "81583189685975864663227394971/25000000000000000000000000000" + }, + "23": { + "lower": "804718956217050187300379666613/250000000000000000000000000000", + "upper": "3218875824868200749201518666453/1000000000000000000000000000000" + }, + "25": { + "lower": "313549421592914969080675283181/100000000000000000000000000000", + "upper": "3135494215929149690806752831811/1000000000000000000000000000000" + }, + "3": { + "lower": "262787887606462037430651313067/50000000000000000000000000000", + "upper": "5255757752129240748613026261341/1000000000000000000000000000000" + }, + "4": { + "lower": "2484037839838729910586903627673/500000000000000000000000000000", + "upper": "4968075679677459821173807255347/1000000000000000000000000000000" + }, + "481": { + "lower": "35700554138317851917337677133/200000000000000000000000000000", + "upper": "89251385345794629793344192833/500000000000000000000000000000" + }, + "5": { + "lower": "1186233032090812516351878041259/250000000000000000000000000000", + "upper": "4744932128363250065407512165037/1000000000000000000000000000000" + }, + "525": { + "lower": "22742944551431673576538712861/250000000000000000000000000000", + "upper": "18194355641145338861230970289/200000000000000000000000000000" + }, + "529": { + "lower": "41690804469525529197382917321/500000000000000000000000000000", + "upper": "83381608939051058394765834643/1000000000000000000000000000000" + }, + "6": { + "lower": "4562610571569295439195794139881/1000000000000000000000000000000", + "upper": "2281305285784647719597897069941/500000000000000000000000000000" + }, + "7": { + "lower": "4408459891742037134902918754819/1000000000000000000000000000000", + "upper": "220422994587101856745145937741/50000000000000000000000000000" + }, + "8": { + "lower": "66795757798711164246196486467/15625000000000000000000000000", + "upper": "4274928499117514511756575133889/1000000000000000000000000000000" + }, + "9": { + "lower": "4157145463461131057217781024417/1000000000000000000000000000000", + "upper": "2078572731730565528608890512209/500000000000000000000000000000" + } + }, + "lower": "708428749999931883330192868555950929537406814841393806814933425467524703979450515838836153707905753328327220490038213315976158138551331/708428750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "saving": "255150939/5000000000000", + "strict_gap": "182388825719386609068850914986814558984945678938559695866669619417657492654119228423423833331747230964643817234875954692232419086338065333742015867578234540079102359831761516934903657249087645993951376493743600273835301118898048261581960499724147138573879909643254843536253094467503729605224098441477565337220279441414618955668449598835816994902399790541528550342310728543294937071684344266581295925900052129913398058452657945564661996268250044920136129179631858061383897337549437939322332836779163572079451019113732308315942084735240296474007478233109044695766317288637598734563800729090838222527374632427451311368116409770922565326855053340843551696904038780815146213230113542567571358197451628108046570898624960952394209178152239228343311759622046391269039460293048252333503038169631409634408858289348467257375673090368132327321456020743115462438969639366052113704490468790298214548340382411249981704821341447277557681276953386372218722947041251788929016779907398483133796617370841531445972061006230916970543462681198254834246598759934483063336791363542771758720321414619694902042276158300461755341225299920355600489113506255084341626538848408398901423401/1897249683369110197982798801584228637507159908246778525003069656195009413131153796259957120889177733962207754018631475376498926223011277559028569285688262951055084825003810428536539126503889864990698160466400914396374401852007695078958848310751332307810746735962464098717349552745261510496364960002755949712910819824799195614043426990490412758799530601250271772847432187150325894340851654767358139260098399514888335601832723711579891194712821656385212208761977332513672048102632807939645661007887347125172707702909147130059656918352444057769706776700673108522127976284503460258775153854335631554713733827802318465322881144172942591619299596893202178193083541293488597674610929025417179841973479551435321943766377616187862832094359596182454896924921446679073789577765011467368478040309984961369505388422612705663683136743159730250799417072632296931982833479161894942722882755912001306245143578559840421483300276427436546601051426347361740577877471987985813727156341945571129227213833160793567634222044565714985800005243057144421816957800551681474080298234778758445617989670111683704558924395198411165969239766570670131045458255325000000000000000000000000000000000000000000", + "upper": "1897249683368927809157079414975159786592173093687793579324131096499142743511736138767303001660754310128876006787666831559264050268319045139942231220354520935187506590463731326176707364986954961333449072820406963019880658251733859777839950262489750347311022588823890218807706297901725257401897456273150725614469342259461975334602012371534744309200694784255369373056890658599983583612308359830286454915831818218962435549702810313521438536767256994388943958717057196384492416244571424042308111569948024792335928539337067679040543186044128115684971536404199101043894867239807693941486516255601067753984642989579791090690453692861574475209528674327875323139742697741791693635830113879203949728430911980077124492138269569616964207133407201973276744685693103367314167531373742427908184992057651458331335757012978296805393788275902354577709048940304975475962090363699455973083516703798296815776353280345292081100889026445731725259604148789680463624491099769262866685904553016554349319815350026996950263380513119742924793774326086600959135759545717434875320363751715421654254446898352963383144304700296368889810939304815328905745537899724510886493744915658373461151591601098576599/1897249683369110197982798801584228637507159908246778525003069656195009413131153796259957120889177733962207754018631475376498926223011277559028569285688262951055084825003810428536539126503889864990698160466400914396374401852007695078958848310751332307810746735962464098717349552745261510496364960002755949712910819824799195614043426990490412758799530601250271772847432187150325894340851654767358139260098399514888335601832723711579891194712821656385212208761977332513672048102632807939645661007887347125172707702909147130059656918352444057769706776700673108522127976284503460258775153854335631554713733827802318465322881144172942591619299596893202178193083541293488597674610929025417179841973479551435321943766377616187862832094359596182454896924921446679073789577765011467368478040309984961369505388422612705663683136743159730250799417072632296931982833479161894942722882755912001306245143578559840421483300276427436546601051426347361740577877471987985813727156341945571129227213833160793567634222044565714985800005243057144421816957800551681474080298234778758445617989670111683704558924395198411165969239766570670131045458255325000000000000000000000000000000000000000000" + }, + "parts": { + "data": { + "1": 73319400, + "17": 8146600, + "21": 8146600, + "481": 8146600 + }, + "data_growth_23": { + "1": 8146600, + "21": 8146600 + }, + "data_growth_25": { + "1": 8146600, + "23": 8146600 + }, + "exterior_23": { + "23": 64211400, + "529": 64211400 + }, + "exterior_25": { + "25": 64793806, + "525": 64793806 + }, + "internal_23": { + "1": 791020600, + "10": 4140000, + "11": 3946800, + "12": 2904900, + "13": 2477100, + "14": 1633000, + "15": 1357000, + "16": 809600, + "17": 443900, + "18": 262200, + "2": 38791800, + "20": 103500, + "21": 52900, + "3": 24209800, + "4": 13238800, + "5": 9556500, + "6": 8979200, + "7": 8395000, + "8": 6580300, + "9": 5253200 + }, + "internal_25": { + "1": 840741517, + "10": 4779929, + "11": 4693150, + "12": 3377297, + "13": 2948715, + "14": 2383766, + "15": 1994146, + "16": 1236158, + "17": 1036035, + "18": 657041, + "19": 320551, + "2": 44533566, + "20": 196581, + "22": 97405, + "23": 44275, + "3": 21480459, + "4": 12000296, + "5": 10094700, + "6": 9744042, + "7": 8711549, + "8": 6694380, + "9": 5690223 + }, + "paid_endpoint_copy": { + "1": 4073300 + } + }, + "total_rank": 78860441550, + "words": [ + { + "R": 27918, + "copied_centers": 23, + "distinct_transitions": 138003, + "frames": 52475, + "h": 23, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 53320, + "10": 449, + "12": 464, + "13": 22, + "14": 2005, + "15": 544, + "16": 547, + "17": 368, + "18": 4220, + "19": 7820, + "2": 77428, + "21": 165, + "22": 23, + "3": 11086, + "4": 10683, + "5": 7757, + "6": 2005, + "7": 275, + "8": 1362, + "9": 525 + }, + "rank_mass": 642620, + "singles": 15939, + "transition_events_equal_independent_xor_word_reconstruction": true, + "v": 1771, + "word_sha256": "640696dd7cd893add9d6e12d0d587956fecf113b2eff8c29547b82e5a6f3c0ad" + }, + { + "R": 36586, + "copied_centers": 25, + "distinct_transitions": 190879, + "frames": 73697, + "h": 25, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 69278, + "10": 529, + "12": 614, + "13": 24, + "14": 529, + "16": 3146, + "17": 854, + "18": 519, + "19": 396, + "2": 108897, + "20": 5436, + "21": 10148, + "23": 220, + "24": 25, + "3": 14362, + "4": 16835, + "5": 10237, + "6": 1767, + "7": 525, + "8": 2116, + "9": 642 + }, + "rank_mass": 915250, + "singles": 20700, + "transition_events_equal_independent_xor_word_reconstruction": true, + "v": 2300, + "word_sha256": "7a827318eff45db1183d66e80d38ddbd4ce321bbc033d2effb7afa438d6b63a9" + } + ] + }, + "bit_saving": "255150939/5000000000000", + "bit_saving_excluded_above": "510301881/10000000000000", + "comparison": { + "next_dyadic_reached": false, + "pr48_kappa": "411862541/10000000000000", + "pr61_comparison_scope": "Reported PR61 value; its complete source witness was not independently replayed here", + "pr61_reported_kappa": "25508460085039/500000000000000000", + "pr62_stacked_kappa": "5101691/100000000000", + "pr63_comparison_scope": "Contemporaneous PR63 by Dominik Scholz reports the same graph/compiler/priority composition. This local witness uses finer exact rounding and does not claim a new mechanism; PR63 source was not independently replayed here.", + "pr63_reported_kappa": "5102757/100000000000", + "ratio_pr61_reported": "25513791920000/25508460085039", + "ratio_pr62_stacked": "637844798/637711375", + "ratio_pr63_reported": "637844798/637844625" + }, + "dependencies": { + "data_profile": "Unchanged inherited all-pairs data profile: 9 singletons +21+17+481; ten exact rational recoveries", + "geometry": "Unchanged fixed-I+J original-envelope projector and CRT formulas", + "producer": "PR62 cyclic interval graph (Avi Eisenberg / ikeboy with Anthropic Claude assistance), PR57 joint frame compiler (eumemic with OpenAI Codex assistance), and PR60 descending-rank reclamation priority (Chafik Boukhalfa with OpenAI Codex assistance); complete serialized physical words", + "proof_scope": "Ordered affine residual compiler, fixed-tape recursion, finite scalar overhead, balanced transfer, analytic/routing/recovery interfaces remain inherited." + }, + "eventual_bounds": { + "additional_eventual_conditions": [ + "BHP prime threshold and distinct-prime packing", + "Fixed rational basis, eligible common prime and native table setup", + "Catalogue/descriptor domination, logarithm absorption, exact recovery" + ], + "all_interval_argument": "For [Z,Z+k), bound RHS at Z+k and LHS at floor(Z/k). Successive intervals double LHS; the positive affine RHS grows at most linearly, so 2^j >= j+1 proves persistence.", + "common_cutoff": 14000000000000, + "cutoff_log2_input": { + "alpha": 6145305665, + "compact": 24581222657, + "geometry": 3999931964378, + "guard": 4350589, + "log_p": 25, + "normalization": 14000000000000, + "period": 49162445313, + "phase_cell": 19, + "reservoir": 14, + "stopped_leaf": 252 + }, + "power_checkpoints": [ + { + "log2_input": 14000000000000, + "powers": { + "alpha": { + "exponent": 714358608, + "rhs": 112000000156848, + "rhs_bits": 47 + }, + "compact": { + "exponent": 714358608, + "rhs": 448000000627328, + "rhs_bits": 49 + }, + "leaf": { + "exponent": 666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 714358608, + "rhs": 224000000313624, + "rhs_bits": 48 + }, + "rows": { + "exponent": 714358608, + "rhs": 112000000156848000, + "rhs_bits": 57 + } + } + }, + { + "log2_input": 28000000000000, + "powers": { + "alpha": { + "exponent": 1428717216, + "rhs": 224000000156848, + "rhs_bits": 48 + }, + "compact": { + "exponent": 1428717216, + "rhs": 896000000627328, + "rhs_bits": 50 + }, + "leaf": { + "exponent": 1333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 1428717216, + "rhs": 448000000313624, + "rhs_bits": 49 + }, + "rows": { + "exponent": 1428717216, + "rhs": 224000000156848000, + "rhs_bits": 58 + } + } + }, + { + "log2_input": 56000000000000, + "powers": { + "alpha": { + "exponent": 2857434432, + "rhs": 448000000156848, + "rhs_bits": 49 + }, + "compact": { + "exponent": 2857434432, + "rhs": 1792000000627328, + "rhs_bits": 51 + }, + "leaf": { + "exponent": 2666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 2857434432, + "rhs": 896000000313624, + "rhs_bits": 50 + }, + "rows": { + "exponent": 2857434432, + "rhs": 448000000156848000, + "rhs_bits": 59 + } + } + }, + { + "log2_input": 112000000000000, + "powers": { + "alpha": { + "exponent": 5714868864, + "rhs": 896000000156848, + "rhs_bits": 50 + }, + "compact": { + "exponent": 5714868864, + "rhs": 3584000000627328, + "rhs_bits": 52 + }, + "leaf": { + "exponent": 5333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 5714868864, + "rhs": 1792000000313624, + "rhs_bits": 51 + }, + "rows": { + "exponent": 5714868864, + "rhs": 896000000156848000, + "rhs_bits": 60 + } + } + }, + { + "log2_input": 224000000000000, + "powers": { + "alpha": { + "exponent": 11429737728, + "rhs": 1792000000156848, + "rhs_bits": 51 + }, + "compact": { + "exponent": 11429737728, + "rhs": 7168000000627328, + "rhs_bits": 53 + }, + "leaf": { + "exponent": 10666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 11429737728, + "rhs": 3584000000313624, + "rhs_bits": 52 + }, + "rows": { + "exponent": 11429737728, + "rhs": 1792000000156848000, + "rhs_bits": 61 + } + } + }, + { + "log2_input": 448000000000000, + "powers": { + "alpha": { + "exponent": 22859475456, + "rhs": 3584000000156848, + "rhs_bits": 52 + }, + "compact": { + "exponent": 22859475456, + "rhs": 14336000000627328, + "rhs_bits": 54 + }, + "leaf": { + "exponent": 21333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 22859475456, + "rhs": 7168000000313624, + "rhs_bits": 53 + }, + "rows": { + "exponent": 22859475456, + "rhs": 3584000000156848000, + "rhs_bits": 62 + } + } + } + ], + "practical_runtime_claim": false + }, + "exactness": [ + { + "common_denominator_bound": 34848, + "correction_numerator_bound": 274032, + "h": 23, + "minor_bounds": { + "2": 38218181861376, + "3": 219993996697351151616, + "4": 1206074983422622280129445888 + }, + "modulus_gaps": { + "2": 2305804791031832575, + "3": 2596143476298113163849933497114623, + "4": 2596142270223349735224350718820351 + }, + "prime_product": 2596143476298333157846630848266239, + "primes": [ + 2305843009213693951, + 2147483647, + 524287 + ], + "single_numerator_bound": 6228 + }, + { + "common_denominator_bound": 44928, + "correction_numerator_bound": 353568, + "h": 25, + "minor_bounds": { + "2": 75405344477184, + "3": 613343016893987684352, + "4": 4772090401825349199521120256 + }, + "modulus_gaps": { + "2": 2305767603869216767, + "3": 2596143476297719814829736860581887, + "4": 2596138704207931332497431327145983 + }, + "prime_product": 2596143476298333157846630848266239, + "primes": [ + 2305843009213693951, + 2147483647, + 524287 + ], + "single_numerator_bound": 7366 + } + ], + "finite_bridge": { + "bit": { + "W": 137151806, + "halving_degree": 9, + "m": 575, + "maxchild": 529, + "wire_bits": 28 + }, + "complex": { + "W": 537696432, + "halving_degree": 20, + "m": 784, + "maxchild": 756, + "s": 421548223824, + "scalar_group_upper": 4793351472, + "scalar_terms": [ + { + "c": 78437, + "copied_center_extra_groups": 56, + "h": 28, + "invocations": 3276, + "local_group_upper": 729892, + "v": 3276 + }, + { + "c": 78437, + "copied_center_extra_groups": 56, + "h": 28, + "invocations": 3276, + "local_group_upper": 729892, + "v": 3276 + } + ], + "wire_bits": 30 + }, + "rows": { + "coefficient": 852, + "contract": "W_complex^D_complex * W_bit^D_bit; one preceding prefix and padding; all temporary copies sequential", + "degree": 2000, + "degree_gap": "6548/25", + "suffix_slope": 8000 + }, + "semantic": { + "B": 9696565176891520488614054257040, + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": 1, + "E": 9696565176891520488192506033216, + "induction_gap": 533311084729033626873772984137200, + "literal_charge": 2771683137698171397039558468, + "strict_literal_gap": 9693793493753822316795466474748 + } + }, + "kappa": "318922399/6250000000000", + "local_source_sha256": { + "scripts/experiments/binary_frame_compiler.py": "bc6910c8bbe8224285164323d3c06e9035ad3eaa55416abc2867ae0066454a0c", + "scripts/experiments/binary_frame_math.py": "1f96e8aafc8ae89f8eeec5d03800131d93d58e01bf8a7fca8feb03702d1740d0", + "scripts/experiments/binary_frame_profile_prepare.py": "8a50381cab00b33e62b3a057d199ba5e19647929135c95b0fd63fc8a8ef7c9b3", + "scripts/experiments/binary_frame_profiles.cpp": "8e2e391d3ee57cbb1372c68e4aa031e1b861321536eabd642ada54e12e678669", + "scripts/experiments/binary_frame_replay.py": "392e78e62d7685c99a5888a7da743ea6c3dcad631af4a743c91e0c09348442bc", + "scripts/experiments/ranked_interval_compiler.py": "46cb34afa613c62adb33939af1f01299177599ba4e09e55c1db26bba3b6006ab", + "scripts/experiments/ranked_interval_compose.py": "37eecbfca2810a3ee9e313a65318155a43fff1d511b54cc843e81847e4168bce", + "scripts/experiments/verify_ranked_interval.py": "af669e9238c0e33504ea9c2a4a8567748ee035d169207d36d5d09f5c3fc90a4f" + }, + "sources": [ + { + "files": { + "research/copied-fixed/balanced_assembly.py": "4d27575dcad2b45a281a34054d311409ecd954f373c0c3a62c29bcc843f06a86", + "research/copied-fixed/certificate.json": "33b3373c04e18a7f4cee33ba68da6ed71934acc3e0179cca6197696be4befa22", + "research/copied-fixed/changed_graph.py": "375a7ca6cac6d153c1880fd5ea5b4525e5dca9d4ee3018d24d679c219b59c5b3", + "research/copied-fixed/profiles.cpp": "b9fbd71c746609948b60c441ba4601e88436956fe636d1810f270ce4ce6a63a6", + "research/copied-fixed/verify.py": "44932182ce6c4d39776650311262ef0ac1ea9b5da7220bc0f728e2789881f84a", + "scripts/exclusion_circuit.py": "b253f9d7318becda1c1f3b24e2287ed44a9c27fcea00cf9d531afb950d0457a0", + "scripts/partial_swap/binary_io.hpp": "7e143eb75bb342ac8f0c82a60005e7c35c9ec827de479bf6fb773151f3af5fa1", + "scripts/partial_swap/paired.py": "ddcecace3a8e04d690914cbd64873ab8dde8c0c3477a255767b0ed6f639bb0c7", + "scripts/partial_swap/shared.py": "81e9af92cdf38243a540cdcff2062778e449467848d444da37a9553c12ca4c34" + }, + "head": "b7194b8586844956904b33e9fe18f0c75606c11b", + "scope": "Unmodified producer inputs for experimental frame compiler; attribution retained in each file", + "source_pr": "https://github.com/CrocSwap/integer-mult-bounds/pull/48" + }, + { + "attribution": { + "compiler": "eumemic with OpenAI Codex assistance (#57)", + "composition": "Prepared with OpenAI Codex assistance", + "contemporaneous_composition": "The same composition is published in PR63 by Dominik Scholz with OpenAI GPT-6 Astra / Codex assistance; this local package is an independent reproduction with finer parameter rounding.", + "graph": "Avi Eisenberg / ikeboy with Anthropic Claude assistance (#62)", + "priority": "Chafik Boukhalfa with OpenAI Codex assistance (#60)" + }, + "commit": "ad0f25ff7b23cff7f08ad237c2254e6ecf74257e", + "files": { + "../../../scripts/experiments/binary_frame_compiler.py": "bc6910c8bbe8224285164323d3c06e9035ad3eaa55416abc2867ae0066454a0c", + "../../../scripts/experiments/ranked_interval_compiler.py": "46cb34afa613c62adb33939af1f01299177599ba4e09e55c1db26bba3b6006ab", + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE": "95d7dabb54a327216e007f1e0cf37dd2f138ab31527f2cc5ee0de55e87f274ca", + "comparison-pr62.json": "70bc8a24a5565b840a5aac845703819c89c83b8c607acae021f64cf296f10c6e", + "research/pair-assembly/pair_graph.py": "3d47e89d2649c90800a276bdd0480131def50e0bdf92c122a19494b55bf17420" + }, + "shared_dependency_manifest": "../pr48/SOURCE.json", + "shared_dependency_manifest_sha256": "6ccc673f88d3650d75ed600b082fe2fc2866dd88a172d182a38c1d0cd27d24b3", + "upstream": "https://github.com/CrocSwap/integer-mult-bounds/pull/62" + } + ], + "status": "Conditional exact fixed-basis moment and balanced assembly; inherited transfer hypotheses remain assumed" +} diff --git a/certificates/ranked-interval-profiles-23.json b/certificates/ranked-interval-profiles-23.json new file mode 100644 index 0000000000..243eb83164 --- /dev/null +++ b/certificates/ranked-interval-profiles-23.json @@ -0,0 +1,38 @@ +{ + "R": 27918, + "blocks": [ + 0, + 343922, + 16866, + 10526, + 5756, + 4155, + 3904, + 3650, + 2861, + 2284, + 1800, + 1716, + 1263, + 1077, + 710, + 590, + 352, + 193, + 114, + 0, + 45, + 23, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 6049, + "distinct_matrices": 36378, + "field_prime": 2305843009213693951, + "frames": 52475, + "h": 23, + "loss": 506, + "rank_sum": 642620, + "v": 1771 +} diff --git a/certificates/ranked-interval-profiles-25.json b/certificates/ranked-interval-profiles-25.json new file mode 100644 index 0000000000..a594933971 --- /dev/null +++ b/certificates/ranked-interval-profiles-25.json @@ -0,0 +1,40 @@ +{ + "R": 36586, + "blocks": [ + 0, + 474727, + 25146, + 12129, + 6776, + 5700, + 5502, + 4919, + 3780, + 3213, + 2699, + 2650, + 1907, + 1665, + 1346, + 1126, + 698, + 585, + 371, + 181, + 111, + 0, + 55, + 25, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 8127, + "distinct_matrices": 50419, + "field_prime": 2305843009213693951, + "frames": 73697, + "h": 25, + "loss": 600, + "rank_sum": 915250, + "v": 2300 +} diff --git a/certificates/ranked-interval-transitions-23.json b/certificates/ranked-interval-transitions-23.json new file mode 100644 index 0000000000..541f25f83c --- /dev/null +++ b/certificates/ranked-interval-transitions-23.json @@ -0,0 +1,34 @@ +{ + "R": 27918, + "copied_centers": 23, + "distinct_transitions": 138003, + "frames": 52475, + "h": 23, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 53320, + "10": 449, + "12": 464, + "13": 22, + "14": 2005, + "15": 544, + "16": 547, + "17": 368, + "18": 4220, + "19": 7820, + "2": 77428, + "21": 165, + "22": 23, + "3": 11086, + "4": 10683, + "5": 7757, + "6": 2005, + "7": 275, + "8": 1362, + "9": 525 + }, + "rank_mass": 642620, + "singles": 15939, + "transition_events_equal_independent_xor_word_reconstruction": true, + "v": 1771, + "word_sha256": "640696dd7cd893add9d6e12d0d587956fecf113b2eff8c29547b82e5a6f3c0ad" +} diff --git a/certificates/ranked-interval-transitions-25.json b/certificates/ranked-interval-transitions-25.json new file mode 100644 index 0000000000..1c1cdc7a38 --- /dev/null +++ b/certificates/ranked-interval-transitions-25.json @@ -0,0 +1,35 @@ +{ + "R": 36586, + "copied_centers": 25, + "distinct_transitions": 190879, + "frames": 73697, + "h": 25, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 69278, + "10": 529, + "12": 614, + "13": 24, + "14": 529, + "16": 3146, + "17": 854, + "18": 519, + "19": 396, + "2": 108897, + "20": 5436, + "21": 10148, + "23": 220, + "24": 25, + "3": 14362, + "4": 16835, + "5": 10237, + "6": 1767, + "7": 525, + "8": 2116, + "9": 642 + }, + "rank_mass": 915250, + "singles": 20700, + "transition_events_equal_independent_xor_word_reconstruction": true, + "v": 2300, + "word_sha256": "7a827318eff45db1183d66e80d38ddbd4ce321bbc033d2effb7afa438d6b63a9" +} diff --git a/certificates/ranked-interval-validation.json b/certificates/ranked-interval-validation.json new file mode 100644 index 0000000000..0ef335125b --- /dev/null +++ b/certificates/ranked-interval-validation.json @@ -0,0 +1,230 @@ +{ + "axes": { + "23": { + "profile": { + "R": 27918, + "blocks": [ + 0, + 343922, + 16866, + 10526, + 5756, + 4155, + 3904, + 3650, + 2861, + 2284, + 1800, + 1716, + 1263, + 1077, + 710, + 590, + 352, + 193, + 114, + 0, + 45, + 23, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 6049, + "distinct_matrices": 36378, + "field_prime": 2305843009213693951, + "frames": 52475, + "h": 23, + "loss": 506, + "rank_sum": 642620, + "v": 1771 + }, + "replay": { + "elementary_xors": 149172, + "full_basis_vectors": 31460, + "h": 23, + "histogram": { + "0": 162950, + "1": 42694, + "2": 82741, + "3": 11086, + "4": 10683, + "5": 7757, + "6": 2005, + "7": 275, + "8": 1362, + "9": 525, + "10": 449, + "12": 464, + "13": 22, + "14": 2005, + "15": 544, + "16": 547, + "17": 368, + "18": 4220, + "19": 7820, + "21": 165, + "22": 23 + }, + "output_roles": 5336, + "rank_mass": 642620, + "roles": 27918, + "status": "independent serialized word, exact frames, full input and dirty basis both orientations PASS", + "word_length": 621482 + }, + "transitions": { + "R": 27918, + "copied_centers": 23, + "distinct_transitions": 138003, + "frames": 52475, + "h": 23, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 53320, + "2": 77428, + "3": 11086, + "4": 10683, + "5": 7757, + "6": 2005, + "7": 275, + "8": 1362, + "9": 525, + "10": 449, + "12": 464, + "13": 22, + "14": 2005, + "15": 544, + "16": 547, + "17": 368, + "18": 4220, + "19": 7820, + "21": 165, + "22": 23 + }, + "rank_mass": 642620, + "singles": 15939, + "transition_events_equal_independent_xor_word_reconstruction": true, + "v": 1771, + "word_sha256": "640696dd7cd893add9d6e12d0d587956fecf113b2eff8c29547b82e5a6f3c0ad" + } + }, + "25": { + "profile": { + "R": 36586, + "blocks": [ + 0, + 474727, + 25146, + 12129, + 6776, + 5700, + 5502, + 4919, + 3780, + 3213, + 2699, + 2650, + 1907, + 1665, + 1346, + 1126, + 698, + 585, + 371, + 181, + 111, + 0, + 55, + 25, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 8127, + "distinct_matrices": 50419, + "field_prime": 2305843009213693951, + "frames": 73697, + "h": 25, + "loss": 600, + "rank_sum": 915250, + "v": 2300 + }, + "replay": { + "elementary_xors": 205915, + "full_basis_vectors": 41186, + "h": 25, + "histogram": { + "0": 224367, + "1": 55478, + "2": 115797, + "3": 14362, + "4": 16835, + "5": 10237, + "6": 1767, + "7": 525, + "8": 2116, + "9": 642, + "10": 529, + "12": 614, + "13": 24, + "14": 529, + "16": 3146, + "17": 854, + "18": 519, + "19": 396, + "20": 5436, + "21": 10148, + "23": 220, + "24": 25 + }, + "output_roles": 6925, + "rank_mass": 915250, + "roles": 36586, + "status": "independent serialized word, exact frames, full input and dirty basis both orientations PASS", + "word_length": 855860 + }, + "transitions": { + "R": 36586, + "copied_centers": 25, + "distinct_transitions": 190879, + "frames": 73697, + "h": 25, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 69278, + "2": 108897, + "3": 14362, + "4": 16835, + "5": 10237, + "6": 1767, + "7": 525, + "8": 2116, + "9": 642, + "10": 529, + "12": 614, + "13": 24, + "14": 529, + "16": 3146, + "17": 854, + "18": 519, + "19": 396, + "20": 5436, + "21": 10148, + "23": 220, + "24": 25 + }, + "rank_mass": 915250, + "singles": 20700, + "transition_events_equal_independent_xor_word_reconstruction": true, + "v": 2300, + "word_sha256": "7a827318eff45db1183d66e80d38ddbd4ce321bbc033d2effb7afa438d6b63a9" + } + } + }, + "bit_saving": "255150939/5000000000000", + "certificate_sha256": "3ac44016c8cc8119cfef842708a4a8bf2a0588c738b2e02b24cc682c8667b40d", + "kappa": "318922399/6250000000000", + "margins": 7, + "scope": "Finite conditional witness; unchanged data geometry and general transfer proofs are inherited dependencies.", + "source_binding": "Source manifests, inherited manifest digest, compiler receipt source, both word digests, and all local compiler/verifier sources are bound by the exact composition certificate.", + "status": "PASS complete serialized-word replay, actual CRT profiles, exact recurrence and balanced assembly", + "strict_constraints": 47 +} diff --git a/certificates/ranked-interval-word-23.json.gz b/certificates/ranked-interval-word-23.json.gz new file mode 100644 index 0000000000..3c89cfde81 Binary files /dev/null and b/certificates/ranked-interval-word-23.json.gz differ diff --git a/certificates/ranked-interval-word-25.json.gz b/certificates/ranked-interval-word-25.json.gz new file mode 100644 index 0000000000..c199dfd1a4 Binary files /dev/null and b/certificates/ranked-interval-word-25.json.gz differ diff --git a/references/frame-compiler/balanced-coarse/SOURCE.json b/references/frame-compiler/balanced-coarse/SOURCE.json new file mode 100644 index 0000000000..961481269d --- /dev/null +++ b/references/frame-compiler/balanced-coarse/SOURCE.json @@ -0,0 +1,12 @@ +{ + "scope": "Balanced coarse column-pair sums on pinned PR62 graph; rank-priority joint compilation", + "files": { + "../../../scripts/experiments/balanced_coarse_compiler.py": "bd8169bf9f5df185a8aa4aec22234b4fd483000a1cecc78b71bf32e479af1499", + "../../../scripts/experiments/ranked_interval_compiler.py": "46cb34afa613c62adb33939af1f01299177599ba4e09e55c1db26bba3b6006ab", + "../../../scripts/experiments/binary_frame_compiler.py": "bc6910c8bbe8224285164323d3c06e9035ad3eaa55416abc2867ae0066454a0c", + "../../../certificates/ranked-interval-kappa.json": "3ac44016c8cc8119cfef842708a4a8bf2a0588c738b2e02b24cc682c8667b40d" + }, + "shared_dependency_manifest": "../pr62/SOURCE.json", + "shared_dependency_manifest_sha256": "4ef81f0fc7943d3ea8cfadd3e975dc707994c7ed4f0ec35d07470e772b35c998", + "attribution": "PR62 graph: Avi Eisenberg / ikeboy with Anthropic Claude assistance. PR57 compiler: eumemic with OpenAI Codex assistance. PR60 priority: Chafik Boukhalfa with OpenAI Codex assistance. PR63 composition: Dominik Scholz with OpenAI Codex assistance. New coarse-column factoring and checks prepared with OpenAI Codex assistance. All inherited notices retained." +} diff --git a/references/frame-compiler/pr62/LICENSE b/references/frame-compiler/pr62/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/references/frame-compiler/pr62/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/references/frame-compiler/pr62/NOTICE b/references/frame-compiler/pr62/NOTICE new file mode 100644 index 0000000000..fd30e610b0 --- /dev/null +++ b/references/frame-compiler/pr62/NOTICE @@ -0,0 +1,185 @@ +A sharper exponent for integer multiplication +Copyright 2026 Douglas Colkitt + +This project includes unmodified source files from OpenAI's manuscript +"Integer multiplication below n log n" and its accompanying repository: +https://github.com/openai/math +Commit: adc7f1241b42e322a6451854ab7e4b4c146bf78a + +The original manuscript identifies OpenAI as its author. Its Apache-2.0 +license is retained at upstream/LICENSE. The exact source URLs and hashes +are recorded in upstream/manifest.json. Proposed modifications are supplied +as separate files under patches/; upstream source files remain unchanged. + +The new research note, scripts, certificates, patches, and documentation +were prepared by Douglas Colkitt with assistance from OpenAI Codex. +This project is not an official OpenAI release or an OpenAI endorsement. + +Ternary five-subset construction and common-four-point resynthesis +Copyright 2026 Zhihao Chen (jacklightChen) + +This is Zhihao Chen's first submission of this specific construction to this +repository. Research, proof development, code and verification were prepared +with substantial assistance from GPT-6 Astra (OpenAI Codex), as identified by +the contributor. This is not independent review or an OpenAI endorsement. +Future research building on this contribution should explicitly acknowledge +Zhihao Chen (jacklightChen), cite the accompanying note and pull request, and +retain the preceding contributors' attribution. This notice records research +provenance; the repository's Apache-2.0 license remains unchanged. + +Dependencies retained from eumemic's Claude-assisted PRs #3 and #5: +https://github.com/CrocSwap/integer-mult-bounds/pull/3 +https://github.com/CrocSwap/integer-mult-bounds/pull/5 +PR #5 commit: d3d370c34937503bd3fa63c83d505a05e8e50893 +These include complex_circuit.py, complex_network.py, fast_gaussian.py, +their generators, construction notes and certificates. The Gaussian input +scaling proof is corrected in this derivative; see the modification notice below. +Aligned pairing also appears in Bortlesboat's PR #2. Retained totals and bank +sharing appear in dleen's PR #4 and cheaper retained centers in eumemic's PR #6. +Their results and ideas are credited separately from this new construction. + +Bulk recursion and controlled tensor basis, 8 October 2026 +Copyright 2026 icekylinx + +The new projector batching, controlled simultaneous basis, mixed-width tape +recursions, whole-residual complex recursion, and dependency-path precision +guard in the batched-23 proof package are contributed by icekylinx, developed +with substantial OpenAI GPT-6 Astra assistance. Review corrections and +repository integration were prepared with OpenAI Codex assistance. They build on the retained +PR #7 finite producers and the preceding contributions credited above. +The new package retains the repository's Apache-2.0 license and the original +authors' attribution. It is not an official OpenAI release or endorsement. + +Modification notice, 8 October 2026 (icekylinx): the retained fast Gaussian +proof now bounds shifted approximation error by F=2^ceil(1.14 alpha^2). +The P=34p precision budget and asymptotic exponent are unchanged. New batching +checks are integrated into make verify. Existing attribution and licenses +are retained. + +Partial-swap extension, 8 October 2026 +Copyright 2026 icekylinx + +The partial-swap framing, binary retained-total triple construction, +dependency-preserving positive labels and carrier reuse, unequal (25,23,57) +common basis, improved complex batching, and exact assembly are contributed +by icekylinx with substantial OpenAI GPT-6 Astra and Codex assistance. +This extension directly inherits PR #10, commit +62691e395a0458ce089a1c7b5d89e74291e95e29. The portable producer adapters +modify the retained paired-exclusion and shared-point implementations credited +above. The original licenses, attribution, and Gaussian correction are retained. + +Endpoint-gauge extension, 8 October 2026 +Copyright 2026 icekylinx + +The complementary auxiliary endpoint gauges, (32,30,40) controlled basis, +general nondegenerate binary phase residuals, retained-center complex producer, +updated path guard and exact assembly are contributed by icekylinx with +substantial OpenAI GPT-6 Astra and Codex assistance. This extension inherits +f2ab41aebad47861caf6316282c1793e5513845e and its PR #10 ancestry. New portable +adapters retain the paired-exclusion and shared-point contributions credited +above. Original licenses, notices and the Gaussian correction are retained. + +Structured-basis and semantic-bulk extension, 8 October 2026 +Copyright 2026 icekylinx + +The selected (32,30,36) bit construction, A1/A5 block refinements, fixed +middle-axis I+J profiles with bounded-minor CRT certificates, mixed dyadic +complex centers, complete data-front batching and circuit-specific assembly +are contributed by icekylinx with substantial OpenAI GPT-6 Astra and Codex +assistance. The immediate parent is ed90fd940279c336ebc45968631bdebfb087b505. + +The semantic/bulk compatibility argument, literal scalar charge, product row +stock and parameterization adapt Zhihao Chen (jacklightChen)'s PR #23, +commit 661ebabc1076c9f525d7ce4967c876b203fa9827. Translated complex endpoints +are adopted from the same contributor's PR #21, +commit 5ba6cf0bfb68f2be8d15610e7972207c50254d6a, following eumemic's source-frame +work and the earlier nested-basis contributions. + +Completed-child semantic precision, arbitrary-coordinate routing, phase-cell +Gaussian inversion and bulk tape transfer are credited to the RaD project +(hipotures), commit 45d9b60355872041f9275f77c057514def0d45bc, exposed through +PR #20 at 4f8d6c8272b5ff307a0da51df545ec3cd96a8b6e. Their selected proof +sources retain their separate CC0 license and original NOTICE under +references/semantic-bulk/rad20. The PR #23 source retains its recorded OpenAI +Codex assistance; RaD retains its recorded Codex and GPT-6.1-Sol Ultra +assistance. These are source attributions, not claims about this session's +runtime model. Related contributions by Rohan Arun and Aurel Prosz remain +acknowledged in the imported notices. No exclusive priority or additional +license condition is asserted. + +Copied retained-center extension, 8 October 2026 +Copyright 2026 icekylinx + +The copied retained-center schedule in both orientations, its complex-phase +transfer, the Wm-N+L rank budget, and the selected (25,23)/(28,28) composition +are contributed by icekylinx with substantial OpenAI GPT-6 Astra and Codex +assistance. This extension inherits PR #32 at +0ef3aeb61f55cc0b321ce6a0ef00acee25cefe52 and the preceding PR #10/#18/#24 work. + +The two-stage topology and paid copied-stream endpoint correction are due +to Aurel Prosz (Paureel), c82d09eb4781b68435e3fa3eb6beea72fa900fab, +through Zhihao Chen (jacklightChen)'s PR #29 unequal-axis composition, +9d963275075fa98f1da821e27757b238dafd6b3c. That source also credits Swapnil +Jain's two-stage development at ae405eb474d1486b2d8aef90139869f927f4836a. + +The contiguous corner method, incidence factorization and exact partition +certificates are due to Rohan Arun (PR #31), method commit +02f68f95369c39955c5ffcfddbd75cd83e26b305. The selected (25,23) certificate +specializes Dominik Scholz's parameterization (PR #33), +a499a345c040aa15b68e984a0904eadc485c7a7e. Their source notices and proof +snapshots are preserved in references/copied-centers. Historical OpenAI +Codex, GPT-6 Astra and Anthropic Claude Opus 5.5 assistance is credited to +the respective imported sources. Existing PR #21/#23 and RaD attribution, +licenses and the Gaussian correction remain in force. + +Changed-graph composition with copied centers and fixed bases, 8 October 2026 +Prepared with OpenAI Codex assistance. +The new composition uses icekylinx PR36 copied centers and PR32 fixed-I+J +projectors/profiler, Dominik Scholz PR35 two fixed factors and CRT argument, +Zhihao Chen (jacklightChen) PR29/23 interfaces, Aurel Prosz (Paureel) and +Swapnil Jain's two-stage development, Rohan Arun PR25/31 corner methods, +Dominik Scholz PR33/38 dimension/composition work; James Chang (jamesyc) +PR34 reversed geometry and balanced transfer; Rohan Arun PR37/39/40 +reversed integration, modular data tests and both-fixed baseline; +RaD (hipotures) PR41 changed scalar DAGs, alternating point order and +independent role compiler; RaD balanced routing/bulk interfaces, and all +retained predecessors. +Complete attribution and the conditional proof boundary are recorded in +research/copied-fixed/PROOF.md; imported originals and source pins are retained. +Original Apache-2.0 and CC0 notices remain applicable. + +Skip-prefix strip producer, 8 October 2026 +By Avi Eisenberg (ikeboy), with Anthropic Claude (Claude Opus 5.5) +assistance. The skip-prefix leave-one-out strip layout in +research/skip-strips/skip_graph.py is new. Everything else reuses Chafik +Boukhalfa's PR #43/#46/#48 research/copied-fixed pipeline, its verification +code, exact data recovery and support-order sorting, together with: +- Rohan Arun's PR #44 weighted carrier matching optimizer; +- RaD (hipotures) PR #41 alternating point order; +- every predecessor credited above. +Complete attribution and the conditional proof boundary are recorded in +research/skip-strips/PROOF.md. Original Apache-2.0 and CC0 notices remain +applicable. + +Joint frame compilation of skip-prefix strips + +The local compiler and exact finite witnesses were prepared by eumemic with +substantial OpenAI Codex assistance. Avi Eisenberg / ikeboy with Anthropic +Claude assistance supplied the unmodified PR #53 skip-prefix producer. +The pinned PR #48 pipeline is Chafik Boukhalfa's contribution, incorporating +Rohan Arun, RaD / hipotures, icekylinx, Dominik Scholz, James Chang, +Zhihao Chen, Aurel Prosz / Paureel, Swapnil Jain, eumemic, Douglas Colkitt, +OpenAI, David Harvey, Joris van der Hoeven and the earlier contributors +credited in the retained sources. See references/frame-compiler/pr48/NOTICE +and references/frame-compiler/pr53/NOTICE for their original attribution. +No authorship or review by those predecessors is claimed for this compiler. + +Interval strips and core-aware pair assembly + +The interval leave-one-out strips and the core-aware group-pair assembly in +research/pair-assembly were prepared by Avi Eisenberg / ikeboy with Anthropic +Claude assistance. They build on PR #53's skip-prefix pipeline and its +inherited PR #48 sources. The stacked witness in research/pair-assembly/frame +uses eumemic's PR #57 joint frame compiler unchanged; its driver and verifier +are adaptations of PR #57's skip_frame_compiler.py, skip_frame_compose.py and +verify_skip_frame.py. Original notices are retained. diff --git a/references/frame-compiler/pr62/SOURCE.json b/references/frame-compiler/pr62/SOURCE.json new file mode 100644 index 0000000000..6bd505aa73 --- /dev/null +++ b/references/frame-compiler/pr62/SOURCE.json @@ -0,0 +1,21 @@ +{ + "upstream": "https://github.com/CrocSwap/integer-mult-bounds/pull/62", + "commit": "ad0f25ff7b23cff7f08ad237c2254e6ecf74257e", + "attribution": { + "graph": "Avi Eisenberg / ikeboy with Anthropic Claude assistance (#62)", + "compiler": "eumemic with OpenAI Codex assistance (#57)", + "priority": "Chafik Boukhalfa with OpenAI Codex assistance (#60)", + "composition": "Prepared with OpenAI Codex assistance", + "contemporaneous_composition": "The same composition is published in PR63 by Dominik Scholz with OpenAI GPT-6 Astra / Codex assistance; this local package is an independent reproduction with finer parameter rounding." + }, + "files": { + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE": "95d7dabb54a327216e007f1e0cf37dd2f138ab31527f2cc5ee0de55e87f274ca", + "research/pair-assembly/pair_graph.py": "3d47e89d2649c90800a276bdd0480131def50e0bdf92c122a19494b55bf17420", + "comparison-pr62.json": "70bc8a24a5565b840a5aac845703819c89c83b8c607acae021f64cf296f10c6e", + "../../../scripts/experiments/ranked_interval_compiler.py": "46cb34afa613c62adb33939af1f01299177599ba4e09e55c1db26bba3b6006ab", + "../../../scripts/experiments/binary_frame_compiler.py": "bc6910c8bbe8224285164323d3c06e9035ad3eaa55416abc2867ae0066454a0c" + }, + "shared_dependency_manifest": "../pr48/SOURCE.json", + "shared_dependency_manifest_sha256": "6ccc673f88d3650d75ed600b082fe2fc2866dd88a172d182a38c1d0cd27d24b3" +} diff --git a/references/frame-compiler/pr62/comparison-pr62.json b/references/frame-compiler/pr62/comparison-pr62.json new file mode 100644 index 0000000000..d88d1f18fe --- /dev/null +++ b/references/frame-compiler/pr62/comparison-pr62.json @@ -0,0 +1,782 @@ +{ + "assembly": { + "absorption_gap": "2789682368533483055549/390644929499999960141000000000000", + "constraints": { + "K_dominates_log": "19929500097596461499902383609/390644929499999960141000000000000", + "K_geometry": "292988679500097616391/390644929499999960141000000000000", + "a_below_b": "129253/6250000000", + "a_positive": "39859/781250000", + "alpha_below_one": "781249999999609394929499999960141/781289858999999920282000000000000", + "alpha_below_one_fourth": "195282605749609454717999999960141/781289858999999920282000000000000", + "alpha_positive": "39859000390525352500000039859/781289858999999920282000000000000", + "artificial_boundary": "21876275488004294383812499999880423/3125159435999999681128000000000000", + "b_below_one_over32": "311783/10000000", + "beta_below_one": "19/20", + "beta_positive": "1/20", + "c_below_one": "390605070499902383609/390625000000000000000", + "c_positive": "19929500097616391/390625000000000000000", + "cell_above_band": "781249999998828105070500000039859/1562579717999999840564000000000000", + "compact_leaf": "6677921875039859/390625000000000000000", + "compact_reservations": "1/4000000000000", + "delta_below_one_eighth": "999999999999/8000000000000", + "delta_positive": "1/8000000000000", + "epsilon_below_one": "19929500390585141/390644929499999960141", + "epsilon_positive": "390624999999609375000/390644929499999960141", + "g1_above_kappa": "318032729803348301569/39064492949999996014100000000000", + "g2_above_kappa": "261/100000000000", + "g3_above_kappa": "2789682368533483055549/390644929499999960141000000000000", + "g4_above_kappa": "261/100000000000", + "g5_above_kappa": "4697878747353572864963/625031887199999936225600000000000", + "g6_above_kappa": "25051973454767864165379/3125159435999999681128000000000000", + "g7_above_kappa": "39060507050239911715703348301569/39064492949999996014100000000000", + "gamma_sublinear": "1/2000000000000", + "guard_width": "19929500390585141/390644929499999960141", + "lambda_above_internal": "39859/781250000000000000000", + "lambda_above_sigma": "16156625000039859/781250000000000000000", + "lambda_above_tau": "39859/781250000000000000000", + "lambda_prime_above_lambda": "39859/781250000000000000000", + "lambda_prime_below_one": "19929499999960141/390625000000000000000", + "literal_scalar_guard": "9693793493753822316795466474748", + "phase_boundary": "31887200234291296100000039859/625031887199999936225600000000000", + "phase_leaf_above_bit": "427387/25000000000", + "phase_local": "159436002734036198500000039859/3125159435999999681128000000000000", + "prime_interval_packing": "19929500390585141/390644929499999960141", + "q_below_internal": "39859/390625000000000000000", + "q_below_leaf": "6677921875039859/390625000000000000000", + "q_below_reservations": "1/4000000000000", + "q_positive": "19929499999960141/390625000000000000000", + "record_suffix": "19929500390585141/390644929499999960141", + "row_product_gap": "6548/25", + "short_record_fallback": "305160210533449883720338739881/305191351171874968860156250000", + "small_field_exposure": "1/1000000000000" + }, + "finite_bridge": { + "bit": { + "W": 137151806, + "halving_degree": 9, + "m": 575, + "maxchild": 529, + "wire_bits": 28 + }, + "complex": { + "W": 537696432, + "halving_degree": 20, + "m": 784, + "maxchild": 756, + "s": 421548223824, + "scalar_group_upper": 4793351472, + "wire_bits": 30 + }, + "rows": { + "coefficient": 852, + "degree": 2000, + "degree_gap": "6548/25", + "suffix_slope": 8000 + }, + "semantic": { + "B": 9696565176891520488614054257040, + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": 1, + "E": 9696565176891520488192506033216, + "induction_gap": 533311084729033626873772984137200, + "literal_charge": 2771683137698171397039558468, + "strict_literal_gap": 9693793493753822316795466474748 + } + }, + "margins": { + "g1": "19929500390585141/390644929499999960141", + "g2": "39859/781250000", + "g3": "19929499999940211500000039859/390644929499999960141000000000000", + "g4": "39859/781250000", + "g5": "31887200234291296100000039859/625031887199999936225600000000000", + "g6": "159436002734036198500000039859/3125159435999999681128000000000000", + "g7": "390624999999609375000/390644929499999960141" + }, + "minimum_margin": "19929499999940211500000039859/390644929499999960141000000000000", + "parameters": { + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": "1", + "a_bit": "39859/781250000", + "a_complex": "717/10000000", + "alpha_squared_power": "39859000390525352500000039859/781289858999999920282000000000000", + "beta": "1/20", + "c": "19929500097616391/390625000000000000000", + "delta": "1/8000000000000", + "epsilon": "390624999999609375000/390644929499999960141", + "h": "1/1000000000000", + "kappa": "5101691/100000000000", + "lambda_": "781210141000000039859/781250000000000000000", + "lambda_prime": "390605070500000039859/390625000000000000000", + "q": "19929499999960141/390625000000000000000", + "sigma": "9999283/10000000", + "tau": "781210141/781250000" + }, + "recurrence": { + "internal": "781210141/781250000", + "leaf": "199986377/200000000", + "reservations": "390605070499902383609/390625000000000000000" + }, + "scoped_limit": "39859/781289859" + }, + "bit": { + "L": 2226400, + "N": 4073300, + "W": 137151806, + "axes": [ + { + "R": 27918, + "blocks": [ + 0, + 343843, + 16961, + 10548, + 5896, + 4246, + 3907, + 3661, + 2880, + 2261, + 1778, + 1694, + 1242, + 1063, + 686, + 590, + 352, + 193, + 114, + 0, + 45, + 23, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 6049, + "distinct_matrices": 36769, + "field_prime": 2305843009213693951, + "frames": 52475, + "h": 23, + "loss": 506, + "rank_sum": 642620, + "v": 1771 + }, + { + "R": 36586, + "blocks": [ + 0, + 474802, + 25107, + 12264, + 6895, + 5806, + 5560, + 5006, + 3781, + 3198, + 2716, + 2628, + 1860, + 1646, + 1338, + 1077, + 698, + 575, + 376, + 169, + 101, + 0, + 55, + 25, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 8127, + "distinct_matrices": 50881, + "field_prime": 2305843009213693951, + "frames": 73697, + "h": 25, + "loss": 600, + "rank_sum": 915250, + "v": 2300 + } + ], + "child_multiplicities": { + "1": 1725399142, + "10": 8899436, + "11": 8550388, + "12": 6150660, + "13": 5359966, + "14": 3947398, + "15": 3264367, + "16": 2045758, + "17": 9608825, + "18": 928096, + "19": 299299, + "2": 83474797, + "20": 282371, + "21": 16346100, + "22": 97405, + "23": 72402275, + "25": 64793806, + "3": 45979944, + "4": 25771845, + "481": 8146600, + "5": 20048226, + "525": 64793806, + "529": 64211400, + "6": 18832860, + "7": 17285926, + "8": 13320151, + "9": 10863958 + }, + "deficit": 1846900, + "excluded_above_lower": "27430361200087781597667818915345051017227039958095857781924326877407894937609913237049412724235730511851202218145771960542468102717/27430361200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "m": 575, + "maxchild": 529, + "moment": { + "exponent": "781210141/781250000", + "logarithms": { + "1": { + "lower": "3177185020398675220004135749131/500000000000000000000000000000", + "upper": "6354370040797350440008271498263/1000000000000000000000000000000" + }, + "10": { + "lower": "2025892473901652377995140021789/500000000000000000000000000000", + "upper": "4051784947803304755990280043579/1000000000000000000000000000000" + }, + "11": { + "lower": "3956474767998979895946327920297/1000000000000000000000000000000", + "upper": "1978237383999489947973163960149/500000000000000000000000000000" + }, + "12": { + "lower": "3869463391009350129778562018423/1000000000000000000000000000000", + "upper": "483682923876168766222320252303/125000000000000000000000000000" + }, + "13": { + "lower": "3789420683335813703954784056697/1000000000000000000000000000000", + "upper": "1894710341667906851977392028349/500000000000000000000000000000" + }, + "14": { + "lower": "3715312711182091825485686633361/1000000000000000000000000000000", + "upper": "1857656355591045912742843316681/500000000000000000000000000000" + }, + "15": { + "lower": "3646319839695140374012266928113/1000000000000000000000000000000", + "upper": "1823159919847570187006133464057/500000000000000000000000000000" + }, + "16": { + "lower": "3581781318557569202339343012429/1000000000000000000000000000000", + "upper": "358178131855756920233934301243/100000000000000000000000000000" + }, + "17": { + "lower": "3521156696741134359758736880389/1000000000000000000000000000000", + "upper": "352115669674113435975873688039/100000000000000000000000000000" + }, + "18": { + "lower": "3463998282901185747800548902959/1000000000000000000000000000000", + "upper": "43299978536264821847506861287/12500000000000000000000000000" + }, + "19": { + "lower": "1704965530815454989999622033187/500000000000000000000000000000", + "upper": "27279448493047279839993952531/8000000000000000000000000000" + }, + "2": { + "lower": "1415305715059351282647759844201/250000000000000000000000000000", + "upper": "1132244572047481026118207875361/200000000000000000000000000000" + }, + "20": { + "lower": "83965944181083986164326198053/25000000000000000000000000000", + "upper": "3358637767243359446573047922121/1000000000000000000000000000000" + }, + "21": { + "lower": "413730950384240930438459189737/125000000000000000000000000000", + "upper": "3309847603073927443507673517897/1000000000000000000000000000000" + }, + "22": { + "lower": "3263327587439034586529095798839/1000000000000000000000000000000", + "upper": "81583189685975864663227394971/25000000000000000000000000000" + }, + "23": { + "lower": "804718956217050187300379666613/250000000000000000000000000000", + "upper": "3218875824868200749201518666453/1000000000000000000000000000000" + }, + "25": { + "lower": "313549421592914969080675283181/100000000000000000000000000000", + "upper": "3135494215929149690806752831811/1000000000000000000000000000000" + }, + "3": { + "lower": "262787887606462037430651313067/50000000000000000000000000000", + "upper": "5255757752129240748613026261341/1000000000000000000000000000000" + }, + "4": { + "lower": "2484037839838729910586903627673/500000000000000000000000000000", + "upper": "4968075679677459821173807255347/1000000000000000000000000000000" + }, + "481": { + "lower": "35700554138317851917337677133/200000000000000000000000000000", + "upper": "89251385345794629793344192833/500000000000000000000000000000" + }, + "5": { + "lower": "1186233032090812516351878041259/250000000000000000000000000000", + "upper": "4744932128363250065407512165037/1000000000000000000000000000000" + }, + "525": { + "lower": "22742944551431673576538712861/250000000000000000000000000000", + "upper": "18194355641145338861230970289/200000000000000000000000000000" + }, + "529": { + "lower": "41690804469525529197382917321/500000000000000000000000000000", + "upper": "83381608939051058394765834643/1000000000000000000000000000000" + }, + "6": { + "lower": "4562610571569295439195794139881/1000000000000000000000000000000", + "upper": "2281305285784647719597897069941/500000000000000000000000000000" + }, + "7": { + "lower": "4408459891742037134902918754819/1000000000000000000000000000000", + "upper": "220422994587101856745145937741/50000000000000000000000000000" + }, + "8": { + "lower": "66795757798711164246196486467/15625000000000000000000000000", + "upper": "4274928499117514511756575133889/1000000000000000000000000000000" + }, + "9": { + "lower": "4157145463461131057217781024417/1000000000000000000000000000000", + "upper": "2078572731730565528608890512209/500000000000000000000000000000" + } + }, + "lower": "39239446449225220720800155921651135645912068094325815424079087329983883947974261365545315127335388257066189472409119529926077/39239446449279785156250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "saving": "39859/781250000", + "strict_gap": "342827150261343135971059778523596158043219742295046048410503106359832242231970130813484421751536206598458110102268147293091038335146784295469792887968339552449532361466684536114620053001491796391119505200545236194962306542321086988087045958152811402687902051249980074402456601992303780273431517154260923041230252749618939616909378766664356363875286614378339861632741136737202801976663268869933321669060237726221972703735159533490562842972778022956089383450811497336837424880995546174710055749497349637887751367426629673983136430962479960401669334599492202723881271689671282129865739983389798304832570280873354365263499373626463745251197451165706367589388591559994617710134110660406665113059347571669012024465219938954898522496487693306448038255924398718258369887649209855697003441596140167838032792620004810824340126884357695293831878679820600028438703609262256820253307854767851059658237441836491142470541484428952042313738746552410850486259251995834330305058207682491038396059386319520728389619715129588426768071379129483453185428850316197154417801178104183765188403/246543857152306062895380692616416522526000746322307916830770862034951041304586071125340598120870189660773301315863038565660411521576957986949050885170268004531492252107951368654269898486510484255033353213055443216520541764825731011503205179976422510797712568035246246465142392522846441212404489524641732807594193280400051561196036570181711444399508389149346418224723316937115335962714978909220253163579577143782694317724725332357436807748318536132631916807172787093892046525508601774830057339059065792137321252725889211509616204647123614288311733635100603203069493640200368387238039059634721119400386787624490676490233653868382867079033071305530667289541519166578237562414749743240570846158487919248191362883545905983318255125083295409008045903981716269575311257702631067031918283006407948885792634017063907489331734293052507590799440298002348398152046195384244597267592622355697046369304487969404909123997399909273390763508732115774653580089344509620661939646319769812442508226722343292972520262927190451820499255592844347251986589795911601562500000000000000000000000000000000000", + "upper": "246543857151963235745119349480445462747477150164264697088475815986540538198226238883108627990056705239021765109264580455558143374283866948613904100874798211643523912555501836292803213950395864202031861416664323711319996528630768704960884092988335464839559756632558344413892412448443984610412185744368301290439932357358821308446417630564802065632844032785471131610344977075482594825977776107243589894709643822113634079998503359653701648214827973289659138784216697710441235028171764349949061792884355736387823903088001460142189574973140477857349253674698933868470001437476487115548367777504855379416996989319658106209360299503119367705406607560279469838375812798988848970854755125530436735498081254135132015311876893958853035186128396886511558210675268231319386858984372697144269073150710945444196493849225874696711729482228167463915082602708516519472225595355805893658330365535443738514536636909746671682160908766802849279079780073460914833536933659134402687650485439507384300544231304896913133943406462062200784126004417579180607460312458416133649683802845582198821895816234811597/246543857152306062895380692616416522526000746322307916830770862034951041304586071125340598120870189660773301315863038565660411521576957986949050885170268004531492252107951368654269898486510484255033353213055443216520541764825731011503205179976422510797712568035246246465142392522846441212404489524641732807594193280400051561196036570181711444399508389149346418224723316937115335962714978909220253163579577143782694317724725332357436807748318536132631916807172787093892046525508601774830057339059065792137321252725889211509616204647123614288311733635100603203069493640200368387238039059634721119400386787624490676490233653868382867079033071305530667289541519166578237562414749743240570846158487919248191362883545905983318255125083295409008045903981716269575311257702631067031918283006407948885792634017063907489331734293052507590799440298002348398152046195384244597267592622355697046369304487969404909123997399909273390763508732115774653580089344509620661939646319769812442508226722343292972520262927190451820499255592844347251986589795911601562500000000000000000000000000000000000" + }, + "parts": { + "data": { + "1": 73319400, + "17": 8146600, + "21": 8146600, + "481": 8146600 + }, + "data_growth_23": { + "1": 8146600, + "21": 8146600 + }, + "data_growth_25": { + "1": 8146600, + "23": 8146600 + }, + "exterior_23": { + "23": 64211400, + "529": 64211400 + }, + "exterior_25": { + "25": 64793806, + "525": 64793806 + }, + "internal_23": { + "1": 790838900, + "10": 4089400, + "11": 3896200, + "12": 2856600, + "13": 2444900, + "14": 1577800, + "15": 1357000, + "16": 809600, + "17": 443900, + "18": 262200, + "2": 39010300, + "20": 103500, + "21": 52900, + "3": 24260400, + "4": 13560800, + "5": 9765800, + "6": 8986100, + "7": 8420300, + "8": 6624000, + "9": 5200300 + }, + "internal_25": { + "1": 840874342, + "10": 4810036, + "11": 4654188, + "12": 3294060, + "13": 2915066, + "14": 2369598, + "15": 1907367, + "16": 1236158, + "17": 1018325, + "18": 665896, + "19": 299299, + "2": 44464497, + "20": 178871, + "22": 97405, + "23": 44275, + "3": 21719544, + "4": 12211045, + "5": 10282426, + "6": 9846760, + "7": 8865626, + "8": 6696151, + "9": 5663658 + }, + "paid_endpoint_copy": { + "1": 4073300 + } + }, + "total_rank": 78860441550 + }, + "bit_saving": "39859/781250000", + "bit_saving_excluded_above": "5101953/100000000000", + "comparison": { + "next_kappa_grid_fails": true, + "plain_pair_assembly_kappa": "4986133/100000000000", + "pr53_kappa": "140567/3125000000", + "pr57_kappa": "4669442391/100000000000000", + "ratio_plain": "5101691/4986133", + "ratio_pr53": "728813/642592", + "ratio_pr57": "5101691000/4669442391" + }, + "controls": { + "PR53_bit_at_stacked_lower": "11501324417945694779702276911313645941038159319732628464274692051084428719760264049826560615266442298864075381713407612305949047/11501293587684631347656250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "PR57_bit_at_stacked_lower": "10977905371957775720311176266073922747645854062863768259004425203685403636826424101829461975367955147400988849850387090169596007/10977884101867675781250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "eventual_bounds": { + "additional_eventual_conditions": [ + "BHP prime threshold and distinct-prime packing", + "Fixed rational basis, eligible common prime and native table setup", + "Catalogue/descriptor domination, logarithm absorption, exact recovery" + ], + "all_interval_argument": "For [Z,Z+k), bound RHS at Z+k and LHS at floor(Z/k). Successive intervals double LHS; the positive affine RHS grows at most linearly, so 2^j >= j+1 proves persistence.", + "common_cutoff": 14000000000000, + "cutoff_log2_input": { + "alpha": 6147814465, + "compact": 24591257857, + "geometry": 3999931978600, + "guard": 4351498, + "log_p": 25, + "normalization": 14000000000000, + "period": 49182515713, + "phase_cell": 19, + "reservoir": 14, + "stopped_leaf": 252 + }, + "power_checkpoints": [ + { + "log2_input": 14000000000000, + "powers": { + "alpha": { + "exponent": 714212835, + "rhs": 112000000156880, + "rhs_bits": 47 + }, + "compact": { + "exponent": 714212835, + "rhs": 448000000627456, + "rhs_bits": 49 + }, + "leaf": { + "exponent": 666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 714212835, + "rhs": 224000000313688, + "rhs_bits": 48 + }, + "rows": { + "exponent": 714212835, + "rhs": 112000000156880000, + "rhs_bits": 57 + } + } + }, + { + "log2_input": 28000000000000, + "powers": { + "alpha": { + "exponent": 1428425670, + "rhs": 224000000156880, + "rhs_bits": 48 + }, + "compact": { + "exponent": 1428425670, + "rhs": 896000000627456, + "rhs_bits": 50 + }, + "leaf": { + "exponent": 1333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 1428425670, + "rhs": 448000000313688, + "rhs_bits": 49 + }, + "rows": { + "exponent": 1428425670, + "rhs": 224000000156880000, + "rhs_bits": 58 + } + } + }, + { + "log2_input": 56000000000000, + "powers": { + "alpha": { + "exponent": 2856851341, + "rhs": 448000000156880, + "rhs_bits": 49 + }, + "compact": { + "exponent": 2856851341, + "rhs": 1792000000627456, + "rhs_bits": 51 + }, + "leaf": { + "exponent": 2666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 2856851341, + "rhs": 896000000313688, + "rhs_bits": 50 + }, + "rows": { + "exponent": 2856851341, + "rhs": 448000000156880000, + "rhs_bits": 59 + } + } + }, + { + "log2_input": 112000000000000, + "powers": { + "alpha": { + "exponent": 5713702683, + "rhs": 896000000156880, + "rhs_bits": 50 + }, + "compact": { + "exponent": 5713702683, + "rhs": 3584000000627456, + "rhs_bits": 52 + }, + "leaf": { + "exponent": 5333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 5713702683, + "rhs": 1792000000313688, + "rhs_bits": 51 + }, + "rows": { + "exponent": 5713702683, + "rhs": 896000000156880000, + "rhs_bits": 60 + } + } + }, + { + "log2_input": 224000000000000, + "powers": { + "alpha": { + "exponent": 11427405366, + "rhs": 1792000000156880, + "rhs_bits": 51 + }, + "compact": { + "exponent": 11427405366, + "rhs": 7168000000627456, + "rhs_bits": 53 + }, + "leaf": { + "exponent": 10666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 11427405366, + "rhs": 3584000000313688, + "rhs_bits": 52 + }, + "rows": { + "exponent": 11427405366, + "rhs": 1792000000156880000, + "rhs_bits": 61 + } + } + }, + { + "log2_input": 448000000000000, + "powers": { + "alpha": { + "exponent": 22854810733, + "rhs": 3584000000156880, + "rhs_bits": 52 + }, + "compact": { + "exponent": 22854810733, + "rhs": 14336000000627456, + "rhs_bits": 54 + }, + "leaf": { + "exponent": 21333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 22854810733, + "rhs": 7168000000313688, + "rhs_bits": 53 + }, + "rows": { + "exponent": 22854810733, + "rhs": 3584000000156880000, + "rhs_bits": 62 + } + } + } + ], + "practical_runtime_claim": false + }, + "exactness": [ + { + "common_denominator_bound": 34848, + "correction_numerator_bound": 274032, + "h": 23, + "minor_bounds": { + "2": 38218181861376, + "3": 219993996697351151616, + "4": 1206074983422622280129445888 + }, + "modulus_gaps": { + "2": 2305804791031832575, + "3": 2596143476298113163849933497114623, + "4": 2596142270223349735224350718820351 + }, + "prime_product": 2596143476298333157846630848266239, + "primes": [ + 2305843009213693951, + 2147483647, + 524287 + ], + "single_numerator_bound": 6228 + }, + { + "common_denominator_bound": 44928, + "correction_numerator_bound": 353568, + "h": 25, + "minor_bounds": { + "2": 75405344477184, + "3": 613343016893987684352, + "4": 4772090401825349199521120256 + }, + "modulus_gaps": { + "2": 2305767603869216767, + "3": 2596143476297719814829736860581887, + "4": 2596138704207931332497431327145983 + }, + "prime_product": 2596143476298333157846630848266239, + "primes": [ + 2305843009213693951, + 2147483647, + 524287 + ], + "single_numerator_bound": 7366 + } + ], + "finite_bridge": { + "bit": { + "W": 137151806, + "halving_degree": 9, + "m": 575, + "maxchild": 529, + "wire_bits": 28 + }, + "complex": { + "W": 537696432, + "halving_degree": 20, + "m": 784, + "maxchild": 756, + "s": 421548223824, + "scalar_group_upper": 4793351472, + "scalar_terms": [ + { + "c": 78437, + "copied_center_extra_groups": 56, + "h": 28, + "invocations": 3276, + "local_group_upper": 729892, + "v": 3276 + }, + { + "c": 78437, + "copied_center_extra_groups": 56, + "h": 28, + "invocations": 3276, + "local_group_upper": 729892, + "v": 3276 + } + ], + "wire_bits": 30 + }, + "rows": { + "coefficient": 852, + "contract": "W_complex^D_complex * W_bit^D_bit; one preceding prefix and padding; all temporary copies sequential", + "degree": 2000, + "degree_gap": "6548/25", + "suffix_slope": 8000 + }, + "semantic": { + "B": 9696565176891520488614054257040, + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": 1, + "E": 9696565176891520488192506033216, + "induction_gap": 533311084729033626873772984137200, + "literal_charge": 2771683137698171397039558468, + "strict_literal_gap": 9693793493753822316795466474748 + } + }, + "kappa": "5101691/100000000000", + "local_source_sha256": { + "research\\pair-assembly\\frame\\frame_compile.py": "12e3976daed5f90bb42750553d86802a27465ea875d3fc5b24ed824492df3ee7", + "research\\pair-assembly\\frame\\frame_verify.py": "fafe25d57166a747eeb847444a2e02dd7eed19038b93a2c495014d147d04a8fb", + "scripts\\experiments\\binary_frame_compiler.py": "bc6910c8bbe8224285164323d3c06e9035ad3eaa55416abc2867ae0066454a0c", + "scripts\\experiments\\binary_frame_math.py": "1f96e8aafc8ae89f8eeec5d03800131d93d58e01bf8a7fca8feb03702d1740d0", + "scripts\\experiments\\binary_frame_profile_prepare.py": "8a50381cab00b33e62b3a057d199ba5e19647929135c95b0fd63fc8a8ef7c9b3", + "scripts\\experiments\\binary_frame_profiles.cpp": "8e2e391d3ee57cbb1372c68e4aa031e1b861321536eabd642ada54e12e678669", + "scripts\\experiments\\binary_frame_replay.py": "392e78e62d7685c99a5888a7da743ea6c3dcad631af4a743c91e0c09348442bc" + }, + "scope": "Pair-assembly graph compiled by PR #57's unchanged joint frame compiler. Ordered affine residual compiler, fixed-tape recursion, finite scalar overhead, balanced transfer, analytic/routing/recovery interfaces and PR #57's compiler argument remain inherited.", + "sources": { + "compiler_record": { + "compiler": "scripts/experiments/binary_frame_compiler.py (PR #57, unchanged)", + "graph": "research/pair-assembly/pair_graph.py", + "graph_sha256": "3d47e89d2649c90800a276bdd0480131def50e0bdf92c122a19494b55bf17420" + }, + "inherited": { + "files": { + "research/copied-fixed/balanced_assembly.py": "4d27575dcad2b45a281a34054d311409ecd954f373c0c3a62c29bcc843f06a86", + "research/copied-fixed/certificate.json": "33b3373c04e18a7f4cee33ba68da6ed71934acc3e0179cca6197696be4befa22", + "research/copied-fixed/changed_graph.py": "375a7ca6cac6d153c1880fd5ea5b4525e5dca9d4ee3018d24d679c219b59c5b3", + "research/copied-fixed/profiles.cpp": "b9fbd71c746609948b60c441ba4601e88436956fe636d1810f270ce4ce6a63a6", + "research/copied-fixed/verify.py": "44932182ce6c4d39776650311262ef0ac1ea9b5da7220bc0f728e2789881f84a", + "scripts/exclusion_circuit.py": "b253f9d7318becda1c1f3b24e2287ed44a9c27fcea00cf9d531afb950d0457a0", + "scripts/partial_swap/binary_io.hpp": "7e143eb75bb342ac8f0c82a60005e7c35c9ec827de479bf6fb773151f3af5fa1", + "scripts/partial_swap/paired.py": "ddcecace3a8e04d690914cbd64873ab8dde8c0c3477a255767b0ed6f639bb0c7", + "scripts/partial_swap/shared.py": "81e9af92cdf38243a540cdcff2062778e449467848d444da37a9553c12ca4c34" + }, + "head": "b7194b8586844956904b33e9fe18f0c75606c11b", + "scope": "Unmodified producer inputs for experimental frame compiler; attribution retained in each file", + "source_pr": "https://github.com/CrocSwap/integer-mult-bounds/pull/48" + } + }, + "status": "Conditional exact fixed-basis moment and balanced assembly; inherited transfer hypotheses remain assumed" +} diff --git a/references/frame-compiler/pr62/research/pair-assembly/pair_graph.py b/references/frame-compiler/pr62/research/pair-assembly/pair_graph.py new file mode 100644 index 0000000000..eef8e1eba0 --- /dev/null +++ b/references/frame-compiler/pr62/research/pair-assembly/pair_graph.py @@ -0,0 +1,248 @@ +"""Interval strips and core-aware pair assembly, stacked on PR #53. + +Only the scalar addition DAG changes. Everything else is inherited from +Avi Eisenberg's PR #53 research/skip-strips pipeline, which builds on Chafik +Boukhalfa's PR #48 research/copied-fixed pipeline, Rohan Arun's PR #44 +weighted carrier matching, exact data-corner recovery (PR #46), RaD / +hipotures PR #41 alternating pair order and PR #43's original-envelope / +fixed I+J framework. Those build in turn on icekylinx PR #18/#32/#36 and +earlier credited work. + +New here, two changes to how the paired-exclusion recursion places its sums: + +1. Interval strips. A strip of k values needs every leave-one-out sum. We + build every cyclic interval of the values, each one item longer than an + interval already built: + I(a, m) = I(a, m-1) + v_(a+m-1), + and output s_j = I(j+1, k-1). Each interval I(a, m) with m < k-1 has the + later consumer I(a-1, m+1) of its last item, with a containing cover, so + it can continue a retained carrier. Only the k outputs and the total stay + unmatched. This costs k(k-2)+1 additions instead of about 4k, but the role + count R = additions + outputs - links falls. In a model of one strip, an + exact integer program shows k-1 unmatched additions is the minimum for + k <= 8; intervals reach k-1 or k. They are used for every strip with + k >= 3 nonzero values; smaller strips keep PR #53's layout. + +2. Core-aware pair assembly. For groups i < j with members (a, a2) and + (b, b2), let F = far[i,j] and let Sa, Sa2, Sb, Sb2 be the strip outputs. + Each of the four outputs is F + Sa + Sb + e(a2, b2) and its analogues. We + compute + F+Sa, F+Sa2, F+Sb, F+Sb2, + Y1 = (F+Sb)+Sa, Y2 = (F+Sa)+Sb2, + Y3 = (F+Sa2)+e(a,b2), Y4 = (F+Sb2)+e(a,b), + out[a,b] = e(a2,b2)+Y1, out[a,b2] = e(a2,b)+Y2, + out[a2,b] = Y3+Sb, out[a2,b2] = Y4+Sa2. + Each F+S node then has a later consumer of its strip operand with a + containing envelope (equal common core, larger cover). An exact integer + program over all assemblies of these nine pieces, with the actual cores + and covers, shows 8 unmatched additions per group pair is optimal; the + inherited assembly has 10. + +All supports, envelopes, links and profiles are checked by the inherited +pipeline; nothing here is trusted. + +Apache-2.0, like the inherited files. Prepared with assistance from Claude +(Anthropic). +""" +from itertools import combinations +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +sys.path.insert(0, str(ROOT / 'scripts')) +from partial_swap.paired import PairedExclusionCircuit +from partial_swap.shared import SharedPointCircuit + + +def alternating_points(h, common): + """RaD PR #41 alternating global pair order (as specialized in PR #43/#48).""" + pairs = [(a, a+1) for a in range(0, h-1, 2) if common not in (a, a+1)] + if common % 2: + pairs.reverse() + head = [x for pair in pairs for x in pair] + return head + [x for x in range(h) if x != common and x not in head] + + +def prefix_suffix(c, vals): + """Ordinary leave-one-out: total and s_j = A_{j-1} + B_{j+1}.""" + n = len(vals) + prefix = [0] + for x in vals: + prefix.append(c.add(prefix[-1], x)) + suffix = [0]*(n+1) + for i in range(n-1, -1, -1): + suffix[i] = c.add(vals[i], suffix[i+1]) + return prefix[-1], [c.add(prefix[i], suffix[i+1]) for i in range(n)] + + +def skip_prefix(c, vals): + """PR #53: s_j = A_{j-2} + (v_{j-1} + B_{j+1}) (1-indexed).""" + k = len(vals) + if k <= 2: + return prefix_suffix(c, vals) + v = [0] + list(vals) + A = [0]*(k+1) + for i in range(1, k): + A[i] = c.add(A[i-1], v[i]) + B = [0]*(k+2) + for i in range(k, 1, -1): + B[i] = c.add(v[i], B[i+1]) + out = [0]*(k+1) + out[1] = B[2] + for j in range(2, k+1): + out[j] = c.add(A[j-2], c.add(v[j-1], B[j+1])) + return c.add(A[k-1], v[k]), out[1:] + + +def interval_splits(k): + """Every cyclic interval I(a, m), 2 <= m <= k-1, as I(a, m-1) + v_(a+m-1); total last.""" + full = (1 << k)-1 + interval = lambda a, m: sum(1 << ((a+t) % k) for t in range(m)) + splits = [(interval(a, m), interval(a, m-1), 1 << ((a+m-1) % k)) + for m in range(2, k) for a in range(k)] + return splits + [(full, interval(0, k-1), 1 << (k-1))] + + +def interval_layout(fallback): + """Interval strips for k >= 3 values; the fallback handles k <= 2.""" + def apply(c, vals): + k = len(vals) + if k < 3: + return fallback(c, vals) + splits = interval_splits(k) + node = {1 << i: x for i, x in enumerate(vals)} + for S, L, R in splits: + node[S] = c.add(node[L], node[R]) + full = (1 << k)-1 + return node[full], [node[full ^ (1 << j)] for j in range(k)] + return apply + + +def reversed_layout(layout): + def apply(c, vals): + total, out = layout(c, list(vals)[::-1]) + return total, out[::-1] + return apply + + +def sorted_layout(layout, sign): + """Apply a layout to values sorted by (support size, sign*support); restore order.""" + def apply(c, vals): + order = sorted(range(len(vals)), key=lambda i: (c.support[vals[i]].bit_count(), sign*c.support[vals[i]])) + total, out = layout(c, [vals[i] for i in order]) + restored = [0]*len(vals) + for position, original in enumerate(order): + restored[original] = out[position] + return total, restored + return apply + + +def leave_one_out(c, values, layout): + """Zero entries are omitted; their leave-one-out value is the total.""" + values = list(values) + nonzero = [i for i, x in enumerate(values) if x] + if not nonzero: + return 0, [0]*len(values) + if len(nonzero) == 1: + x = values[nonzero[0]] + return x, [0 if i in nonzero else x for i in range(len(values))] + total, out = layout(c, [values[i] for i in nonzero]) + result = [total]*len(values) + for i, x in zip(nonzero, out): + result[i] = x + return total, result + + +def circuit_class(h): + deep_sign = 1 if h == 23 else -1 + top = reversed_layout(interval_layout(skip_prefix)) + deep = sorted_layout(interval_layout(skip_prefix), deep_sign) + + class PairAssemblyCircuit(PairedExclusionCircuit): + base_threshold = 2 + + def total(self, values): + values = [x for x in values if x] + if h == 23: + values.reverse() + else: + values.sort(key=lambda node: (self.support[node].bit_count(), self.support[node]), reverse=True) + result = 0 + for node in values: + result = self.add(result, node) + return result + + def block(self, points, edges, weights): + level = getattr(self, '_level', -1) + 1 + self._level = level + try: + return self._block(points, edges, weights, level) + finally: + self._level = level - 1 + + def _block(self, points, edges, weights, level): + if len(points) <= self.base_threshold: + return PairedExclusionCircuit.block(self, points, edges, weights) + layout = top if level == 0 else deep + groups = self.grouping(points) + ng = len(groups) + e = lambda a, b: edges[tuple(sorted((a, b)))] + coarse = {(i, j): self.total([e(a, b) for a in groups[i] for b in groups[j]]) + for i, j in combinations(range(ng), 2)} + wt = {i: self.total([weights[a] for a in g] + [e(a, b) for a, b in combinations(g, 2)]) + for i, g in enumerate(groups)} + total, outside, far = self.block(list(range(ng)), coarse, wt) + strips, sums = {}, {} + for i, g in enumerate(groups): + other = [j for j in range(ng) if j != i] + for a in g: + carry = self.total([weights[u] for u in g if u != a]) + vals = [self.total([e(u, v) for u in g if u != a for v in groups[j]]) for j in other] + st, one = leave_one_out(self, [carry] + vals, layout) + strips[a] = {j: z for j, z in zip(other, one[1:])} + sums[a] = st + out = {} + single = {a: self.add(outside[i], sums[a]) for i, g in enumerate(groups) for a in g} + for i, g in enumerate(groups): + for a, b in combinations(g, 2): + out[a, b] = outside[i] + for i, j in combinations(range(ng), 2): + if len(groups[i]) == 2 and len(groups[j]) == 2: + (a, a2), (b, b2) = groups[i], groups[j] + F = far[i, j] + Sa, Sa2, Sb, Sb2 = strips[a][j], strips[a2][j], strips[b][i], strips[b2][i] + FSa, FSa2 = self.add(F, Sa), self.add(F, Sa2) + FSb, FSb2 = self.add(F, Sb), self.add(F, Sb2) + Y1 = self.add(FSb, Sa) + Y2 = self.add(FSa, Sb2) + Y3 = self.add(FSa2, e(a, b2)) + Y4 = self.add(FSb2, e(a, b)) + out[a, b] = self.add(e(a2, b2), Y1) + out[a, b2] = self.add(e(a2, b), Y2) + out[a2, b] = self.add(Y3, Sb) + out[a2, b2] = self.add(Y4, Sa2) + continue + for a in groups[i]: + left = self.add(far[i, j], strips[a][j]) + for b in groups[j]: + cross = self.total([e(u, v) for u in groups[i] if u != a for v in groups[j] if v != b]) + out[a, b] = self.add(left, self.add(strips[b][i], cross)) + return total, single, out + return PairAssemblyCircuit + + +def graph(h): + assert h in (23, 25) + local = circuit_class(h)(h-1) + total = local.pair(list(range(h-1)))[0] + local.outputs[()] = total + stack = [total] + while stack: + node = stack.pop() + if not node or node in local.active: + continue + local.active.add(node) + if local.args[node]: + stack.extend(local.args[node]) + local.additions = sum(local.args[node] is not None for node in local.active) + return SharedPointCircuit(h, local, point_order=alternating_points) diff --git a/research/joint-dual/SOURCE.json b/research/joint-dual/SOURCE.json index 80c0f29dc4..f8f51f8325 100644 --- a/research/joint-dual/SOURCE.json +++ b/research/joint-dual/SOURCE.json @@ -3,8 +3,8 @@ "base_pr57_commit": "cd350f76c9bc01489ec83568bded532cb69be938", "base_pr58_commit": "bc2f7ed4c20dc18898305ab17165c0c995cbb804", "files": { - "Makefile": "97620e0205736d9c0fce736e8ac6ab67f8ed0e490c381f6cac152cc6a003dca7", - "NOTICE": "1c53970fb4face631a1b331ec66d33111eccd280a129f9b64c2da6df96861c3f", + "Makefile": "f26613ee2c55f8a14e7115cdef6558409aa4a68b1986f38d64de02c39e2b9c79", + "NOTICE": "6362b95b44b119d045a4780f4a8398707c224e9971f32dc78ae55b17f7961942", "README.md": "fd92de31aece76b1f5ff897e6e0dbc38dd3bf67c140579bbcb03a1a11a792668", "certificates/joint-dual-compiler.json": "516c4d85158553dabd0a98216a064b2a7397957a9d5dd0df1d6e5aec53a4e805", "certificates/joint-dual-profiles-23.json": "159fa8fee175fc1d24f63e72d3c2f1dc9f4fcd78b938c5e7d2f735fd0fd37209", diff --git a/scripts/experiments/balanced_coarse_README.txt b/scripts/experiments/balanced_coarse_README.txt new file mode 100644 index 0000000000..d4534278e5 --- /dev/null +++ b/scripts/experiments/balanced_coarse_README.txt @@ -0,0 +1,62 @@ +Balanced coarse sums: finite physical witness + +Run from the repository root with Python 3 and a C++17 compiler available: + + python3 scripts/experiments/verify_balanced_coarse.py + +An independent dense global-support audit also checks the scalar graph: + + python3 scripts/experiments/pr62_exploration/audit_balanced_coarse.py \ + --check certificates/balanced-coarse-independent-audit.json + +Regenerate each physical word with the pinned compiler, for example: + + python3 scripts/experiments/balanced_coarse_compiler.py --h 23 \ + --output /tmp/balanced-coarse-23-receipt.json \ + --word /tmp/balanced-coarse-23.json.gz + +Repeat with --h 25 and corresponding output paths. + +Assertions must remain enabled. The verifier independently replays both saved +physical XOR words on the complete input and dirty basis in both orientations, +checks every original-envelope frame incidence, reconstructs transitions, +recomputes fixed-I+J profiles with bounded-minor CRT controls, and checks the +exact recurrence, all 47 strict assembly inequalities and seven margins. +It binds the source manifests, compiler record, words and verification code. +It also excludes the complete pinned predecessor child network at the new +bit saving using an exact lower moment bound. + +The fixed rational witness is + + bit saving = 513710137 / 10000000000000 + kappa = 1284209371 / 25000000000000 = 0.00005136837484. + +The local change factors a four-edge coarse sum into two two-edge column sums +and then their sum. Each sum still takes three additions before interning; +existing interning can now share the column sums with strip computations. +The intermediate envelopes and physical carrier opportunities also change. +The resulting words use 27,698 roles at dimension 23 and 36,300 at dimension +25; actual transition profiles and every dirty coordinate are checked. + +The surrounding interval graph is PR62 (Avi Eisenberg / ikeboy with +Anthropic Claude assistance), joint frame compilation is PR57 (eumemic with +OpenAI Codex assistance), and descending-rank reclamation is PR60 (Chafik +Boukhalfa with OpenAI Codex assistance). Dominik Scholz's contemporaneous +PR63 uses those three ingredients before the balanced coarse-sum change. +The pinned ranked-interval comparison is an independent reproduction of +that predecessor, with finer rational rounding. PR64 reports a still finer +arithmetic refinement of the same predecessor words; the certificate labels +that comparison as reported, without claiming to replay the PR64 sources. The new factorization and +this finite integration were prepared with OpenAI Codex assistance. + +Outputs use the certificates/balanced-coarse- prefix. The exact composition +is in balanced-coarse-kappa.json and the completed replay record is in +balanced-coarse-validation.json. The producer and inherited sources are +hash-pinned under references/frame-compiler/balanced-coarse; original +attribution and license notices are preserved. + +Scope: this is a finite conditional certificate. The data profile and its +ten exact rational recoveries, ordered affine residual compiler, fixed-tape +recursion, scalar overhead, balanced transfer, analytic, routing and recovery +interfaces remain inherited dependencies. It is not an unconditional proof +of an improved integer-multiplication theorem or a global optimality claim. diff --git a/scripts/experiments/balanced_coarse_compiler.py b/scripts/experiments/balanced_coarse_compiler.py new file mode 100644 index 0000000000..271b44d795 --- /dev/null +++ b/scripts/experiments/balanced_coarse_compiler.py @@ -0,0 +1,93 @@ +#!/usr/bin/env python3 +"""Balance each four-edge coarse sum in PR62 into two column pair-star sums. + +Instead of a three-addition chain, use (e(a,b)+e(a2,b))+(e(a,b2)+e(a2,b2)). +The existing interning shares pair-star sums with the strip computations. +Only the coarse-edge construction changes. The full graph is checked and +compiled, so all remaining copies and clearing operations remain charged. + +Base graph: Avi Eisenberg / ikeboy, with Anthropic Claude assistance (#62). +Compiler: eumemic with OpenAI Codex assistance (#57). Rank priority: Chafik +Boukhalfa with OpenAI Codex assistance (#60). Their unchanged composition +is also published by Dominik Scholz with OpenAI Codex assistance (#63). +This coarse-sum experiment was prepared with OpenAI Codex assistance. +All inherited licenses and notices remain. +""" +import sys +sys.dont_write_bytecode = True +if sys.flags.optimize: + raise ValueError('Assertions must remain enabled') +import argparse +import gzip +from hashlib import sha256 +import inspect +import json +from pathlib import Path + +import binary_frame_compiler as compiler +import ranked_interval_compiler as predecessor + +ROOT = Path(__file__).resolve().parents[2] +PIN = ROOT / 'references/frame-compiler/balanced-coarse' +BEFORE = ''' coarse = {(i, j): self.total([e(a, b) for a in groups[i] for b in groups[j]]) + for i, j in combinations(range(ng), 2)}''' +AFTER = ''' def coarse_sum(i, j): + columns = [self.total([e(a,b) for a in groups[i]]) for b in groups[j]] + return self.total(columns) + coarse = {(i,j):coarse_sum(i,j) for i,j in combinations(range(ng),2)}''' + + +def check_sources(): + predecessor.check_sources() + manifest = json.loads((PIN / 'SOURCE.json').read_text()) + for name, digest in manifest['files'].items(): + assert sha256((PIN / name).read_bytes()).hexdigest() == digest, name + dependency = PIN / manifest['shared_dependency_manifest'] + assert sha256(dependency.read_bytes()).hexdigest() == manifest['shared_dependency_manifest_sha256'] + return manifest + + +def graph(h): + assert h in (23, 25) + check_sources() + path = predecessor.PIN / 'research/pair-assembly/pair_graph.py' + source = path.read_text() + assert source.count(BEFORE) == 1 + namespace = {'__file__': str(path), '__name__': 'balanced_coarse_pr62'} + exec(compile(source.replace(BEFORE, AFTER), str(path) + ':balanced_coarse', 'exec'), namespace) + result = namespace['graph'](h) + result.verify() + return result + + +def compile_axis(h): + circuit = graph(h) + source = inspect.getsource(compiler.compile_) + before = 'for s in sorted(retired):' + after = "for s in sorted(retired, key=lambda s: (-blocks[frames[s]]['rank'], s)):" + assert source.count(before) == 1 + namespace = dict(vars(compiler)) + exec(compile(source.replace(before, after), __file__ + ':ranked_compile', 'exec'), namespace) + # build() is the original function and resolves graph in compiler's globals. + previous = compiler.graph + compiler.graph = lambda _: circuit + try: + result, word = namespace['compile_'](h, matching=True, reclaim=True, dirty=True) + finally: + compiler.graph = previous + result['scalar'] = circuit.verify() + result['baseline_pr62_stacked_roles'] = {23: 27918, 25: 36586}[h] + return result, word + + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--h', type=int, choices=(23, 25), required=True) + parser.add_argument('--output', type=Path, required=True) + parser.add_argument('--word', type=Path, required=True) + args = parser.parse_args() + result, word = compile_axis(args.h) + raw = (json.dumps(word, separators=(',', ':')) + '\n').encode() + args.word.write_bytes(gzip.compress(raw, mtime=0)) + args.output.write_text(json.dumps(result, indent=2) + '\n') + print(json.dumps(result), flush=True) diff --git a/scripts/experiments/balanced_coarse_compose.py b/scripts/experiments/balanced_coarse_compose.py new file mode 100644 index 0000000000..2443c02c2c --- /dev/null +++ b/scripts/experiments/balanced_coarse_compose.py @@ -0,0 +1,169 @@ +"""Exact conditional assembly of the balanced coarse-sum composition. + +Uses the unchanged fixed-I+J profiles and balanced assembly interfaces from +PR48. All auxiliary counts come from complete serialized new physical words. +The fixed rational witness is independent of discovery or floating arithmetic. +Four-edge coarse sums use two two-edge column sums and then their sum. +The inherited interval graph, frame compiler and rank priority are retained. +""" +import sys +sys.dont_write_bytecode = True +if sys.flags.optimize: + raise ValueError('Assertions must remain enabled') + +from collections import Counter +from fractions import Fraction as Q +from hashlib import sha256 +from math import comb +from pathlib import Path +import gzip +import importlib.util +import json + +import binary_frame_math as arithmetic + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[1] +OUT = ROOT / 'certificates' +INHERITED = ROOT / 'references/frame-compiler/pr48' +OLD = INHERITED / 'research/copied-fixed' +PRODUCER = ROOT / 'references/frame-compiler/balanced-coarse' +AB = Q(513710137, 10**13) +KAPPA = Q(1284209371, 25000000000000) +EXCLUDED_ABOVE = Q(25685507, 500000000000) +PR63_REPORTED_KAPPA = Q(5102757, 10**11) +PR64_REPORTED_KAPPA = Q(20411033624901463, 400000000000000000000) + +spec = importlib.util.spec_from_file_location('balanced_coarse_balanced_assembly', OLD / 'balanced_assembly.py') +balanced = importlib.util.module_from_spec(spec) +spec.loader.exec_module(balanced) + + +def check_sources(): + manifests = [] + pending = [INHERITED, PRODUCER] + seen = set() + while pending: + directory = pending.pop(0).resolve() + if directory in seen: + continue + seen.add(directory) + path = directory / 'SOURCE.json' + document = json.loads(path.read_text()) + for name, digest in document['files'].items(): + assert sha256((directory / name).read_bytes()).hexdigest() == digest, name + if 'shared_dependency_manifest' in document: + dependency = directory / document['shared_dependency_manifest'] + assert sha256(dependency.read_bytes()).hexdigest() == document['shared_dependency_manifest_sha256'] + pending.append(dependency.resolve().parent) + manifests.append(document) + return manifests + + +def profile(): + a, b = 23, 25 + m, N = a*b, comb(a, 3)*comb(b, 3) + profiles = [json.loads((OUT / f'balanced-coarse-profiles-{h}.json').read_text()) for h in (a, b)] + words = json.loads((OUT / 'balanced-coarse-compiler.json').read_text()) + W = 2*N + sum(N//f['v']*f['R'] for f in profiles) + L = sum(N//f['v']*f['loss'] for f in profiles) + parts = {'data': Counter({1: 18*N, 21: 2*N, 17: 2*N, 481: 2*N}), + 'paid_endpoint_copy': Counter({1: N})} + receipts = [] + for f in profiles: + h = f['h'] + rep, bank = N//f['v'], N//f['v']*f['R'] + recorded = words['axes'][str(h)] + replay = recorded['replay'] + receipt = json.loads((OUT / f'balanced-coarse-transitions-{h}.json').read_text()) + for key in ('h', 'v', 'R'): + assert f[key] == receipt[key] + assert f['R'] == replay['roles'] == {23: 27698, 25: 36300}[h] + assert recorded['compiled']['roles'] == f['R'] + assert recorded['compiled']['complete_dirty_basis_both_orientations'] + assert recorded['compiled']['all_physical_frame_inclusions'] + assert f['v'] == comb(h, 3) and f['loss'] == h*(h-1) + assert f['crt_disagreements'] == 0 and f['field_prime'] == 2**61-1 + assert sum(t*n for t, n in enumerate(f['blocks'])) == h*f['R']+f['loss'] == f['rank_sum'] == receipt['rank_mass'] == replay['rank_mass'] + assert f['blocks'][h] == 0 # Copied centers already included. + assert receipt['transition_events_equal_independent_xor_word_reconstruction'] + packed = (OUT / f'balanced-coarse-word-{h}.json.gz').read_bytes() + assert sha256(packed).hexdigest() == recorded['gzip_sha256'] + assert sha256(gzip.decompress(packed)).hexdigest() == recorded['word_sha256'] == receipt['word_sha256'] + histogram = {str(k): v for k, v in replay['histogram'].items() if int(k)} + side = replay['output_roles']-h + histogram['2'] -= side + histogram['1'] += 2*side + assert histogram == receipt['rank_histogram_with_side_growth_split_into_singletons'] + arithmetic.exactness(h) + parts[f'internal_{h}'] = Counter({t: n*rep for t, n in enumerate(f['blocks']) if t and n}) + parts[f'exterior_{h}'] = Counter({h: bank, m-2*h: bank}) + parts[f'data_growth_{h}'] = Counter({1: 2*N, h-2: 2*N}) + receipts.append(receipt) + rows = sum(parts.values(), Counter()) + mass = sum(t*n for t, n in rows.items()) + assert mass == m*W-N+L and max(rows) == 529 and all(0 < t < m for t in rows) + assert (W, mass, m*W-mass) == (136139300, 78278250600, 1846900) + return dict(m=m, N=N, W=W, L=L, total_rank=mass, deficit=m*W-mass, + maxchild=max(rows), child_multiplicities=dict(sorted(rows.items())), + parts=parts, axes=profiles, words=receipts) + + +def compose(): + assert all(type(x) is Q for x in (AB, KAPPA, EXCLUDED_ABOVE)), 'Final exact witness not pinned' + sources = check_sources() + compiler_record = json.loads((OUT / 'balanced-coarse-compiler.json').read_text()) + assert compiler_record['source'] == sources[1] + predecessor = json.loads((OUT / 'ranked-interval-kappa.json').read_text()) + p = profile() + exact = arithmetic.moment(p['m'], p['W'], p['child_multiplicities'], AB) + excluded = arithmetic.moment(p['m'], p['W'], p['child_multiplicities'], EXCLUDED_ABOVE) + assert exact['strict_gap'] > 0 and excluded['lower'] > 1 + previous_bit = predecessor['bit'] + previous_moment = arithmetic.moment( + previous_bit['m'], previous_bit['W'], + {int(t): n for t, n in previous_bit['child_multiplicities'].items()}, AB) + assert previous_moment['lower'] > 1 + prior = json.loads((OLD / 'certificate.json').read_text()) + bridge = prior['finite_bridge'] + bridge['bit']['W'] = p['W'] + assert p['W'].bit_length() == bridge['bit']['wire_bits'] + assembled = balanced.assembly(bridge, AB, KAPPA, a_complex=Q(717, 10**7)) + assert len(assembled['constraints']) == 47 and len(assembled['margins']) == 7 + local_sources = [HERE / name for name in ( + 'balanced_coarse_compiler.py', 'balanced_coarse_compose.py', 'verify_balanced_coarse.py', + 'binary_frame_compiler.py', 'binary_frame_math.py', 'binary_frame_replay.py', + 'binary_frame_profile_prepare.py', 'binary_frame_profiles.cpp')] + result = dict( + status='Conditional exact fixed-basis moment and balanced assembly; inherited transfer hypotheses remain assumed', + kappa=KAPPA, bit_saving=AB, bit_saving_excluded_above=EXCLUDED_ABOVE, + bit=dict(p, moment=exact, excluded_above_lower=excluded['lower']), + controls=dict(ranked_interval_at_new_bit_saving=dict( + moment=previous_moment, + strict_exclusion_gap=previous_moment['lower']-1, + scope='The complete hash-pinned predecessor child network fails the exact lower moment test at the new bit saving.')), + assembly=assembled, eventual_bounds=balanced.cutoffs(bridge, assembled), finite_bridge=bridge, + comparison=dict(pr48_kappa=Q(prior['kappa']), + ranked_interval_kappa=Q(predecessor['kappa']), + ratio_ranked_interval=KAPPA/Q(predecessor['kappa']), + pr63_reported_kappa=PR63_REPORTED_KAPPA, + ratio_pr63_reported=KAPPA/PR63_REPORTED_KAPPA, + pr63_comparison_scope='Reported PR63 value for the interval graph, joint frame compiler and descending-rank priority; the complete PR63 source witness was not independently replayed here. The separately pinned ranked-interval certificate independently reproduces this composition with finer rounding.', + pr64_reported_kappa=PR64_REPORTED_KAPPA, + ratio_pr64_reported=KAPPA/PR64_REPORTED_KAPPA, + pr64_comparison_scope='Reported PR64 arithmetic refinement for the same physical words as PR63; its complete source witness was not independently replayed here.', + next_dyadic_reached=KAPPA > Q(1, 2**14)), + exactness=[arithmetic.exactness(h) for h in (23, 25)], sources=sources, + local_source_sha256={str(p.relative_to(ROOT)): sha256(p.read_bytes()).hexdigest() for p in local_sources}, + dependencies=dict( + data_profile='Unchanged inherited all-pairs data profile: 9 singletons +21+17+481; ten exact rational recoveries', + producer='Balanced column-pair factorization of each four-edge coarse sum, prepared with OpenAI Codex assistance. Based on PR62 cyclic interval graph (Avi Eisenberg / ikeboy with Anthropic Claude assistance), PR57 joint frame compiler (eumemic with OpenAI Codex assistance), and PR60 descending-rank reclamation priority (Chafik Boukhalfa with OpenAI Codex assistance); complete serialized physical words', + geometry='Unchanged fixed-I+J original-envelope projector and CRT formulas', + proof_scope='Ordered affine residual compiler, fixed-tape recursion, finite scalar overhead, balanced transfer, analytic/routing/recovery interfaces remain inherited.')) + (OUT / 'balanced-coarse-kappa.json').write_text(json.dumps(arithmetic.js(result), indent=2, sort_keys=True)+'\n') + print('PASS conditional kappa='+str(KAPPA)+'; bit saving='+str(AB), flush=True) + return result + + +if __name__ == '__main__': + compose() diff --git a/scripts/experiments/pr62_exploration/audit_balanced_coarse.py b/scripts/experiments/pr62_exploration/audit_balanced_coarse.py new file mode 100644 index 0000000000..e4787483ef --- /dev/null +++ b/scripts/experiments/pr62_exploration/audit_balanced_coarse.py @@ -0,0 +1,138 @@ +#!/usr/bin/env python3 +"""Audit the final balanced graph using dense global triple coefficients. + +Run from the repository root: + python3 scripts/experiments/pr62_exploration/audit_balanced_coarse.py \ + --check certificates/balanced-coarse-independent-audit.json + +No physical compilation is run. This audit reconstructs source coefficients, +common cores and covers directly through the scalar DAG. It does not use +the producer's local-support or cross-common-point provenance routines. +""" +import sys +sys.dont_write_bytecode = True +if sys.flags.optimize: + raise ValueError('Assertions must remain enabled') +import argparse +from hashlib import sha256 +from itertools import combinations +import json +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[3] +sys.path.insert(0, str(ROOT / 'scripts/experiments')) +import balanced_coarse_compiler as producer + + +def source_hashes(): + """Check all manifest dependencies independently and retain exact hashes.""" + pending = [producer.PIN / 'SOURCE.json'] + paths = {Path(__file__).resolve()} + visited = set() + while pending: + manifest = pending.pop().resolve() + if manifest in visited: + continue + visited.add(manifest) + paths.add(manifest) + data = json.loads(manifest.read_text()) + for name, expected in data['files'].items(): + path = (manifest.parent / name).resolve() + assert sha256(path.read_bytes()).hexdigest() == expected, f'Changed source: {path}' + paths.add(path) + if 'shared_dependency_manifest' in data: + dependency = (manifest.parent / data['shared_dependency_manifest']).resolve() + assert sha256(dependency.read_bytes()).hexdigest() == data['shared_dependency_manifest_sha256'], dependency + pending.append(dependency) + return {str(path.relative_to(ROOT)): sha256(path.read_bytes()).hexdigest() for path in sorted(paths)} + + +def audit(h): + circuit = producer.graph(h) + triples = list(combinations(range(h), 3)) + assert circuit.h == h and circuit.inputs == triples + n = len(triples) + expected_keys = {(p, (p,)) for p in range(h)} + expected_keys.update((p, tuple(sorted((p, a, b)))) + for p in range(h) + for a, b in combinations([v for v in range(h) if v != p], 2)) + assert set(circuit.outputs) == expected_keys + + # Reconstruct the reachable node set from the output ports. + active = set() + stack = list(circuit.outputs.values()) + while stack: + node = stack.pop() + if node in active: + continue + assert 0 < node < len(circuit.args) + active.add(node) + if circuit.args[node] is not None: + stack.extend(circuit.args[node]) + assert active == circuit.active + + signals = {} + cores = {} + covers = {} + additions = 0 + digest = sha256() + width = (n + 7) // 8 + for node in sorted(active): + operands = circuit.args[node] + if operands is None: + assert 1 <= node <= n + signals[node] = 1 << (node - 1) + cores[node] = covers[node] = sum(1 << v for v in triples[node - 1]) + else: + a, b = operands + assert 0 < a < node and 0 < b < node + assert not signals[a] & signals[b], f'Overlapping addition at {node}' + signals[node] = signals[a] ^ signals[b] + cores[node] = cores[a] & cores[b] + covers[node] = covers[a] | covers[b] + additions += 1 + assert cores[node], f'No common point at {node}' + assert circuit.core[node] == cores[node], f'Wrong core at {node}' + assert circuit.union[node] == covers[node], f'Wrong cover at {node}' + digest.update(json.dumps((node, operands, cores[node], covers[node]), separators=(',', ':')).encode() + b'\n') + digest.update(signals[node].to_bytes(width, 'little')) + assert additions == circuit.additions + assert {node for node in active if circuit.args[node] is None} == set(range(1, n + 1)) + + for (common, target), node in sorted(circuit.outputs.items()): + omitted = set(target) - {common} + expected = sum(1 << j for j, triple in enumerate(triples) + if common in triple and not omitted.intersection(triple)) + assert signals[node] == expected, f'Wrong output {(common, target)}' + digest.update(json.dumps((common, target, node), separators=(',', ':')).encode() + b'\n') + + return dict(h=h, inputs=n, outputs=len(expected_keys), active_nodes=len(active), + additions=additions, direct_global_coefficient_sha256=digest.hexdigest(), + all_additions_disjoint=True, all_output_coefficients_exact=True, + all_cores_and_covers_exact=True, every_node_has_common_point=True, + complete_output_inventory=True, active_set_exact=True, + scope='Scalar DAG only; physical dirty-role and profile checks are separate.') + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output', type=Path, help='Save the receipt instead of printing it.') + parser.add_argument('--check', type=Path, help='Require an exact match to an existing receipt.') + args = parser.parse_args() + hashes = source_hashes() + rows = [audit(h) for h in (23, 25)] + assert source_hashes() == hashes, 'Sources changed during the audit' + receipt = dict(source_hashes=hashes, results=rows, + scope='Independent dense global scalar coefficients and core/cover audit of balanced_coarse_compiler.graph. No compilation or new kappa calculation.') + if args.check: + assert receipt == json.loads(args.check.read_text()), 'Audit receipt differs' + encoded = json.dumps(receipt, indent=2, sort_keys=True) + '\n' + if args.output: + args.output.write_text(encoded) + elif not args.check: + print(encoded, end='') + print('Independent balanced-coarse scalar audit passed at h=23 and h=25.', file=sys.stderr) + + +if __name__ == '__main__': + main() diff --git a/scripts/experiments/ranked_interval_README.txt b/scripts/experiments/ranked_interval_README.txt new file mode 100644 index 0000000000..5e637da514 --- /dev/null +++ b/scripts/experiments/ranked_interval_README.txt @@ -0,0 +1,45 @@ +Rank-priority interval composition: independent finite reproduction + +Run from the repository root with Python 3 and a C++17 compiler available: + + python3 scripts/experiments/verify_ranked_interval.py + +Assertions must remain enabled. The verifier independently replays both saved +physical XOR words on the full input and dirty basis in both orientations, +checks every original-envelope frame incidence, reconstructs transitions, +recomputes fixed-I+J profiles with bounded-minor CRT controls, and checks the +exact recurrence, all 47 strict assembly inequalities and seven margins. +It also checks source manifests and both compressed and raw word hashes. + +The saved words can be regenerated individually, for example: + + python3 scripts/experiments/ranked_interval_compiler.py --h 23 \ + --output /tmp/ranked-interval-23-receipt.json \ + --word /tmp/ranked-interval-23.json.gz + +Repeat with --h 25. Regeneration uses the graph pinned under +references/frame-compiler/pr62 and the local compiler sources. The saved +compiler receipt records complete dirty/frame checks and independent replays. + +The fixed rational witness is + + bit saving = 255150939 / 5000000000000 + kappa = 318922399 / 6250000000000 = 0.00005102758384. + +This composes PR62's cyclic interval graph (Avi Eisenberg / ikeboy, with +Anthropic Claude assistance), PR57's joint frame compiler (eumemic, with +OpenAI Codex assistance), and PR60's descending-rank reclamation priority +(Chafik Boukhalfa, with OpenAI Codex assistance). Dominik Scholz's +contemporaneous PR63 reports the same composition with a slightly coarser +rational witness. This package provides an independent reproduction and +finer exact rounding; it does not claim a new graph or priority mechanism. + +Outputs are certificates/ranked-interval-{kappa,validation}.json together +with compiler, word, transition and profile records using the same prefix. +The source manifest preserves inherited attribution and license notices. + +Scope: this is a finite conditional certificate. The data profile and its +ten exact rational recoveries, ordered affine residual compiler, fixed-tape +recursion, scalar overhead, balanced transfer, analytic, routing and recovery +interfaces remain inherited dependencies. It is not an unconditional proof +of an improved integer-multiplication theorem or a global optimality claim. diff --git a/scripts/experiments/ranked_interval_compiler.py b/scripts/experiments/ranked_interval_compiler.py new file mode 100644 index 0000000000..e5fd2c01b5 --- /dev/null +++ b/scripts/experiments/ranked_interval_compiler.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python3 +"""Compose PR62's interval graph, PR57's compiler and PR60's slot priority. + +The scalar graph is unchanged: Avi Eisenberg / ikeboy with Anthropic Claude +assistance. Joint frame synthesis is eumemic's PR57 with OpenAI Codex +assistance. Descending-rank reclamation is Chafik Boukhalfa's PR60 with +OpenAI Codex assistance. This file packages and checks their composition; +it does not claim a new graph or priority rule. Inherited notices remain. +""" +import sys +sys.dont_write_bytecode = True +if sys.flags.optimize: + raise ValueError('Assertions must remain enabled') +import argparse +import gzip +from hashlib import sha256 +import importlib.util +import inspect +import json +from pathlib import Path + +import binary_frame_compiler as compiler + +ROOT = Path(__file__).resolve().parents[2] +PIN = ROOT / 'references/frame-compiler/pr62' + + +def check_sources(): + manifest = json.loads((PIN / 'SOURCE.json').read_text()) + for name, digest in manifest['files'].items(): + assert sha256((PIN / name).read_bytes()).hexdigest() == digest, name + dependency = PIN / manifest['shared_dependency_manifest'] + assert sha256(dependency.read_bytes()).hexdigest() == manifest['shared_dependency_manifest_sha256'] + for name, digest in json.loads(dependency.read_text())['files'].items(): + assert sha256((dependency.parent / name).read_bytes()).hexdigest() == digest, name + return manifest + + +def compile_axis(h): + assert h in (23, 25) + check_sources() + spec = importlib.util.spec_from_file_location('ranked_interval_pr62', PIN / 'research/pair-assembly/pair_graph.py') + producer = importlib.util.module_from_spec(spec) + spec.loader.exec_module(producer) + graph = producer.graph(h) + scalar = graph.verify() + source = inspect.getsource(compiler.compile_) + before = 'for s in sorted(retired):' + after = "for s in sorted(retired, key=lambda s: (-blocks[frames[s]]['rank'], s)):" + assert source.count(before) == 1 + namespace = dict(vars(compiler)) + exec(compile(source.replace(before, after), __file__ + ':ranked_compile', 'exec'), namespace) + previous = compiler.graph + compiler.graph = lambda _: graph + try: + result, word = namespace['compile_'](h, matching=True, reclaim=True, dirty=True) + finally: + compiler.graph = previous + result['scalar'] = scalar + result['baseline_pr62_stacked_roles'] = {23: 27918, 25: 36586}[h] + return result, word + + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--h', type=int, choices=(23, 25), required=True) + parser.add_argument('--output', type=Path, required=True) + parser.add_argument('--word', type=Path, required=True) + args = parser.parse_args() + result, word = compile_axis(args.h) + raw = (json.dumps(word, separators=(',', ':')) + '\n').encode() + args.word.write_bytes(gzip.compress(raw, mtime=0)) + args.output.write_text(json.dumps(result, indent=2) + '\n') + print(json.dumps(result), flush=True) diff --git a/scripts/experiments/ranked_interval_compose.py b/scripts/experiments/ranked_interval_compose.py new file mode 100644 index 0000000000..d7f536f217 --- /dev/null +++ b/scripts/experiments/ranked_interval_compose.py @@ -0,0 +1,160 @@ +"""Exact conditional assembly of the rank-priority interval composition. + +Uses the unchanged fixed-I+J profiles and balanced assembly interfaces from +PR48. All auxiliary counts come from complete serialized new physical words. +The fixed rational witness is independent of discovery or floating arithmetic. +This independently reproduces the composition also submitted as PR63; the +slightly larger rational witness is finer rounding, not a new mechanism. +""" +import sys +sys.dont_write_bytecode = True +if sys.flags.optimize: + raise ValueError('Assertions must remain enabled') + +from collections import Counter +from fractions import Fraction as Q +from hashlib import sha256 +from math import comb +from pathlib import Path +import gzip +import importlib.util +import json + +import binary_frame_math as arithmetic + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[1] +OUT = ROOT / 'certificates' +INHERITED = ROOT / 'references/frame-compiler/pr48' +OLD = INHERITED / 'research/copied-fixed' +PRODUCER = ROOT / 'references/frame-compiler/pr62' +AB = Q(255150939, 5000000000000) +KAPPA = Q(318922399, 6250000000000) +EXCLUDED_ABOVE = Q(510301881, 10**13) +PR61_REPORTED_KAPPA = Q(25508460085039, 5*10**17) +PR63_REPORTED_KAPPA = Q(5102757, 10**11) + +spec = importlib.util.spec_from_file_location('ranked_interval_balanced_assembly', OLD / 'balanced_assembly.py') +balanced = importlib.util.module_from_spec(spec) +spec.loader.exec_module(balanced) + + +def check_sources(): + manifests = [] + pending = [INHERITED, PRODUCER] + seen = set() + while pending: + directory = pending.pop(0).resolve() + if directory in seen: + continue + seen.add(directory) + path = directory / 'SOURCE.json' + document = json.loads(path.read_text()) + for name, digest in document['files'].items(): + assert sha256((directory / name).read_bytes()).hexdigest() == digest, name + if 'shared_dependency_manifest' in document: + dependency = directory / document['shared_dependency_manifest'] + assert sha256(dependency.read_bytes()).hexdigest() == document['shared_dependency_manifest_sha256'] + pending.append(dependency.resolve().parent) + manifests.append(document) + return manifests + + +def profile(): + a, b = 23, 25 + m, N = a*b, comb(a, 3)*comb(b, 3) + profiles = [json.loads((OUT / f'ranked-interval-profiles-{h}.json').read_text()) for h in (a, b)] + words = json.loads((OUT / 'ranked-interval-compiler.json').read_text()) + W = 2*N + sum(N//f['v']*f['R'] for f in profiles) + L = sum(N//f['v']*f['loss'] for f in profiles) + parts = {'data': Counter({1: 18*N, 21: 2*N, 17: 2*N, 481: 2*N}), + 'paid_endpoint_copy': Counter({1: N})} + receipts = [] + for f in profiles: + h = f['h'] + rep, bank = N//f['v'], N//f['v']*f['R'] + recorded = words['axes'][str(h)] + replay = recorded['replay'] + receipt = json.loads((OUT / f'ranked-interval-transitions-{h}.json').read_text()) + for key in ('h', 'v', 'R'): + assert f[key] == receipt[key] + assert f['R'] == replay['roles'] == {23: 27918, 25: 36586}[h] + assert recorded['compiled']['roles'] == f['R'] + assert recorded['compiled']['complete_dirty_basis_both_orientations'] + assert recorded['compiled']['all_physical_frame_inclusions'] + assert f['v'] == comb(h, 3) and f['loss'] == h*(h-1) + assert f['crt_disagreements'] == 0 and f['field_prime'] == 2**61-1 + assert sum(t*n for t, n in enumerate(f['blocks'])) == h*f['R']+f['loss'] == f['rank_sum'] == receipt['rank_mass'] == replay['rank_mass'] + assert f['blocks'][h] == 0 # Copied centers already included. + assert receipt['transition_events_equal_independent_xor_word_reconstruction'] + packed = (OUT / f'ranked-interval-word-{h}.json.gz').read_bytes() + assert sha256(packed).hexdigest() == recorded['gzip_sha256'] + assert sha256(gzip.decompress(packed)).hexdigest() == recorded['word_sha256'] == receipt['word_sha256'] + histogram = {str(k): v for k, v in replay['histogram'].items() if int(k)} + side = replay['output_roles']-h + histogram['2'] -= side + histogram['1'] += 2*side + assert histogram == receipt['rank_histogram_with_side_growth_split_into_singletons'] + arithmetic.exactness(h) + parts[f'internal_{h}'] = Counter({t: n*rep for t, n in enumerate(f['blocks']) if t and n}) + parts[f'exterior_{h}'] = Counter({h: bank, m-2*h: bank}) + parts[f'data_growth_{h}'] = Counter({1: 2*N, h-2: 2*N}) + receipts.append(receipt) + rows = sum(parts.values(), Counter()) + mass = sum(t*n for t, n in rows.items()) + assert mass == m*W-N+L and max(rows) == 529 and all(0 < t < m for t in rows) + assert (W, mass, m*W-mass) == (137151806, 78860441550, 1846900) + return dict(m=m, N=N, W=W, L=L, total_rank=mass, deficit=m*W-mass, + maxchild=max(rows), child_multiplicities=dict(sorted(rows.items())), + parts=parts, axes=profiles, words=receipts) + + +def compose(): + assert all(type(x) is Q for x in (AB, KAPPA, EXCLUDED_ABOVE)), 'Final exact witness not pinned' + sources = check_sources() + compiler_record = json.loads((OUT / 'ranked-interval-compiler.json').read_text()) + assert compiler_record['source'] == sources[1] + pr62 = json.loads((PRODUCER / 'comparison-pr62.json').read_text()) + p = profile() + exact = arithmetic.moment(p['m'], p['W'], p['child_multiplicities'], AB) + excluded = arithmetic.moment(p['m'], p['W'], p['child_multiplicities'], EXCLUDED_ABOVE) + assert exact['strict_gap'] > 0 and excluded['lower'] > 1 + prior = json.loads((OLD / 'certificate.json').read_text()) + bridge = prior['finite_bridge'] + bridge['bit']['W'] = p['W'] + assert p['W'].bit_length() == bridge['bit']['wire_bits'] + assembled = balanced.assembly(bridge, AB, KAPPA, a_complex=Q(717, 10**7)) + assert len(assembled['constraints']) == 47 and len(assembled['margins']) == 7 + local_sources = [HERE / name for name in ( + 'ranked_interval_compiler.py', 'ranked_interval_compose.py', 'verify_ranked_interval.py', + 'binary_frame_compiler.py', 'binary_frame_math.py', 'binary_frame_replay.py', + 'binary_frame_profile_prepare.py', 'binary_frame_profiles.cpp')] + result = dict( + status='Conditional exact fixed-basis moment and balanced assembly; inherited transfer hypotheses remain assumed', + kappa=KAPPA, bit_saving=AB, bit_saving_excluded_above=EXCLUDED_ABOVE, + bit=dict(p, moment=exact, excluded_above_lower=excluded['lower']), + assembly=assembled, eventual_bounds=balanced.cutoffs(bridge, assembled), finite_bridge=bridge, + comparison=dict(pr48_kappa=Q(prior['kappa']), + pr62_stacked_kappa=Q(pr62['kappa']), + ratio_pr62_stacked=KAPPA/Q(pr62['kappa']), + pr61_reported_kappa=PR61_REPORTED_KAPPA, + ratio_pr61_reported=KAPPA/PR61_REPORTED_KAPPA, + pr61_comparison_scope='Reported PR61 value; its complete source witness was not independently replayed here', + pr63_reported_kappa=PR63_REPORTED_KAPPA, + ratio_pr63_reported=KAPPA/PR63_REPORTED_KAPPA, + pr63_comparison_scope='Contemporaneous PR63 by Dominik Scholz reports the same graph/compiler/priority composition. This local witness uses finer exact rounding and does not claim a new mechanism; PR63 source was not independently replayed here.', + next_dyadic_reached=KAPPA > Q(1, 2**14)), + exactness=[arithmetic.exactness(h) for h in (23, 25)], sources=sources, + local_source_sha256={str(p.relative_to(ROOT)): sha256(p.read_bytes()).hexdigest() for p in local_sources}, + dependencies=dict( + data_profile='Unchanged inherited all-pairs data profile: 9 singletons +21+17+481; ten exact rational recoveries', + producer='PR62 cyclic interval graph (Avi Eisenberg / ikeboy with Anthropic Claude assistance), PR57 joint frame compiler (eumemic with OpenAI Codex assistance), and PR60 descending-rank reclamation priority (Chafik Boukhalfa with OpenAI Codex assistance); complete serialized physical words', + geometry='Unchanged fixed-I+J original-envelope projector and CRT formulas', + proof_scope='Ordered affine residual compiler, fixed-tape recursion, finite scalar overhead, balanced transfer, analytic/routing/recovery interfaces remain inherited.')) + (OUT / 'ranked-interval-kappa.json').write_text(json.dumps(arithmetic.js(result), indent=2, sort_keys=True)+'\n') + print('PASS conditional kappa='+str(KAPPA)+'; bit saving='+str(AB), flush=True) + return result + + +if __name__ == '__main__': + compose() diff --git a/scripts/experiments/verify_balanced_coarse.py b/scripts/experiments/verify_balanced_coarse.py new file mode 100644 index 0000000000..1479b1fbb0 --- /dev/null +++ b/scripts/experiments/verify_balanced_coarse.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python3 +"""Replay the balanced coarse-sum composition, actual fixed profiles and assembly. + +Every new XOR word, dirty basis column, frame incidence and fixed-basis +profile is checked. Unchanged data geometry and general transfer proofs +remain inherited dependencies; this is a finite conditional certificate. +""" +import sys +sys.dont_write_bytecode = True +if sys.flags.optimize: + raise ValueError('Assertions must remain enabled') + +from hashlib import sha256 +from pathlib import Path +import json +import subprocess +import tempfile + +from binary_frame_profile_prepare import prepare +from binary_frame_replay import replay +from balanced_coarse_compose import compose + + +def verify(): + here = Path(__file__).resolve().parent + root = here.parents[1] + certificates = root / 'certificates' + stored = json.loads((certificates / 'balanced-coarse-compiler.json').read_text()) + axes = {} + with tempfile.TemporaryDirectory(prefix='balanced-coarse-verify-') as directory: + work = Path(directory) + profiler = work / 'profiles' + subprocess.run([ + 'c++', '-O3', '-std=c++17', + '-I', str(root / 'references/frame-compiler/pr48/scripts/partial_swap'), + str(here / 'binary_frame_profiles.cpp'), '-o', str(profiler), + ], check=True) + for h in (23, 25): + word = certificates / f'balanced-coarse-word-{h}.json.gz' + receipt = replay(word) + assert json.loads(json.dumps(receipt)) == stored['axes'][str(h)]['replay'] + transitions = work / f'word{h}.bin' + prepared = prepare(word, transitions) + expected = json.loads((certificates / f'balanced-coarse-transitions-{h}.json').read_text()) + assert json.loads(json.dumps(prepared)) == expected + subprocess.run([str(profiler), str(transitions)], check=True, capture_output=True, text=True) + profile = json.loads(Path(str(transitions)+'.profiles.json').read_text()) + expected = json.loads((certificates / f'balanced-coarse-profiles-{h}.json').read_text()) + assert profile == expected + axes[str(h)] = dict(replay=receipt, transitions=prepared, profile=profile) + print(f'PASS h={h}: full dirty basis, exact frame path, every fixed-basis profile', flush=True) + result = compose() + assert len(result['assembly']['constraints']) == 47 + assert len(result['assembly']['margins']) == 7 + validation = dict( + status='PASS complete serialized-word replay, actual CRT profiles, exact recurrence and balanced assembly', + axes=axes, kappa=str(result['kappa']), bit_saving=str(result['bit_saving']), + strict_constraints=47, margins=7, + certificate_sha256=sha256((certificates / 'balanced-coarse-kappa.json').read_bytes()).hexdigest(), + source_binding='Source manifests, inherited manifest digest, compiler receipt source, both word digests, and all local compiler/verifier sources are bound by the exact composition certificate.', + scope='Finite conditional witness; unchanged data geometry and general transfer proofs are inherited dependencies.') + (certificates / 'balanced-coarse-validation.json').write_text(json.dumps(validation, indent=2, sort_keys=True)+'\n') + print('PASS exact recurrence, 47 strict inequalities, seven margins, eventual cutoffs', flush=True) + return result + + +if __name__ == '__main__': + verify() diff --git a/scripts/experiments/verify_ranked_interval.py b/scripts/experiments/verify_ranked_interval.py new file mode 100644 index 0000000000..fa0179b10e --- /dev/null +++ b/scripts/experiments/verify_ranked_interval.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python3 +"""Replay the rank-priority interval composition, actual fixed profiles and assembly. + +Every new XOR word, dirty basis column, frame incidence and fixed-basis +profile is checked. Unchanged data geometry and general transfer proofs +remain inherited dependencies; this is a finite conditional certificate. +""" +import sys +sys.dont_write_bytecode = True +if sys.flags.optimize: + raise ValueError('Assertions must remain enabled') + +from hashlib import sha256 +from pathlib import Path +import json +import subprocess +import tempfile + +from binary_frame_profile_prepare import prepare +from binary_frame_replay import replay +from ranked_interval_compose import compose + + +def verify(): + here = Path(__file__).resolve().parent + root = here.parents[1] + certificates = root / 'certificates' + stored = json.loads((certificates / 'ranked-interval-compiler.json').read_text()) + axes = {} + with tempfile.TemporaryDirectory(prefix='ranked-interval-verify-') as directory: + work = Path(directory) + profiler = work / 'profiles' + subprocess.run([ + 'c++', '-O3', '-std=c++17', + '-I', str(root / 'references/frame-compiler/pr48/scripts/partial_swap'), + str(here / 'binary_frame_profiles.cpp'), '-o', str(profiler), + ], check=True) + for h in (23, 25): + word = certificates / f'ranked-interval-word-{h}.json.gz' + receipt = replay(word) + assert json.loads(json.dumps(receipt)) == stored['axes'][str(h)]['replay'] + transitions = work / f'word{h}.bin' + prepared = prepare(word, transitions) + expected = json.loads((certificates / f'ranked-interval-transitions-{h}.json').read_text()) + assert json.loads(json.dumps(prepared)) == expected + subprocess.run([str(profiler), str(transitions)], check=True, capture_output=True, text=True) + profile = json.loads(Path(str(transitions)+'.profiles.json').read_text()) + expected = json.loads((certificates / f'ranked-interval-profiles-{h}.json').read_text()) + assert profile == expected + axes[str(h)] = dict(replay=receipt, transitions=prepared, profile=profile) + print(f'PASS h={h}: full dirty basis, exact frame path, every fixed-basis profile', flush=True) + result = compose() + assert len(result['assembly']['constraints']) == 47 + assert len(result['assembly']['margins']) == 7 + validation = dict( + status='PASS complete serialized-word replay, actual CRT profiles, exact recurrence and balanced assembly', + axes=axes, kappa=str(result['kappa']), bit_saving=str(result['bit_saving']), + strict_constraints=47, margins=7, + certificate_sha256=sha256((certificates / 'ranked-interval-kappa.json').read_bytes()).hexdigest(), + source_binding='Source manifests, inherited manifest digest, compiler receipt source, both word digests, and all local compiler/verifier sources are bound by the exact composition certificate.', + scope='Finite conditional witness; unchanged data geometry and general transfer proofs are inherited dependencies.') + (certificates / 'ranked-interval-validation.json').write_text(json.dumps(validation, indent=2, sort_keys=True)+'\n') + print('PASS exact recurrence, 47 strict inequalities, seven margins, eventual cutoffs', flush=True) + return result + + +if __name__ == '__main__': + verify()