Repository navigation
feat(MultiTapeTM): input shortening - #42
Open
barni120400 wants to merge 1 commit into
Open
barni120400 wants to merge 1 commit into
barni120400 wants to merge 1 commit into
Conversation
barni120400
force-pushed
the
feat/tm-input-shortening-adapter
branch
3 times, most recently
from
October 27, 2026 00:31
43b395c to
a97f309
Compare
barni120400
force-pushed
the
refactor/multitape-shared-simulations
branch
2 times, most recently
from
October 28, 2026 00:03
d0bfa21 to
9b2a4eb
Compare
barni120400
force-pushed
the
feat/tm-input-shortening-adapter
branch
from
October 29, 2026 13:46
a97f309 to
e4010fb
Compare
barni120400
force-pushed
the
refactor/multitape-shared-simulations
branch
from
November 1, 2026 16:53
9cca087 to
ee99dd3
Compare
Adds visit sequences of run paths and an input-shortening theorem for multi-tape Turing machines: when two input cells carry the same symbol and a halting computation path visits them with the same storages, deleting the cells after the first through the second preserves every storage reached by a step on either retained side. A long enough input to a space-bounded machine has such a pair of cells. Collapsing the cut is a homomorphism from the steps on one retained side to the steps of the machine with its output erased, `MultiTapeTM.eraseOutput`, built with `adapt`. It comes from the single-step lemma `Follows.step`, which now also gives `stepHom` and `runningStepHom`. Segments of the path between boundary visits map with `RelSeries.map` and join with `smash`, and all statements are about computation paths. Replaces the unused `not_halts_of_repeat_nonhalt` with its path version, `RunPath.injOn_running`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
barni120400
force-pushed
the
feat/tm-input-shortening-adapter
branch
from
November 1, 2026 16:56
e4010fb to
accf223
Compare
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.
Adds visit sequences of run paths and an input-shortening theorem for multi-tape Turing machines: when two input cells carry the same symbol and a halting computation path visits them with the same storages, deleting the cells after the first through the second preserves every storage reached by a step on either retained side. A long enough input to a space-bounded machine has such a pair of cells.
Erases the output with
MultiTapeTM.eraseOutput, the machine run through an adapter that drops output writes. Collapsing the cut agrees with that adapter on the steps on one retained side, soFollows.stepHomOn, a homomorphism of a sub-relation of the steps, maps them to steps on the shortened input (InputCut.stepHom);Follows.stepHomandFollows.runningStepHombecome its instances. Segments of the path between boundary visits map withRelSeries.mapand join withsmash. Replaces the unusednot_halts_of_repeat_nonhaltwith its path version,RunPath.injOn_running.Working version of #12 (upstream leanprover#1152), which stays unchanged until this is ready.
Depends on #32.
Composed with Claude Code.