Repository navigation
Compile dirty-buffer XOR corrections with explicit space–time bounds - #3880
Merged
Mister-Meeseeks merged 1 commit intoOct 20, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR3879's one-dirty-record in-place XOR correction pays quadratic tape travel. This package supplies a complete streamed-chunk alternative with a restored dirty buffer and an exact space–time tradeoff. For N = 2^h records of arbitrary width B and capacity R = 2^r dirty records, its literal two-tape table takes
transitions. Borrowing at most N/2 dirty records gives
6 N wt(delta) (B+2). Each paired chunk is exchanged through the dirty prefix three times, restoring the prefix before the next pair. The full informal proof covers all parameters, genuine halt, head restoration, arbitrary exterior frames, exact finite control size and compilation scope. The controller is compiled for(h, delta, r); a fixed-control interpreter for unbounded online h is not assumed.On the 23 literal PR3480 masks at N = 512, the isolated 256-record invoices sum to
307,200 B + 614,400, more than six times smaller than PR3879's in-place2,033,554 B + 4,049,444, with more borrowed space. The new 2-record point already costs1,763,328 B + 3,526,656; the complete nine-point curve is retained. The new 1-record schedule is slower than the older one, and PR3879's owned-destination copy variant remains faster. This is a changed-space option, not equal-space dominance or a measured whole-multiplier speedup.Verification covers 986 parameter cases, 436 complete joint data/dirt states, all 23 production masks with 512 distinct payload labels, and 5,259,144 literal unit transitions. Seven semantic control groups include an actual transition-table omission of the third exchange, malformed widths/framing, wrong endpoints/heads/footprints/halt/invoices, and real Git-free source and receipt corruption. Registered normal and assertion-disabled Python 3.12 checks, source-history/committed-byte checks and the official exported replay pass. All 16 publication files are hash checked and unchanged. These are author checks and an informal proof; no new Lean/kernel or independent human review is claimed.
Credit Dugongue/PR3879 for the unchanged literal runner and immediate low-space/copy predecessors; Gonzalo Mier/PR3480 for the source-pinned masks and cancellation handoff; Cinna Davis/PR2297 for the five-plane operator and decoder lineage; the shared MathProof frame/locality/commuting-phase sources; Tekalign, Gareth Davidson and ywz65's paid permutation precedents; and James Chang's related prepared XOR/writeback contracts. PR3831/PR3832/PR3834's related mask identities are acknowledged. Source bytes and notices are retained. Classical three-swap restoration and XOR decomposition are not claimed as new. Prepared by Dugongue with substantial OpenAI Codex assistance.
Base
20ecf2891d80b5acf18d980b2164fb44ea7faa90, priority revision 6. Main was fetched at the start and final checkpoint, with no guidance delta. Overlap covered 585 open PR bodies, 100 updated all-state PRs, the actual pinned sources and related submissions, plus partial visible Discussion HTML; closed-history and full Discussion pagination are incomplete. The selected baseline binding check passes; its unrelated cold replay was not run.Native owner/layout/encoding, borrowed-buffer acquisition/lifetime, complete consumer integration and recursive tariff accounting remain open. This package changes neither the selected frontier nor κ and does not claim a new multiplier. The concrete sufficient result is the standalone restored-dirty-buffer tape compiler with exact costs.
Reproduce: