Witness machines and nondeterministic machines #
An online witness machine is equivalent to an NTM with exactly the same time and charged-space bounds. The witness is external, read-only, and consumed left to right; nonconsuming steps cannot inspect it. This theorem does not identify a free two-way certificate tape with ordinary nondeterminism.
NTM.toWitnessTM supplies a witness-machine instance for every NTM.
WitnessTM.toNTM removes the distinguished tape. The round trip recovers the
original NTM, and both translations preserve acceptance and all-path resource
bounds. Bounds are arbitrary functions, with no polynomial or constructibility
hypotheses. Witness loading is part of initialization, not a charged computation.
run_congr_prefix shows that the first t bits determine the visible t-step
run, so infinite streams are only a representation of finite certificates.
Uniform halting bounds agree exactly in the two models.
Supplying then removing the witness stream recovers the original NTM.