Deterministic NTMs → DTMs #
An NTM whose two transition functions coincide is deterministic: its trace is
independent of the choice sequence and coincides with the run of the DTM
NTM.toTM obtained by keeping the false transition function. This lets the
multi-tape → single-tape NTM simulation (NTM.singleTapeSim) be reused for
deterministic machines:
NTM.Deterministic,NTM.toTM— the predicate and the conversion.NTM.toTM_decidesInTime— a deterministic NTM decider yields atoTMdecider in the same time bound.NTM.DecidesInTimeencodes rejection only as ¬acceptance (output cell 1 ≠1), whileTM.DecidesInTimedemands the cell be exactly0, so the conversion also needs the output disciplineNTM.RejectsWithZero(which every machine arising from a DTM satisfies).TM.toNTM_deterministic,NTM.pad0_deterministic,NTM.singleTapeSim_deterministic— the embedding, the padding, and the single-tape simulator all preserve determinism (the simulator consults its choice bit only to feed it toN.δ).TM.exists_singleTape_decidesInTime— the headline: every language decidable by ak-work-tape DTM in timeTis decidable by a single-work-tape DTM withinsingleTapeSimTime k T = fun n => 16 * (k + 1) * (T n + n + 1) ^ 2.
Unfolded form of Deterministic, usable as a rewrite rule.
Convert an NTM back to a DTM by keeping the false transition function.
For a Deterministic machine this is a semantics-preserving inverse of
TM.toNTM.
Equations
Instances For
For a deterministic NTM, the trace is independent of the choice sequence
(mirror of TM.toNTM_trace_choice_irrel).
Step-exact correspondence. The toTM run reaches the deterministic
NTM's trace configuration within the trace length.
On every rejected input, every length-T(|x|) computation path ends with
0 at output cell 1. NTM.DecidesInTime encodes rejection only as
¬acceptance (cell ≠ 1, e.g. possibly blank), but TM.DecidesInTime
demands the cell be exactly 0; this is the missing output discipline,
satisfied by every machine arising from a DTM decider.
Equations
Instances For
Deterministic NTM decider → DTM decider, same time bound. The toTM
run is step-exact with the (choice-irrelevant) trace; acceptance transfers
from the deciding hypothesis and rejection output from RejectsWithZero.
A DTM's NTM embedding is deterministic: both transition functions are
tm.δ.
A DTM decider's NTM embedding rejects with output 0: its trace freezes at
the DTM's halting configuration, whose rejection cell is 0.
Padding a 0-work-tape machine with a dummy work tape preserves determinism:
pad0's transition threads the choice bit only into N.δ.
Padding preserves the zero-on-rejection output discipline (the padded machine's output tape tracks the original's verbatim).
The single-tape simulator of a deterministic machine is deterministic: the
simulator's transition consults the choice bit only at the GATHER sentinel
step, where it feeds it to N.δ.
The single-tape simulator inherits the zero-on-rejection output discipline:
the simulator's output tape tracks N's exactly (Corr.outputEq).
Single-tape reduction for DTMs. Every language decidable by a
k-work-tape DTM in time T is decidable by a single-work-tape DTM within
the quadratic overhead bound
singleTapeSimTime k T = fun n => 16 * (k + 1) * (T n + n + 1) ^ 2.
Chain: embed (toNTM), simulate (singleTapeSim, or pad0 for k = 0),
convert back (toTM) via determinism.