Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions research/paired-helper-frame-ledger/INPUTS.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
{
"source_repository": "CrocSwap/integer-mult-bounds",
"source_pr": 2917,
"source_commit": "224bd5e56041c40078ff6b5fa7393733a215de5c",
"files": [
{
"path": "data/PARENT-base.json.gz",
"source_path": "research/paired-helper-extension/data/PARENT-base.json.gz",
"git_blob": "6303cfd847033481d1e662e2a2fd467caf5f6429",
"sha256": "3657ad53ebe5f156f307a903479e919f2fe812811ce5d5f15e72c3aaf68dfde3",
"bytes": 69992
},
{
"path": "data/PARENT-extra.json.gz",
"source_path": "research/paired-helper-extension/data/PARENT-extra.json.gz",
"git_blob": "38af2b6ea76002df44de3c8045b24ce622782b9f",
"sha256": "b975492ff4cbec0d619cdf2da34f55ce3b20c8a541132e4339cc6c8ae3b2e487",
"bytes": 69989
},
{
"path": "data/TRANSFORM-299.json",
"source_path": "research/paired-helper-extension/data/TRANSFORM-299.json",
"git_blob": "897a8917195dbcc334293d6509215640a9c852ad",
"sha256": "781585f68449c30f63e40ee4bf58d1fa194e4faf8cf4394505437fc15137ba34",
"bytes": 2881
},
{
"path": "data/TRANSFORM-304.json",
"source_path": "research/paired-helper-extension/data/TRANSFORM-304.json",
"git_blob": "e04d29425033122f76dcd7c6658ea95a6cf27d3d",
"sha256": "024515c6e47d952dfaf307fcefda9f2106049ccc28875ae620d95241fdec72ed",
"bytes": 3084
},
{
"path": "data/TRANSFORM-320.json",
"source_path": "research/paired-helper-extension/data/TRANSFORM-320.json",
"git_blob": "9c8490c8643214e00eebcc50f45089e4e866d1c4",
"sha256": "0e4c0216221ab21c4bf48a11eab34ff6cc245014d664dc1523cfae9d437dc00d",
"bytes": 2630
},
{
"path": "data/TRANSFORM-331.json",
"source_path": "research/paired-helper-extension/data/TRANSFORM-331.json",
"git_blob": "7d35aab299dcd034ec9ecd67877bbe911c1a960c",
"sha256": "355bcfd60ffcb672f66882e66bae1b046d1bfb979f725b411b034f811dfb68bb",
"bytes": 2812
},
{
"path": "data/TRANSFORM-412.json",
"source_path": "research/paired-helper-extension/data/TRANSFORM-412.json",
"git_blob": "e62dd449d7ce79fc99cd128855d324ee6b554cd8",
"sha256": "54328a8436d7abed6433da5e4384a36ad95b266070479b496e0e96416a5f5a79",
"bytes": 2498
},
{
"path": "data/TRANSFORM-424.json",
"source_path": "research/paired-helper-extension/data/TRANSFORM-424.json",
"git_blob": "4fae6d1bb371f8407a8cd33b47dda8ccd64be7c6",
"sha256": "42747fa1332af1ca0827edebfff7490ee761f84f662527f593e975a502400dbc",
"bytes": 2399
},
{
"path": "data/TRANSFORM-428.json",
"source_path": "research/paired-helper-extension/data/TRANSFORM-428.json",
"git_blob": "1593c52045af30bbb15063d29ec1460c79d84ef9",
"sha256": "89e8fbd5a5d1d64d386cdc38f257cae18d8e7428e868f618ed1f0be5a22aba3e",
"bytes": 2501
},
{
"path": "data/TRANSFORM-499.json",
"source_path": "research/paired-helper-extension/data/TRANSFORM-499.json",
"git_blob": "7c22cd7a667f9fab088174aae93768d474794061",
"sha256": "f86eef40cd96b45c67755903eae6a86432e2aeb6d53812621222db7c062d88f6",
"bytes": 3463
},
{
"path": "data/TRANSFORM-511.json",
"source_path": "research/paired-helper-extension/data/TRANSFORM-511.json",
"git_blob": "7c7bf4b1a18ccdce241d2e8f7d5c1149c5dd3fbe",
"sha256": "48e0749f1c82594841c88923a38b0308ed777639631a4c3f2414500617f2e34b",
"bytes": 3109
},
{
"path": "data/WORD-base.json.gz",
"source_path": "research/paired-helper-extension/data/WORD-base.json.gz",
"git_blob": "9be0aa5349dbc8c928a46089a7695e224d0e4d16",
"sha256": "fec3c120db1a35022944628d34b56a36f2456248c274c2eaba1a325cdc690ce8",
"bytes": 69818
},
{
"path": "data/WORD-extra.json.gz",
"source_path": "research/paired-helper-extension/data/WORD-extra.json.gz",
"git_blob": "40b38365ea4b841101405ebd2c4fdcadcb8b9808",
"sha256": "e4d0c617df85bf8a824ff68310ca3373dc017c1ebf9ea733056a3ee4a784b36f",
"bytes": 69814
},
{
"path": "SOURCE-CREDITS.md",
"source_path": "research/paired-helper-extension/CREDITS.md",
"git_blob": "153868a3ebcf56962716f6222f0f542a9417e502",
"sha256": "a4e845cbd7cd430d7b53899b3148fb908c3af1924137412e44f19a9031fdc86a",
"bytes": 2337
}
]
}
161 changes: 161 additions & 0 deletions research/paired-helper-frame-ledger/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
# Independent finite frame ledger for PR2917

