loopTM simulation — proof internals #
This file contains the simulation lemmas for loopTM tmBody tmTest.
Key definitions #
loopBodyWrap— embed atmBodyconfig into theloopTMconfig spaceloopTestWrap— embed atmTestconfig into theloopTMconfig space- Tape transformations use the shared
transitionTape/transitionInput
Embed a tmBody config into the loopTM config space (body phase).
Equations
Instances For
Embed a tmTest config into the loopTM config space (test phase).
Equations
Instances For
A t-step run of tmBody lifts to a t-step run of loopTM between the
body-wrapped configurations.
When tmBody has halted, one loopTM step moves from the body-wrapped
configuration to tmTest's start state, applying the shared tape transition to
every tape.
A t-step run of tmTest lifts to a t-step run of loopTM between the
test-wrapped configurations.
When tmTest has halted, one loopTM step moves from the test-wrapped
configuration to the rewindOut phase, applying the shared tape transition to
every tape.
From the rewindOut phase with the output head at position p, loopTM
reaches the check phase in p + 1 steps with the output head at cell 1 and
the output cells unchanged.
In the check phase, if output cell 1 holds 1 then one loopTM step
enters the done phase, leaving the output cells unchanged.
In the check phase, if output cell 1 does not hold 1 then one loopTM
step restarts tmBody (state Sum.inl tmBody.qstart), leaving the output
cells unchanged.
One full loopTM iteration ending in halt: if tmBody halts in t_body
steps, tmTest then halts in t_test steps, and the resulting output tape
(head at p, cell 1 = 1, ▷ only at cell 0) passes the check, then loopTM
halts from the body-wrapped start in t_body + 1 + t_test + 1 + (p + 1) + 1
steps with output cell 1 equal to 1.