From 205b7380656ba4b6316a8a493b1a3c679b8f7a0e Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 20 Oct 2026 01:37:06 +0000 Subject: [PATCH] Audit the separated A2 composition and cleanup split Independently accept the two rational identities and the 7-forward, 5-cleanup record split on both frozen PR3734 providers from PR #4019. No new kappa and no recursive-histogram replay. Co-authored-by: unpaidmoon --- .../staged544-a2-composition-audit/README.md | 88 + .../SOURCES.json | 18 + .../staged544-a2-composition-audit/TASK.json | 72 + .../VERIFY.json | 22 + .../inputs/BORROW-WORD-base.json.gz | Bin 0 -> 72769 bytes .../inputs/BORROW-WORD-extra.json.gz | Bin 0 -> 72766 bytes .../inputs/data.json | 1839 +++++++++++++++++ .../staged544-a2-composition-audit/verify.py | 317 +++ 8 files changed, 2356 insertions(+) create mode 100644 research/staged544-a2-composition-audit/README.md create mode 100644 research/staged544-a2-composition-audit/SOURCES.json create mode 100644 research/staged544-a2-composition-audit/TASK.json create mode 100644 research/staged544-a2-composition-audit/VERIFY.json create mode 100644 research/staged544-a2-composition-audit/inputs/BORROW-WORD-base.json.gz create mode 100644 research/staged544-a2-composition-audit/inputs/BORROW-WORD-extra.json.gz create mode 100644 research/staged544-a2-composition-audit/inputs/data.json create mode 100644 research/staged544-a2-composition-audit/verify.py diff --git a/research/staged544-a2-composition-audit/README.md b/research/staged544-a2-composition-audit/README.md new file mode 100644 index 0000000000..2ac2d3a710 --- /dev/null +++ b/research/staged544-a2-composition-audit/README.md @@ -0,0 +1,88 @@ +# Independent acceptance of the separated A2 composition + +**Audit of an existing scalar identity. No new κ. Selected κ stays 0.001672660197076918.** + +## Scope and evidence + +Original card: `independent-moment`, scope **changed**. The card's #2979 group audit is already +covered by open V45 work (#3543, #3911) and the merged group A–D native-width audits. This package +takes the still-open handoff on +[discussion #1166](https://github.com/CrocSwap/integer-mult-bounds/discussions/1166#discussioncomment-19036786): +independently accept the composition and projected-cleanup argument in +[PR #4019](https://github.com/CrocSwap/integer-mult-bounds/pull/4019), head +`f408e09df300b575235f7f77f81948071397e16d`. + +The two rational identities, for distinct registers `x, y, z` and nonzero rationals `a, b`, are + +```text +[S(a), T(b), U(-ab)] = [T(b), S(a)] +[U(ab), T(b), S(a)] = [S(a), T(b)] +``` + +with `S(a): y += a*z`, `T(b): x += b*y`, and `U(c): x += c*z`. Both sides of the first identity end at +`(x + b*y, y + a*z, z)`. Both sides of the second end at `(x + b*y + ab*z, y + a*z, z)`, for an +arbitrary initial triple. The checker proves those endpoints, and the same maps as 3×3 matrices, +before it looks at a word. + +On both vendored provider words the eight published sites each match exactly one identity: + +| Section | Indices | Identity | Removed record | New-site cleanup effect | +|---|---|---|---|---| +| A | 1858, 1859, 1860 | first, drop `U` | credited PR #3998 site | not counted in the new split | +| B | 4, 53, 54 | second, drop `U` | target write | helper ADD unchanged | +| B | 7, 49, 50 | second, drop `U` | target write | helper ADD unchanged | +| restore | 20, 21, 36 | first, drop `U` | non-target write | one cleanup ADD | +| restore | 22, 23, 38 | first, drop `U` | non-target write | one cleanup ADD | +| restore | 26, 27, 51 | first, drop `U` | non-target write | one cleanup ADD | +| restore | 30, 31, 62 | first, drop `U` | non-target write | one cleanup ADD | +| restore | 32, 33, 73 | first, drop `U` | non-target write | one cleanup ADD | + +Every intervening scalar event misses the site's three registers. The eight supports are pairwise +disjoint. No new B window contains a native-warp index, and the A site starts at or after the +prelude. The seven new published replacements equal the identity's right-hand side, including the +ordered frame list. The credited A1858 replacement has the same ADD edges and the same frame span, +but the ordered frame is `[42, 82]` rather than the source `[82, 42]`, which PR #4019 already +discloses. The new record split is **7 forward ADD deletions and 5 projected-cleanup ADD deletions**. +That is one forward deletion at each new site, and a cleanup deletion only where the deleted ADD +does not write a target. + +This is an acceptance of that composition and record split. It is not a second recursive-histogram +replay, not a check that PR #4041's later-word transfer is valid, and not a κ claim. The predecessor +states that the histogram stays `{1:2440, 2:725, 3:224, 4:102, 5:20, 8:8}`. This package does not +recompute those ranks. + +## Reproduce + +Python 3.12, standard library only, from the repository root: + +```sh +python3.12 -B scripts/research_package.py --package research/staged544-a2-composition-audit +``` + +Expected marker: + +```text +PASS_A2_COMPOSITION_AUDIT providers=2 sites=8 new_forward_adds=7 new_cleanup_adds=5 known_frame_order_swaps=2 controls=3 no_new_kappa +``` + +The three controls reject a flipped B4 coefficient, an intervening read of register 518, and the +identity-one endpoint under the wrong `U` sign. Inputs are the two compressed provider words and +`inputs/data.json` taken from PR #4019 at the head above. Their SHA256 pins are checked before use. +Base commit is `bb4bccbf42844d2801487450727c2f63e10d1d0f`. Priority revision 6. + +## Open next questions + +- Does one later exact provider word, in particular a PR #3945 word, admit these same contractions? + Pin that word and recheck every index, boundary, intervening support, cleanup count and paid + profile. This package has only the two PR3734 providers. +- Can a different scalar graph remove a paid frame transition? Name the changed boundary and a + complete favorable bill first. These seven sites do not, by themselves, move a rank count. + +## Credit + +Chris R / Clear1nsight, PR #3998, for the A2 identity and the consecutive A1858 contraction. +ToikY, PR #4019, for the seven separated witnesses, the published receipt, and the stated endpoint +argument accepted here. Dataisfire for the PR3734 words retained by that package. The ordered-frame +swap on the credited site is their disclosure, not a new defect. New audit by unpaidmoon with +substantial Cursor Grok assistance. Apache-2.0. No independent human or formal-kernel review is +claimed. diff --git a/research/staged544-a2-composition-audit/SOURCES.json b/research/staged544-a2-composition-audit/SOURCES.json new file mode 100644 index 0000000000..a604c6a640 --- /dev/null +++ b/research/staged544-a2-composition-audit/SOURCES.json @@ -0,0 +1,18 @@ +{ + "schema_version": 1, + "base_commit": "bb4bccbf42844d2801487450727c2f63e10d1d0f", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "b1fea0c94436b236cc2b7d41a7be032811b94c81", + "sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "67f085acd86acd7d4e03922d9cf4b26bca66fed5", + "sha256": "47b42433f5a85809a3aadd29c2c339da2c6ed728e4f7762df6b88bccb7874cf0" + } + ] +} diff --git a/research/staged544-a2-composition-audit/TASK.json b/research/staged544-a2-composition-audit/TASK.json new file mode 100644 index 0000000000..362ae77eb3 --- /dev/null +++ b/research/staged544-a2-composition-audit/TASK.json @@ -0,0 +1,72 @@ +{ + "schema_version": 1, + "task_id": "independent-moment", + "priority_revision": 6, + "base_commit": "bb4bccbf42844d2801487450727c2f63e10d1d0f", + "original_card": { + "id": "independent-moment", + "question": "Does one changed supplier or assembly claim lack a source-bound independent check of a specific new implication?", + "starting_points": [ + "certificates/selected-result.json", + "research/rank7-joint-endframes/README.md", + "docs/research/research-family-status.md" + ], + "methods": [ + "Independently reconstruct a coordinated frame/circuit change and its single-change control, then derive the complete rank and physical ledger.", + "Implement certified moment inequalities through a different exact enclosure method." + ], + "acceptance_gate": "Demonstrate independence, source binding, positive cases and semantic failure controls. Name the existing checks and the missing coverage. More digits or another equivalent evaluation of an unchanged root is not by itself new verification coverage.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Read #2979 joint rank-7 end-frame proposal and the revision-6 evidence status. Its claimed kappa is not selected. Compare coordinated changes with the losing single-change controls and locate the complete physical ledger; an aggregate moment alone does not validate the mechanism.", + "scope": "Positive control / source-bound orientation only; this is not a new construction or full cold replay." + }, + "first_experiment": "Prioritize a bounded independent audit of #2979: reconstruct one joint group and its single-lowering control, check the declared frames/chronology, then trace changed children, idle widths and cleanup buffers into the complete invoice and both supplier caps. Choose one still-missing implication after checking existing audits. Stop with exact unresolved dependencies if full admission exceeds the session; do not launch a new lowering census on an unvalidated premise or substitute extra root digits for mechanism checking.", + "bottleneck_link": "Independent pricing prevents unsupported frontier claims and can reveal genuine accounting slack.", + "allowed_variations": [ + "Reconstruct either a source ledger or a numeric enclosure with a different method." + ], + "scope_change_triggers": [ + "Importing the primary function and calling its output independent verification.", + "Promoting #2979 from merged source archive to validated supplier solely from author PASS receipts or aggregate pricing." + ], + "overlap_terms": [ + "independent moment", + "rank histogram", + "exact enclosure", + "2979", + "rank7 joint endframes", + "paired extraction", + "joint lowering" + ] + }, + "scope_status": "changed", + "actual_scope": "Independently accept or refute the two rational A2 identities and the projected-cleanup record split on the eight frozen PR3734 sites published by PR #4019, for both providers.", + "scope_change_reason": "The catalogue card's stated first audit is one #2979 rank-7 group and its single-change control. That group work is already in open PRs, including #3543 and #3911 for V45 and the merged group A-D native-width audits. This package instead takes the still-open #1166 request to independently accept PR #4019's separated A2 composition and projected-cleanup argument. The scalar-record identity is a different implication from the #2979 joint-frame invoice.", + "bottleneck_link": "A scalar ADD deletion changes the multiplication exponent only when the paid profile changes. Accepting this contraction, while its seven new sites remove no rank, blocks treating the ADD count as a moment improvement.", + "budget_minutes": 60, + "stop_rule": "Stop after both frozen providers and all eight published sites are classified, the seven-site record split is checked, and the three negative controls reject. Do not search for further sites or reprice the recursive histogram.", + "outcome": "completed", + "evidence": "Separate exact-rational endpoint and matrix checks accept both proof identities. On both vendored PR #4019 provider words, all eight sites match exactly one identity, intervening scalar events miss the three-register support, the eight supports are pairwise disjoint, and the seven new published replacements equal the identity right-hand side including ordered frames. The new record split is 7 forward ADD deletions and 5 projected-cleanup ADD deletions. The credited A1858 replacement differs only by the disclosed ordered-frame swap [82, 42] versus [42, 82]. Three semantic controls reject.", + "author": "unpaidmoon", + "ai_assistance": "Substantial Cursor Grok assistance with the audit implementation and write-up.", + "open_questions": [ + { + "question": "Does one later exact provider word, in particular a PR #3945 word, admit these same contractions?", + "why_it_matters": "PR #4041 reports a transfer onto later words. This audit certifies only the two PR3734 providers vendored from PR #4019, so that transfer is not accepted here.", + "first_step": "Pin the later word bytes, recheck every source index, section boundary, intervening support and projected-cleanup count, then compare the full paid profile.", + "blocked_by": "The vendored inputs are only BORROW-WORD-base and BORROW-WORD-extra at the PR #4019 head. No later word is in this package." + }, + { + "question": "Can a different scalar graph remove a paid frame transition rather than only an ADD record?", + "why_it_matters": "These seven sites leave every rank count unchanged, so they do not move the recursive moment.", + "first_step": "Name one changed frame boundary and a complete favorable bill before searching another separated motif.", + "blocked_by": "This audit does not recompute the recursive histogram; the predecessor states that histogram is unchanged, and that claim is outside this certificate." + } + ] +} diff --git a/research/staged544-a2-composition-audit/VERIFY.json b/research/staged544-a2-composition-audit/VERIFY.json new file mode 100644 index 0000000000..551d196975 --- /dev/null +++ b/research/staged544-a2-composition-audit/VERIFY.json @@ -0,0 +1,22 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [ + "research/staged544-a2-composition-audit/inputs/BORROW-WORD-base.json.gz", + "research/staged544-a2-composition-audit/inputs/BORROW-WORD-extra.json.gz", + "research/staged544-a2-composition-audit/inputs/data.json" + ], + "commands": [ + { + "argv": [ + "{python}", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 60, + "checks": "Exact endpoint formulas, both provider words, eight site classifications, projected-cleanup record split, and three rejection controls" + } + ] +} diff --git a/research/staged544-a2-composition-audit/inputs/BORROW-WORD-base.json.gz b/research/staged544-a2-composition-audit/inputs/BORROW-WORD-base.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..674ea18ade4af85ca865fb08dc973637a09e30e6 GIT binary patch literal 72769 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 a{2=x9TiBifgoL2jalJEr?dHi{zx^MgbT>}` literal 0 HcmV?d00001 diff --git a/research/staged544-a2-composition-audit/inputs/BORROW-WORD-extra.json.gz b/research/staged544-a2-composition-audit/inputs/BORROW-WORD-extra.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..b17e2be67e327f04802fd034c344fe4253c13a4a GIT binary patch literal 72766 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 literal 0 HcmV?d00001 diff --git a/research/staged544-a2-composition-audit/inputs/data.json b/research/staged544-a2-composition-audit/inputs/data.json new file mode 100644 index 0000000000..f91c78bed3 --- /dev/null +++ b/research/staged544-a2-composition-audit/inputs/data.json @@ -0,0 +1,1839 @@ +{ + "providers": { + "base": { + "additional_cleanup_add_saving": 5, + "additional_forward_add_saving": 7, + "known_sites": 1, + "native_operators_changed": false, + "new_kappa": false, + "new_sites": 7, + "new_supplier": false, + "provider": "base", + "recursive_moment_changed": false, + "schema_version": 1, + "sites": [ + { + "crossed_disjoint_events": 0, + "gates": [ + [ + "add", + 457, + 475, + -1, + 1, + [ + 82, + 42 + ] + ], + [ + "add", + 456, + 457, + 1, + 1, + [ + 82, + 42 + ] + ], + [ + "add", + 456, + 475, + 1, + 1, + [ + 82, + 42 + ] + ] + ], + "indices": [ + 1858, + 1859, + 1860 + ], + "known": true, + "removed_position": 2, + "replacement": [ + [ + "add", + 456, + 457, + 1, + 1, + [ + 42, + 82 + ] + ], + [ + "add", + 457, + 475, + -1, + 1, + [ + 42, + 82 + ] + ] + ], + "section": "A", + "support": [ + 456, + 457, + 475 + ] + }, + { + "crossed_disjoint_events": 48, + "gates": [ + [ + "add", + 196, + 518, + 1, + 1, + [ + 30 + ] + ], + [ + "add", + 196, + 588, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 588, + 518, + -1, + 1, + [ + 30 + ] + ] + ], + "indices": [ + 4, + 53, + 54 + ], + "known": false, + "removed_position": 0, + "replacement": [ + [ + "add", + 588, + 518, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 196, + 588, + -1, + 1, + [ + 30 + ] + ] + ], + "section": "B", + "support": [ + 196, + 518, + 588 + ] + }, + { + "crossed_disjoint_events": 41, + "gates": [ + [ + "add", + 187, + 506, + 1, + 1, + [ + 30 + ] + ], + [ + "add", + 187, + 586, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 586, + 506, + 2, + 1, + [ + 30 + ] + ] + ], + "indices": [ + 7, + 49, + 50 + ], + "known": false, + "removed_position": 0, + "replacement": [ + [ + "add", + 586, + 506, + 2, + 1, + [ + 30 + ] + ], + [ + "add", + 187, + 586, + 1, + 2, + [ + 30 + ] + ] + ], + "section": "B", + "support": [ + 187, + 506, + 586 + ] + }, + { + "crossed_disjoint_events": 14, + "gates": [ + [ + "add", + 448, + 231, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ], + [ + "add", + 484, + 448, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ], + [ + "add", + 484, + 231, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ] + ], + "indices": [ + 20, + 21, + 36 + ], + "known": false, + "removed_position": 2, + "replacement": [ + [ + "add", + 484, + 448, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ], + [ + "add", + 448, + 231, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ] + ], + "section": "restore", + "support": [ + 231, + 448, + 484 + ] + }, + { + "crossed_disjoint_events": 14, + "gates": [ + [ + "add", + 449, + 226, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ], + [ + "add", + 485, + 449, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ], + [ + "add", + 485, + 226, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ] + ], + "indices": [ + 22, + 23, + 38 + ], + "known": false, + "removed_position": 2, + "replacement": [ + [ + "add", + 485, + 449, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ], + [ + "add", + 449, + 226, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ] + ], + "section": "restore", + "support": [ + 226, + 449, + 485 + ] + }, + { + "crossed_disjoint_events": 23, + "gates": [ + [ + "add", + 451, + 228, + -1, + 1, + [ + 256, + 128, + 64, + 38, + 20, + 10, + 1 + ] + ], + [ + "add", + 509, + 451, + -1, + 1, + [ + 256, + 128, + 64, + 38, + 20, + 10, + 1 + ] + ], + [ + "add", + 509, + 228, + -1, + 1, + [ + 256, + 128, + 64, + 38, + 20, + 10, + 1 + ] + ] + ], + "indices": [ + 26, + 27, + 51 + ], + "known": false, + "removed_position": 2, + "replacement": [ + [ + "add", + 509, + 451, + -1, + 1, + [ + 256, + 128, + 64, + 38, + 20, + 10, + 1 + ] + ], + [ + "add", + 451, + 228, + -1, + 1, + [ + 256, + 128, + 64, + 38, + 20, + 10, + 1 + ] + ] + ], + "section": "restore", + "support": [ + 228, + 451, + 509 + ] + }, + { + "crossed_disjoint_events": 30, + "gates": [ + [ + "add", + 453, + 7, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 19, + 11, + 6 + ] + ], + [ + "add", + 533, + 453, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 19, + 11, + 6 + ] + ], + [ + "add", + 533, + 7, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 19, + 11, + 6 + ] + ] + ], + "indices": [ + 30, + 31, + 62 + ], + "known": false, + "removed_position": 2, + "replacement": [ + [ + "add", + 533, + 453, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 19, + 11, + 6 + ] + ], + [ + "add", + 453, + 7, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 19, + 11, + 6 + ] + ] + ], + "section": "restore", + "support": [ + 7, + 453, + 533 + ] + }, + { + "crossed_disjoint_events": 39, + "gates": [ + [ + "add", + 454, + 236, + -1, + 1, + [ + 256, + 128, + 64, + 37, + 21, + 8, + 3 + ] + ], + [ + "add", + 556, + 454, + 2, + 1, + [ + 256, + 128, + 64, + 37, + 21, + 8, + 3 + ] + ], + [ + "add", + 556, + 236, + 2, + 1, + [ + 256, + 128, + 64, + 37, + 21, + 8, + 3 + ] + ] + ], + "indices": [ + 32, + 33, + 73 + ], + "known": false, + "removed_position": 2, + "replacement": [ + [ + "add", + 556, + 454, + 2, + 1, + [ + 256, + 128, + 64, + 37, + 21, + 8, + 3 + ] + ], + [ + "add", + 454, + 236, + -1, + 1, + [ + 256, + 128, + 64, + 37, + 21, + 8, + 3 + ] + ] + ], + "section": "restore", + "support": [ + 236, + 454, + 556 + ] + } + ], + "words": { + "credited_3998": { + "canonical_word_sha256": "32415e93a50f0fdab5fa144da05977fe34bc8340bf967b91c7f7f0bc312df994", + "cleanup_sha256": "7c2a181ac7fc6a087f5c7cce346650e0bb773f5dafa82ca966081a4a6440c336", + "helper_widths": { + "4": 26, + "5": 2, + "6": 18, + "7": 53, + "8": 96, + "9": 213 + }, + "lengths": { + "A": 4078, + "B": 1869, + "cleanup": 5223, + "restore": 212 + }, + "native_operations": 72, + "primitive_counts": { + "A": { + "add": 3556, + "scale": 498, + "warp": 24 + }, + "B": { + "add": 1796, + "scale": 73, + "warp": 0 + }, + "cleanup": { + "add": 4632, + "scale": 519, + "warp": 72 + }, + "restore": { + "add": 196, + "scale": 16, + "warp": 0 + } + }, + "profile": { + "1": 2440, + "2": 725, + "3": 224, + "4": 102, + "5": 20, + "8": 8 + }, + "semantics": { + "arbitrary_dirty_buffers": 91, + "buffer_self_map": "identity", + "buffer_to_live_leaks": 0, + "cleanup_boundary_both_directions": true, + "dual": true, + "dual_matrix_sha256": "9bace9fb7525f64d5418ab54af173df7d320c898e980e89be8a90d280adb3744", + "live_inputs": 632, + "matrix_dimension": 723, + "ordinary": true, + "ordinary_matrix_sha256": "c8ea87b1598c9bbc2b0be63217772110ff450ad12eff19aaf05a84239eb5d380", + "reverse_equals_ordinary": true + } + }, + "separated": { + "canonical_word_sha256": "0a36faedd98f7b80304469c16e6c2f074850d6bd054030366713a08805cd3300", + "cleanup_sha256": "a20cef30d1adbaa529d96f2055bf3f203cbf1f15438de04ec34c3fb7a7372906", + "helper_widths": { + "4": 26, + "5": 2, + "6": 18, + "7": 53, + "8": 96, + "9": 213 + }, + "lengths": { + "A": 4078, + "B": 1867, + "cleanup": 5218, + "restore": 207 + }, + "native_operations": 72, + "primitive_counts": { + "A": { + "add": 3556, + "scale": 498, + "warp": 24 + }, + "B": { + "add": 1794, + "scale": 73, + "warp": 0 + }, + "cleanup": { + "add": 4627, + "scale": 519, + "warp": 72 + }, + "restore": { + "add": 191, + "scale": 16, + "warp": 0 + } + }, + "profile": { + "1": 2440, + "2": 725, + "3": 224, + "4": 102, + "5": 20, + "8": 8 + }, + "semantics": { + "arbitrary_dirty_buffers": 91, + "buffer_self_map": "identity", + "buffer_to_live_leaks": 0, + "cleanup_boundary_both_directions": true, + "dual": true, + "dual_matrix_sha256": "9bace9fb7525f64d5418ab54af173df7d320c898e980e89be8a90d280adb3744", + "live_inputs": 632, + "matrix_dimension": 723, + "ordinary": true, + "ordinary_matrix_sha256": "c8ea87b1598c9bbc2b0be63217772110ff450ad12eff19aaf05a84239eb5d380", + "reverse_equals_ordinary": true + } + }, + "source": { + "canonical_word_sha256": "a140d980692fb1688b6b85021e06e2aea7d97eb3fd2b09cbd6c47afb0cc7f9da", + "cleanup_sha256": "cfcb7fbc44fb3e14c6edd781f1fb57ea25ade9a96c0ef4873bf8d4c1eb7a02e2", + "helper_widths": { + "4": 26, + "5": 2, + "6": 18, + "7": 53, + "8": 96, + "9": 213 + }, + "lengths": { + "A": 4079, + "B": 1869, + "cleanup": 5224, + "restore": 212 + }, + "native_operations": 72, + "primitive_counts": { + "A": { + "add": 3557, + "scale": 498, + "warp": 24 + }, + "B": { + "add": 1796, + "scale": 73, + "warp": 0 + }, + "cleanup": { + "add": 4633, + "scale": 519, + "warp": 72 + }, + "restore": { + "add": 196, + "scale": 16, + "warp": 0 + } + }, + "profile": { + "1": 2440, + "2": 725, + "3": 224, + "4": 102, + "5": 20, + "8": 8 + }, + "semantics": { + "arbitrary_dirty_buffers": 91, + "buffer_self_map": "identity", + "buffer_to_live_leaks": 0, + "cleanup_boundary_both_directions": true, + "dual": true, + "dual_matrix_sha256": "9bace9fb7525f64d5418ab54af173df7d320c898e980e89be8a90d280adb3744", + "live_inputs": 632, + "matrix_dimension": 723, + "ordinary": true, + "ordinary_matrix_sha256": "c8ea87b1598c9bbc2b0be63217772110ff450ad12eff19aaf05a84239eb5d380", + "reverse_equals_ordinary": true + } + } + } + }, + "extra": { + "additional_cleanup_add_saving": 5, + "additional_forward_add_saving": 7, + "known_sites": 1, + "native_operators_changed": false, + "new_kappa": false, + "new_sites": 7, + "new_supplier": false, + "provider": "extra", + "recursive_moment_changed": false, + "schema_version": 1, + "sites": [ + { + "crossed_disjoint_events": 0, + "gates": [ + [ + "add", + 457, + 475, + -1, + 1, + [ + 82, + 42 + ] + ], + [ + "add", + 456, + 457, + 1, + 1, + [ + 82, + 42 + ] + ], + [ + "add", + 456, + 475, + 1, + 1, + [ + 82, + 42 + ] + ] + ], + "indices": [ + 1858, + 1859, + 1860 + ], + "known": true, + "removed_position": 2, + "replacement": [ + [ + "add", + 456, + 457, + 1, + 1, + [ + 42, + 82 + ] + ], + [ + "add", + 457, + 475, + -1, + 1, + [ + 42, + 82 + ] + ] + ], + "section": "A", + "support": [ + 456, + 457, + 475 + ] + }, + { + "crossed_disjoint_events": 48, + "gates": [ + [ + "add", + 196, + 518, + 1, + 1, + [ + 30 + ] + ], + [ + "add", + 196, + 588, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 588, + 518, + -1, + 1, + [ + 30 + ] + ] + ], + "indices": [ + 4, + 53, + 54 + ], + "known": false, + "removed_position": 0, + "replacement": [ + [ + "add", + 588, + 518, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 196, + 588, + -1, + 1, + [ + 30 + ] + ] + ], + "section": "B", + "support": [ + 196, + 518, + 588 + ] + }, + { + "crossed_disjoint_events": 41, + "gates": [ + [ + "add", + 187, + 506, + 1, + 1, + [ + 30 + ] + ], + [ + "add", + 187, + 586, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 586, + 506, + 2, + 1, + [ + 30 + ] + ] + ], + "indices": [ + 7, + 49, + 50 + ], + "known": false, + "removed_position": 0, + "replacement": [ + [ + "add", + 586, + 506, + 2, + 1, + [ + 30 + ] + ], + [ + "add", + 187, + 586, + 1, + 2, + [ + 30 + ] + ] + ], + "section": "B", + "support": [ + 187, + 506, + 586 + ] + }, + { + "crossed_disjoint_events": 14, + "gates": [ + [ + "add", + 448, + 231, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ], + [ + "add", + 484, + 448, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ], + [ + "add", + 484, + 231, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ] + ], + "indices": [ + 20, + 21, + 36 + ], + "known": false, + "removed_position": 2, + "replacement": [ + [ + "add", + 484, + 448, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ], + [ + "add", + 448, + 231, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ] + ], + "section": "restore", + "support": [ + 231, + 448, + 484 + ] + }, + { + "crossed_disjoint_events": 14, + "gates": [ + [ + "add", + 449, + 226, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ], + [ + "add", + 485, + 449, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ], + [ + "add", + 485, + 226, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ] + ], + "indices": [ + 22, + 23, + 38 + ], + "known": false, + "removed_position": 2, + "replacement": [ + [ + "add", + 485, + 449, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ], + [ + "add", + 449, + 226, + -1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 11, + 4 + ] + ] + ], + "section": "restore", + "support": [ + 226, + 449, + 485 + ] + }, + { + "crossed_disjoint_events": 23, + "gates": [ + [ + "add", + 451, + 228, + -1, + 1, + [ + 256, + 128, + 64, + 38, + 20, + 10, + 1 + ] + ], + [ + "add", + 509, + 451, + -1, + 1, + [ + 256, + 128, + 64, + 38, + 20, + 10, + 1 + ] + ], + [ + "add", + 509, + 228, + -1, + 1, + [ + 256, + 128, + 64, + 38, + 20, + 10, + 1 + ] + ] + ], + "indices": [ + 26, + 27, + 51 + ], + "known": false, + "removed_position": 2, + "replacement": [ + [ + "add", + 509, + 451, + -1, + 1, + [ + 256, + 128, + 64, + 38, + 20, + 10, + 1 + ] + ], + [ + "add", + 451, + 228, + -1, + 1, + [ + 256, + 128, + 64, + 38, + 20, + 10, + 1 + ] + ] + ], + "section": "restore", + "support": [ + 228, + 451, + 509 + ] + }, + { + "crossed_disjoint_events": 30, + "gates": [ + [ + "add", + 453, + 7, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 19, + 11, + 6 + ] + ], + [ + "add", + 533, + 453, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 19, + 11, + 6 + ] + ], + [ + "add", + 533, + 7, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 19, + 11, + 6 + ] + ] + ], + "indices": [ + 30, + 31, + 62 + ], + "known": false, + "removed_position": 2, + "replacement": [ + [ + "add", + 533, + 453, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 19, + 11, + 6 + ] + ], + [ + "add", + 453, + 7, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 19, + 11, + 6 + ] + ] + ], + "section": "restore", + "support": [ + 7, + 453, + 533 + ] + }, + { + "crossed_disjoint_events": 39, + "gates": [ + [ + "add", + 454, + 236, + -1, + 1, + [ + 256, + 128, + 64, + 37, + 21, + 8, + 3 + ] + ], + [ + "add", + 556, + 454, + 2, + 1, + [ + 256, + 128, + 64, + 37, + 21, + 8, + 3 + ] + ], + [ + "add", + 556, + 236, + 2, + 1, + [ + 256, + 128, + 64, + 37, + 21, + 8, + 3 + ] + ] + ], + "indices": [ + 32, + 33, + 73 + ], + "known": false, + "removed_position": 2, + "replacement": [ + [ + "add", + 556, + 454, + 2, + 1, + [ + 256, + 128, + 64, + 37, + 21, + 8, + 3 + ] + ], + [ + "add", + 454, + 236, + -1, + 1, + [ + 256, + 128, + 64, + 37, + 21, + 8, + 3 + ] + ] + ], + "section": "restore", + "support": [ + 236, + 454, + 556 + ] + } + ], + "words": { + "credited_3998": { + "canonical_word_sha256": "439ce3544b68e3dffdb0cb4496fbc92330e825592515bc28c95580807c9d232d", + "cleanup_sha256": "7c2a181ac7fc6a087f5c7cce346650e0bb773f5dafa82ca966081a4a6440c336", + "helper_widths": { + "4": 26, + "5": 2, + "6": 18, + "7": 53, + "8": 96, + "9": 213 + }, + "lengths": { + "A": 4078, + "B": 1869, + "cleanup": 5223, + "restore": 212 + }, + "native_operations": 72, + "primitive_counts": { + "A": { + "add": 3556, + "scale": 498, + "warp": 24 + }, + "B": { + "add": 1796, + "scale": 73, + "warp": 0 + }, + "cleanup": { + "add": 4632, + "scale": 519, + "warp": 72 + }, + "restore": { + "add": 196, + "scale": 16, + "warp": 0 + } + }, + "profile": { + "1": 2440, + "2": 725, + "3": 224, + "4": 102, + "5": 20, + "8": 8 + }, + "semantics": { + "arbitrary_dirty_buffers": 91, + "buffer_self_map": "identity", + "buffer_to_live_leaks": 0, + "cleanup_boundary_both_directions": true, + "dual": true, + "dual_matrix_sha256": "9bace9fb7525f64d5418ab54af173df7d320c898e980e89be8a90d280adb3744", + "live_inputs": 632, + "matrix_dimension": 723, + "ordinary": true, + "ordinary_matrix_sha256": "c8ea87b1598c9bbc2b0be63217772110ff450ad12eff19aaf05a84239eb5d380", + "reverse_equals_ordinary": true + } + }, + "separated": { + "canonical_word_sha256": "0cc6001f57d842b39ccc8d508d26d86a8e2eda976161130940746f4b1d02bd96", + "cleanup_sha256": "a20cef30d1adbaa529d96f2055bf3f203cbf1f15438de04ec34c3fb7a7372906", + "helper_widths": { + "4": 26, + "5": 2, + "6": 18, + "7": 53, + "8": 96, + "9": 213 + }, + "lengths": { + "A": 4078, + "B": 1867, + "cleanup": 5218, + "restore": 207 + }, + "native_operations": 72, + "primitive_counts": { + "A": { + "add": 3556, + "scale": 498, + "warp": 24 + }, + "B": { + "add": 1794, + "scale": 73, + "warp": 0 + }, + "cleanup": { + "add": 4627, + "scale": 519, + "warp": 72 + }, + "restore": { + "add": 191, + "scale": 16, + "warp": 0 + } + }, + "profile": { + "1": 2440, + "2": 725, + "3": 224, + "4": 102, + "5": 20, + "8": 8 + }, + "semantics": { + "arbitrary_dirty_buffers": 91, + "buffer_self_map": "identity", + "buffer_to_live_leaks": 0, + "cleanup_boundary_both_directions": true, + "dual": true, + "dual_matrix_sha256": "9bace9fb7525f64d5418ab54af173df7d320c898e980e89be8a90d280adb3744", + "live_inputs": 632, + "matrix_dimension": 723, + "ordinary": true, + "ordinary_matrix_sha256": "c8ea87b1598c9bbc2b0be63217772110ff450ad12eff19aaf05a84239eb5d380", + "reverse_equals_ordinary": true + } + }, + "source": { + "canonical_word_sha256": "309e6b90bad582081b90cce08f820da62ab11602a8298852cb7ef6f16b8942c8", + "cleanup_sha256": "cfcb7fbc44fb3e14c6edd781f1fb57ea25ade9a96c0ef4873bf8d4c1eb7a02e2", + "helper_widths": { + "4": 26, + "5": 2, + "6": 18, + "7": 53, + "8": 96, + "9": 213 + }, + "lengths": { + "A": 4079, + "B": 1869, + "cleanup": 5224, + "restore": 212 + }, + "native_operations": 72, + "primitive_counts": { + "A": { + "add": 3557, + "scale": 498, + "warp": 24 + }, + "B": { + "add": 1796, + "scale": 73, + "warp": 0 + }, + "cleanup": { + "add": 4633, + "scale": 519, + "warp": 72 + }, + "restore": { + "add": 196, + "scale": 16, + "warp": 0 + } + }, + "profile": { + "1": 2440, + "2": 725, + "3": 224, + "4": 102, + "5": 20, + "8": 8 + }, + "semantics": { + "arbitrary_dirty_buffers": 91, + "buffer_self_map": "identity", + "buffer_to_live_leaks": 0, + "cleanup_boundary_both_directions": true, + "dual": true, + "dual_matrix_sha256": "9bace9fb7525f64d5418ab54af173df7d320c898e980e89be8a90d280adb3744", + "live_inputs": 632, + "matrix_dimension": 723, + "ordinary": true, + "ordinary_matrix_sha256": "c8ea87b1598c9bbc2b0be63217772110ff450ad12eff19aaf05a84239eb5d380", + "reverse_equals_ordinary": true + } + } + } + } + }, + "schema_version": 1 +} diff --git a/research/staged544-a2-composition-audit/verify.py b/research/staged544-a2-composition-audit/verify.py new file mode 100644 index 0000000000..fd3486d58d --- /dev/null +++ b/research/staged544-a2-composition-audit/verify.py @@ -0,0 +1,317 @@ +#!/usr/bin/env python3 +"""Independent acceptance of the PR #4019 separated-A2 composition argument. + +This checker does not import that package. It re-derives the two rational +identities from PROOF.md, classifies each frozen site, and counts the +projected-cleanup record split. It does not replay the recursive frame bill. +""" + +import gzip +import hashlib +import json +from fractions import Fraction +from itertools import permutations +from pathlib import Path + +HERE = Path(__file__).resolve().parent +V = 112 + +PINS = { + "base": "5ca4be99851f8878cbfe0fd6c454df926b11218f17feefa1664721cf03156699", + "extra": "965268a9be73d3f62e7ef680d18f108cf064bfe1f44b82157baa61443232904e", +} +RECEIPT_SHA256 = "cbfefac6c10f68b55208458cf2d07b2a67f2f9ece037fa53fa7070647a21b82e" + +# Section, three increasing indices, removed position, whether the site is the +# credited PR #3998 contraction rather than one of the seven new witnesses. +SITES = ( + ("A", (1858, 1859, 1860), 2, True), + ("B", (4, 53, 54), 0, False), + ("B", (7, 49, 50), 0, False), + ("restore", (20, 21, 36), 2, False), + ("restore", (22, 23, 38), 2, False), + ("restore", (26, 27, 51), 2, False), + ("restore", (30, 31, 62), 2, False), + ("restore", (32, 33, 73), 2, False), +) + + +class Rejected(Exception): + pass + + +def require(condition, message): + if not condition: + raise Rejected(message) + + +def no_duplicates(pairs): + answer = {} + for key, value in pairs: + require(key not in answer, "duplicate JSON key " + str(key)) + answer[key] = value + return answer + + +def sha256(data): + return hashlib.sha256(data).hexdigest() + + +def is_target(register): + return V <= register < 2 * V + + +def coefficient(gate): + require(gate[0] in ("add", "scale"), "scalar alphabet") + index = 3 if gate[0] == "add" else 2 + numerator, denominator = gate[index:index + 2] + require(type(numerator) is int and type(denominator) is int and denominator != 0 + and numerator != 0, "nonzero rational coefficient") + return Fraction(numerator, denominator) + + +def touched(gate): + if gate[0] == "add": + require(len(gate) == 6, "add layout") + registers = gate[1:3] + elif gate[0] == "scale": + require(len(gate) == 5, "scale layout") + registers = gate[1:2] + else: + raise Rejected("unexpected event " + str(gate[0])) + require(all(type(register) is int and 0 <= register < 704 for register in registers), + "register domain") + return set(registers) + + +def apply_matrix(gates, registers): + """Left-action of chronological ADDs on the ordered register basis.""" + index = {register: place for place, register in enumerate(registers)} + matrix = [[Fraction(place == column) for column in range(3)] for place in range(3)] + for gate in gates: + require(gate[0] == "add", "identity alphabet") + weight = coefficient(gate) + destination, source = index[gate[1]], index[gate[2]] + for column in range(3): + matrix[destination][column] += weight * matrix[source][column] + return matrix + + +def endpoint(gates, x_reg, y_reg, z_reg, start): + value = {x_reg: start[0], y_reg: start[1], z_reg: start[2]} + for gate in gates: + value[gate[1]] += coefficient(gate) * value[gate[2]] + return (value[x_reg], value[y_reg], value[z_reg]) + + +def add_gate(destination, source, weight): + return ["add", destination, source, weight.numerator, weight.denominator, []] + + +def check_stated_endpoints(): + """PROOF.md's two endpoint formulas, on exact rationals, including a nonzero start.""" + x_reg, y_reg, z_reg = 0, 1, 2 + samples = ( + (Fraction(2), Fraction(-3), (Fraction(5), Fraction(-2), Fraction(7))), + (Fraction(1, 2), Fraction(4), (Fraction(0), Fraction(1), Fraction(-3))), + (Fraction(-1), Fraction(-1), (Fraction(9), Fraction(1, 3), Fraction(4))), + ) + for weight_a, weight_b, start in samples: + identity_one = [ + add_gate(y_reg, z_reg, weight_a), + add_gate(x_reg, y_reg, weight_b), + add_gate(x_reg, z_reg, -weight_a * weight_b), + ] + right_one = [add_gate(x_reg, y_reg, weight_b), add_gate(y_reg, z_reg, weight_a)] + expect_one = (start[0] + weight_b * start[1], start[1] + weight_a * start[2], start[2]) + identity_two = [ + add_gate(x_reg, z_reg, weight_a * weight_b), + add_gate(x_reg, y_reg, weight_b), + add_gate(y_reg, z_reg, weight_a), + ] + right_two = [add_gate(y_reg, z_reg, weight_a), add_gate(x_reg, y_reg, weight_b)] + expect_two = ( + start[0] + weight_b * start[1] + weight_a * weight_b * start[2], + start[1] + weight_a * start[2], + start[2], + ) + for gates, right, expect in ( + (identity_one, right_one, expect_one), + (identity_two, right_two, expect_two), + ): + require(endpoint(gates, x_reg, y_reg, z_reg, start) == expect, "stated endpoint") + require(endpoint(right, x_reg, y_reg, z_reg, start) == expect, "stated right-hand side") + require(apply_matrix(gates, [x_reg, y_reg, z_reg]) + == apply_matrix(right, [x_reg, y_reg, z_reg]), "matrix form") + wrong = [add_gate(y_reg, z_reg, Fraction(1)), add_gate(x_reg, y_reg, Fraction(1)), + add_gate(x_reg, z_reg, Fraction(1))] + require(endpoint(wrong, x_reg, y_reg, z_reg, (Fraction(0), Fraction(0), Fraction(1))) + != (Fraction(0), Fraction(1), Fraction(1)), "wrong sign must miss the identity-one endpoint") + + +def classify(gates): + """Match one ordered triple to exactly one of the two proof identities.""" + require(len(gates) == 3 and all(gate[0] == "add" for gate in gates), "three ADDs") + edges = [(gate[1], gate[2], coefficient(gate)) for gate in gates] + registers = [] + for register in [edge[0] for edge in edges] + [edge[1] for edge in edges]: + if register not in registers: + registers.append(register) + require(len(registers) == 3 and len({(edge[0], edge[1]) for edge in edges}) == 3, + "three distinct directed edges") + matches = [] + for x_reg, y_reg, z_reg in permutations(registers): + first, second, third = edges + if (first[0] == y_reg and first[1] == z_reg and second[0] == x_reg and second[1] == y_reg + and third[0] == x_reg and third[1] == z_reg and third[2] == -first[2] * second[2]): + matches.append(("id1_remove_last", x_reg, y_reg, z_reg, first[2], second[2])) + if (first[0] == x_reg and first[1] == z_reg and second[0] == x_reg and second[1] == y_reg + and third[0] == y_reg and third[1] == z_reg and first[2] == third[2] * second[2]): + matches.append(("id2_remove_first", x_reg, y_reg, z_reg, third[2], second[2])) + require(len(matches) == 1, "expected exactly one identity match") + return matches[0] + + +def predicted_replacement(kind, gates): + if kind == "id1_remove_last": + return [gates[1], gates[0]] + require(kind == "id2_remove_first", "unknown identity") + return [gates[2], gates[1]] + + +def same_add(left, right): + return left[:5] == right[:5] + + +def frames_same_span(left, right): + return sorted(left) == sorted(right) + + +def load_words(): + words = {} + for name, digest in PINS.items(): + path = HERE / "inputs" / ("BORROW-WORD-" + name + ".json.gz") + require(path.is_file() and not path.is_symlink(), "missing word " + name) + raw = path.read_bytes() + require(sha256(raw) == digest, "word byte pin " + name) + words[name] = json.loads(gzip.decompress(raw), object_pairs_hook=no_duplicates) + receipt_path = HERE / "inputs" / "data.json" + raw_receipt = receipt_path.read_bytes() + require(sha256(raw_receipt) == RECEIPT_SHA256, "published receipt pin") + receipt = json.loads(raw_receipt, object_pairs_hook=no_duplicates) + require(set(receipt) == {"schema_version", "providers"} and receipt["schema_version"] == 1, + "receipt schema") + return words, receipt + + +def audit_provider(word, receipt): + occupied = set() + forward_new = cleanup_new = known_swaps = 0 + for section, indices, central, known in SITES: + require(section in word and isinstance(word[section], list), "missing section") + require(indices[0] < indices[1] < indices[2] < len(word[section]), "site indices") + gates = [word[section][index] for index in indices] + kind, x_reg, y_reg, z_reg, _weight_a, _weight_b = classify(gates) + expected_central = 2 if kind == "id1_remove_last" else 0 + require(central == expected_central, "removed position disagrees with the identity") + replacement = predicted_replacement(kind, gates) + registers = sorted({x_reg, y_reg, z_reg}) + require(apply_matrix(gates, registers) == apply_matrix(replacement, registers), + "replacement operator") + frames = [tuple(gate[-1]) for gate in gates] + require(frames[0] == frames[1] == frames[2], "common ordered source frame") + require(all(tuple(gate[-1]) == frames[0] for gate in replacement), + "replacement keeps the source frame") + support = {x_reg, y_reg, z_reg} + require(occupied.isdisjoint(support), "site supports overlap") + occupied.update(support) + for index in range(indices[0], indices[-1] + 1): + if index in indices: + continue + require(touched(word[section][index]).isdisjoint(support), "intervening dependency") + if section == "A": + require(indices[0] >= word["prelude_events"], "prelude barrier") + if section == "B": + require(not any(indices[0] < warp[0] <= indices[-1] for warp in word["warps"]), + "native warp barrier") + if section == "restore": + require(all(not is_target(gate[1]) for gate in gates), "restore site writes a target") + if kind == "id2_remove_first": + require(is_target(gates[0][1]) and gates[0][1] == gates[1][1] and is_target(gates[1][1]), + "B contraction's first two ADDs must write the same target") + require(not is_target(gates[2][1]), "B contraction must keep one helper ADD") + published = next(site for site in receipt["sites"] if tuple(site["indices"]) == indices) + require(published["gates"] == gates, "receipt gates differ from the frozen word") + require(published["removed_position"] == central, "receipt removed position") + if known: + require(all(same_add(left, right) and frames_same_span(left[-1], right[-1]) + for left, right in zip(published["replacement"], replacement)), + "known-site replacement edges") + if published["replacement"] != replacement: + known_swaps += 1 + else: + require(published["replacement"] == replacement, "new-site replacement") + forward_new += 1 + if not is_target(gates[central][1]): + cleanup_new += 1 + require(len([gate for gate in gates if not is_target(gate[1])]) + == len([gate for gate in replacement if not is_target(gate[1])]) + 1, + "restore projection should drop one record") + else: + require([gate[:5] for gate in gates if not is_target(gate[1])] + == [gate[:5] for gate in replacement if not is_target(gate[1])], + "target deletion must preserve the helper ADD") + require((forward_new, cleanup_new) == (7, 5), "seven forward and five cleanup records") + require(known_swaps == 1, "the credited site's ordered-frame swap is part of the publication") + require(len(occupied) == 24, "eight disjoint three-register supports") + return forward_new, cleanup_new + + +def expect_rejected(label, function): + try: + function() + except Rejected: + return + raise Rejected("negative control escaped: " + label) + + +def negative_controls(words): + word = words["base"] + broken = json.loads(json.dumps(word)) + broken["B"][4][3] = -broken["B"][4][3] + expect_rejected("wrong sign", lambda: classify([broken["B"][index] for index in (4, 53, 54)])) + dependent = json.loads(json.dumps(word)) + dependent["B"][5][2] = 518 + expect_rejected( + "intervening read", + lambda: require(touched(dependent["B"][5]).isdisjoint({196, 518, 588}), "intervening dependency"), + ) + expect_rejected( + "wrong endpoint sign", + lambda: require( + endpoint( + [add_gate(1, 2, Fraction(1)), add_gate(0, 1, Fraction(1)), add_gate(0, 2, Fraction(1))], + 0, 1, 2, (Fraction(0), Fraction(0), Fraction(1)), + ) == (Fraction(0), Fraction(1), Fraction(1)), + "wrong sign must miss the identity-one endpoint", + ), + ) + + +def main(): + check_stated_endpoints() + words, receipt = load_words() + require(set(receipt["providers"]) == {"base", "extra"}, "both providers") + for name in ("base", "extra"): + forward, cleanup = audit_provider(words[name], receipt["providers"][name]) + require((forward, cleanup) == (7, 5), name) + negative_controls(words) + print("PASS_A2_COMPOSITION_AUDIT providers=2 sites=8 new_forward_adds=7 " + "new_cleanup_adds=5 known_frame_order_swaps=2 controls=3 no_new_kappa") + + +if __name__ == "__main__": + try: + main() + except Rejected as error: + raise SystemExit("FAIL_A2_COMPOSITION_AUDIT " + str(error))