Delaying a nondeterministic machine's first choice #
A machine begins with every head on ▷, and NTM.δ_right_of_start forces that first transition
to move them all right. The transition may nevertheless branch: δ false and δ true can send
the machine to different states. That is a nuisance for any construction that has to enter a
simulated machine after the compulsory ▷-step — a composed machine can never hand a stage a
head at cell zero — because the entry state would then fix the first choice.
NTM.delayNTM removes the branch. It spends one extra step doing nothing but the compulsory
move, and only then consults the choice bit, jumping to whichever state the source machine's
first transition would have produced. Its first step is therefore choice-independent, while its
subsequent behaviour is the source machine's, one step later.
Main results #
NTM.delayNTM— the source machine with its first choice deferred by one stepNTM.delayNTM_trace_embed— after the delay, the two machines run in lockstepNTM.delayNTM_trace_two_initCfg— two steps of the delayed machine reproduce one of the sourceNTM.delayNTM_allPathsHaltIn— the delay costs two stepsNTM.delayNTM_acceptCount— the delay doubles the count of accepting paths
The source machine with its first choice deferred. The extra state Sum.inl () is both
the start state and the state the machine sits in after the compulsory ▷-step; the two are
distinguished by the input head's symbol, which is ▷ exactly on the first step.
Equations
- One or more equations did not get rendered due to their size.
Instances For
One step, transported. On an embedded configuration the delayed machine's transition is literally the source's, wrapped.
The sentinel step of a nondeterministic machine. From any configuration whose heads are
at cell zero the reads are all ▷, so the writes are no-ops and every head moves right; only the
state depends on the choice bit.
The delayed machine's second step. Sitting in the extra state with every head off the marker, it consults the choice bit, jumps to the state the source machine's first transition would have produced, and leaves every tape exactly as it is.
Two steps of the delayed machine reproduce one step of the source. The first step is the compulsory move off the marker and ignores its choice bit; the second consumes the choice the source machine would have made first.
A whole run of the delayed machine, from its initial configuration. Two extra steps buy one step of the source machine, and thereafter the two run in lockstep.
The delay costs two steps. Every path of the source machine that halts within f |x|
steps has its delayed counterpart halted within f |x| + 2.