**Finite accounting audit; no new κ or supplier admission.** This package checks
Mason Hale's nine additional paired-helper extractions in
[PR2917](https://github.com/CrocSwap/integer-mult-bounds/pull/2917), pinned at
`224bd5e56041c40078ff6b5fa7393733a215de5c`. Both `base` and `extra` providers pass.
The immediate parent is Jeremy Diviney's [PR2908](https://github.com/CrocSwap/integer-mult-bounds/pull/2908)
at `51309592971e3b5be935599eed2a95404dc7781e`.

## What this adds

The predecessor `vendor/preload_move.py:frame_report` and
`vendor/audit_local.py` both use essentially the same pivot-basis and climb
calculation. Here a frame is its complete subset of `GF(2)^9`: at most 512
vectors, constructed by XOR closure. Dimensions are obtained from cardinality;
containment and equality are set operations. No predecessor Python is imported
or executed. This is a different implementation of the **frame implication**,
not a claim of independent verification of the whole construction.

The new replay derives every positive climb, every separate centre descent,
and the terminal climbs from the ordered operations. It checks actual subspaces,
not merely dimensions, including signed prelude warps, all 512 images of each
invertible warp map, dual perpendicular transport, lifted frame maps and the
symplectic identity. It then compares the derived histogram with the word's
report. It reconstructs nine sequential **frame projections**, checks each
declared old-frame preimage and candidate index, and compares the final
frame-bearing sections with the frozen final word. Compensation algebra is not
part of that projection.

| Derived quantity, for either provider | Parent | Final |
| --- | ---: | ---: |
| Paid profile | 2407 H1 + 640 H2 + 262 H3 + 128 H4 + 26 H5 + 8 H8 | 2416 H1 + 640 H2 + 280 H3 + 110 H4 + 26 H5 + 8 H8 |
| Positive paid events | 3471 | 3480 |
| Paid rank mass | 5179 | 5170 |
| Sum of 408 helper widths | 3323 | 3314 |
| Width inventory | 4:26, 5:2, 7:62, 8:87, 9:231 | 4:26, 5:2, 7:62, 8:96, 9:222 |
| Private cleanup buffers | 73 | 82 |

The extraction order is `424, 428, 412, 331, 299, 320, 511, 304, 499`.
Each of the first three steps changes the profile by `3 H1 - 2 H2`; each of
the last six changes it by `H2 + 3 H3 - 3 H4`. Therefore the net change is
`9 H1 + 18 H3 - 18 H4`. Each extracted helper changes width from nine to eight;
all other widths are unchanged.

All **13** declared frame edits satisfy the stronger geometric identity
`new_frame = old_frame ∩ E_normal`, with `E_normal` the extraction hyperplane.
Twelve edits lower an A-operation frame from dimension eight to seven. The
thirteenth lowers helper499's inherited `restore[40]` scale frame from nine to
eight. Restoring only that frame to FULL makes its later rank-eight touch at
`restore[114]` illegal, although the scalar operation itself is unchanged.

A useful cross-check telescopes the frame dimensions. Warps preserve dimension;
ordinary climbs sum to endpoint dimension minus entrance dimension. Centre
readout descents are charged separately and do not lower the main-word carrier.
The source/target contribution is `112*8 + 112*8 = 1792`; eight centre descents
contribute 64. Thus:

```
parent: 1792 + 3323 + 64 = 5179
final: 1792 + 3314 + 64 = 5170
```

The cleanup audit independently constructs the inverse-reverse **syntax** of
the forward non-target program, omitting the prelude, and substitutes `704+h`
for every protected helper `h`. It checks every actual cleanup operation,
reciprocal/negated coefficient, inverse warp identifier, full frame and private
buffer name. The buffer sets equal exactly `704 + helper_final`, with no direct
cleanup reference to a protected helper. This does **not** prove that those
buffers return to zero. Intermediate stage cleanup is derived syntax, not
comparison against separately stored stage words.

## Reproduce

Python 3.12, standard library only. From repository root:

```sh
python3.12 -I -B research/paired-helper-frame-ledger/verify.py
python3.12 -I -B research/paired-helper-frame-ledger/test_verify.py
python3.12 -I -B -O research/paired-helper-frame-ledger/verify.py
python3.12 -I -B -O research/paired-helper-frame-ledger/test_verify.py
python3.12 -B scripts/research_package.py --package research/paired-helper-frame-ledger
```

Expected marker: `PASS_PAIRED_HELPER_FRAME_LEDGER`. Verification is read-only.
The local environment, successful commands and reviewed code hashes are recorded
in [VALIDATION.json](VALIDATION.json); hosted CI is separate.
`RESULT.json` records both providers, all stage profiles, exact edit locations,
section histograms and hashes of the derived event ledgers. To inspect every
paid event and helper width, use `verify.py --details` and redirect stdout to a
file **outside** the package. This output is freshly calculated, not loaded from
the frozen receipt. Exact comparison uses canonical JSON so that Boolean and
floating aliases cannot stand in for integer receipts.

`INPUTS.json` pins the four gzip words, nine transform JSON files and retained
credit text by SHA256, byte length and Git blob. The wrapper also pins the
manifest itself. These are immutable source bytes, not regenerated compressed
outputs. The source commit and original paths were authenticated against Git
at intake; offline replay checks the frozen source inventory and bytes.
`SOURCES.json` pins the original catalogue and selected-record provenance;
they are not live mathematical inputs. The generic metadata check needs that
base Git history. The standalone replay needs only this directory.

Controls cover equal-rank unequal frames, chronological ordering, warp preimages
and invertible but wrong maps, omitted endpoint charges, forged inventories,
the helper499 scale refit, cleanup aliases/inverses/types, transform bindings,
input corruption and strict JSON. A separate XOR-pivot oracle checks all 128
generating subsets of the seven nonzero three-bit vectors, their 16 subspaces
and all 256 ordered containment pairs. Checks remain active under `-O`.

## Scope and overlap

The `independent-moment` card was selected with OS nonce
`9e2c1aa952cf9f74c87b48ad6e7d6ac1` from priority revision 5 at main
`8c8bcecb03def61bca701dd3b045932d39c48022`. Its rank-ledger method was refined
to this new nine-step input. The
[canonical claim](https://github.com/CrocSwap/integer-mult-bounds/discussions/2612#discussioncomment-18972911)
records the boundary with mdumitrean's concurrent allocation work on PR2917.
The entry overlap search covered 476 open PR bodies including drafts, 2657
local notes/tasks/ledger records, and manually inspected relevant current
Discussion threads. Cached PR pagination is a non-atomic snapshot; Discussion
pagination, arbitrary diffs and unpublished work were not exhaustively covered.
No matches would not certify novelty. See `TASK.json` for exact coverage and
remaining questions.

This audit does not replay the predecessor's scalar or free-operator identities,
compensation correctness, 632-column forward/dual audit, native implementation,
buffer-zero proof, owner allocation, physical stock, precision, moment/root
calculation, outer admission or all-size/compiler hypotheses. It does not
change the selected record, any predecessor package, or the frontier. The
82 cleanup names do not establish an 82-register feasible physical schedule;
the inherited ambient dimension 73 is a different quantity.

## Open next questions

1. Does the pinned final word, including compensation and cleanup, have the
claimed operator endpoint and zero-buffer behavior? A reviewer can first
authenticate PR2917's full source closure and replay its declared operator
checks. This package supplies only the frame/accounting component; primary
success and independent coverage must remain separate.
2. Does a source-bound native owner allocation for that unchanged word satisfy
complete physical-stock, precision and outer-admission obligations? Continue
from the current canonical allocation claim, first checking its exact word
and allocation pins. A local cap or profile alone cannot discharge those
obligations. That work is intentionally left to its active owner.

## Credit

Prepared by ToikY with substantial OpenAI Codex assistance, including separate
AI implementation, adversarial-test and mathematical-review agents. This is
not independent human review or proof-assistant verification. New code and
documentation are Apache-2.0.

Mason Hale contributed the nine extractions and 13 enabling frame edits in
PR2917. Jeremy Diviney supplied the immediate paired-helper408 construction
and compensation/cleanup architecture in PR2908. Jeremy Kothe supplied the
preload and frame chronology in PR2894 (`18d03c447886895ef9abf888398178e0428533ca`)
and PR2833. Retained upstream attribution, including Yiyang Lu, Dugongue,
Marius-Paul Dumitrean, Philippe Van Velzen, Tekalign and icekylinx, appears in
the byte-identical [SOURCE-CREDITS.md](SOURCE-CREDITS.md). Its descriptions of
the primary package's replay are predecessor statements, not checks claimed
by this audit. No predecessor executable code is vendored here.
Loading
Loading