Skip to content

Prove actual multitape parking/restoration and canonical-output conversion - #1641

Merged
Mister-Meeseeks merged 3 commits into
CrocSwap:mainfrom
Dugongue:tmt1
Oct 16, 2026
Merged

Mister-Meeseeks merged 3 commits into
CrocSwap:mainfrom
Dugongue:tmt1

Conversation

@Dugongue

@Dugongue Dugongue commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

The existing finite multitape toolkit now includes a concrete fixed controller and charged output conversion. This extends PR1641 with actual all-length execution proofs; selected supplier profiles and kappa remain unchanged.

The five-tape, four-symbol, 90-state controller pushes the inactive stream, transfers the active stream, executes a real bit-flip child, transfers its output back and pops the inactive stream. For every active list x, inactive list y, absolute parking head and arbitrary ancestor cell function, ParkingController.boundary_machine_correct proves an actual run in exactly 6|x|+5|y|+18 transitions and genuine halt, with complete inactive/parking data and all heads restored. All five handoffs and empty cases are charged. This uses the explicit marked-stream input convention; marker installation/removal has its own actual two-step proofs.

The reusable wrapper_correct accepts an actual child Runs/Halts contract on literal entry/return banks, including changing-length output z, and proves exact caller cost 2|x|+2|z|+5|y|+16+t. The closed bit-flip instance discharges that child premise concretely. Actual-prefix invariants and finite FootprintedRuns prove that push/pop preserve the entire old parking prefix and stay above their markers; copy/flip have corresponding selected/spectator footprint bounds.

OutputNormalization.compiled_fixedWidth implements a finite two-stack TM2 converter: the actual MSB-first list (fixedBits w n).reverse, with n<2^w, produces canonical Nat.bits followed by the existing output suffix, empties the source and genuinely halts. Its exact source cost is w+1 including EOF, with physical bound 10(w+1). Pure binary proofs are narrowed from our formalized Problem1.8 solution. No personal Lean library is imported. This is lightweight toolkit interoperability; platypii already has charged normalization. An upstream origin-anchored buffer adapter and any input reversal remain separate programs to implement and charge.

The complete package contains 23 Mathlib/Lean/bundled-only proof modules, retaining the finite compiler, heterogeneous alphabets, exact relative/absolute simulation, same-cost dirty-frame replay, locality, scheduler and asymptotic transport infrastructure. PR64 parking primitives and PR1379 caller tables are explicitly credited under Apache-2.0; no platypii source is copied. The final frontier review covers 1087 recent PR title/body scopes through #1662 at 2026-10-14T05:41Z, with relevant machine sources separately inspected. This is bounded overlap evidence, not a novelty guarantee.

Validation: fresh Lean 4.34.1 rebuild against pinned Mathlib d13f23b723b8a846827a245b89c10fc7d3f11612; 1360 defining-module declarations, 788 theorem declarations, including private/global/generated helpers; zero package axioms and only propext/Classical.choice/Quot.sound dependencies. Real Lean controls check ownership coverage and reject unused private axioms, public axioms and unproved private theorems. 11 report corruptions and 4 source corruptions are rejected. Supporting literal-table fixtures cover 2704 parking cases and 1785 output-converter cases, with two corrupted-table controls, including optimized Python. Final upload receipt binds the exact staged package; finite fixtures are not universal proof evidence.

Offline source replay: python3 -I -B research/multitape-proof-toolkit/verify.py. Dedicated fresh Lean replay: run replay.py --out /absolute/new/output --cache-project /pinned/cache --lean /path/to/lean from the package. README/API/PROOF document exact interfaces, VALIDATION.json records checks, and MANIFEST.json binds every shipped file. Generic VERIFY.json runs Python only; the optional formal CI recipe is supplied inside the package. Hosted CI, independent human review and the complete fast multiplication theorem are not claimed.

This provides reusable proved physical building blocks for contributors' verified arithmetic children and recursive routing. It does not submit a new kappa or a completed recursive multiplier. Prepared with substantial OpenAI Codex assistance, including three parallel agents; source credits and modifications are in NOTICE.md, REUSE.json and PORTING.json.

@Dugongue Dugongue changed the title Add verified multitape compilation, dirty frames and charged scheduling Prove actual multitape parking/restoration and canonical-output conversion Oct 14, 2026
@Mister-Meeseeks

Copy link
Copy Markdown
Contributor

Batch review at c96f910fbd69018bff1a72ad6e039e4d5711a6f2.

This remains open after scoped triage. Next review step: Python source/hash/finite controls pass, but the claimed universal multitape theorems require the separate fresh Lean 4.34.1 and pinned Mathlib kernel/complete axiom replay. Available local toolchains do not match; reserve a dedicated exact-environment replay before whole-head incorporation.

This is a specific continuation point, not a rejection or a request to redo already recorded checks. Completed local evidence is retained separately from outstanding whole-head obligations.

Batch review, attribution and evidence. Thank you for the contribution.

@Mister-Meeseeks
Mister-Meeseeks merged commit ee997d5 into CrocSwap:main Oct 16, 2026
53 of 62 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants