Codes of views without the input #
A view of a nondeterministic machine (Turing.FiniteCfg, as in
Turing.MultiTapeNTM.accepts_iff_reflTransGen_viewStep) stores its input, so its encoding is at
least as long as the input. All the views reachable on one input share that input, and the rest
of a view is short under a small space bound: Turing.MultiTapeNTM.coreCode encodes the input
head position in binary, the control, the work tapes relative to their heads and the output
summary. It identifies views with the same input (Turing.MultiTapeNTM.coreCode_injective), and
on views reachable within space s on an input of length n it has length
O(log n + s) (Turing.MultiTapeNTM.length_coreCode_le). So at most 2 ^ O(log n + s) distinct
views are reachable (Turing.MultiTapeNTM.length_le_of_nodup_reachable), polynomially many in
n under a logarithmic space bound Sipser, Section 8.4.
Main definitions #
Turing.MultiTapeNTM.coreCode: the code of a view without its input.Turing.MultiTapeNTM.coreLengthBound: the bound on the codes of reachable views.
Main results #
Turing.MultiTapeNTM.spaceUsed_workTapes_le: reachable views store few cells per work tape.Turing.MultiTapeNTM.coreCode_injective: the code identifies views with the same input.Turing.MultiTapeNTM.length_coreCode_le: reachable views have short codes.Turing.MultiTapeNTM.length_le_of_nodup_reachable: few distinct views are reachable.
References #
Reachable views store few cells per work tape: under a space bound s, every work tape of
a view reachable from the initial view is stored in at most 4 * s + 1 cells.
The encoding of a view without its input: the input head position in binary, the control, the work tapes and the output.
Instances For
Reachable views have short codes: under a space bound s, the code of every view reachable
from the initial view has length at most coreLengthBound k State n s.
Few distinct views are reachable: under a space bound s, a list of distinct views
reachable from the initial view has at most 2 ^ (2 * coreLengthBound k State n s + 1) entries,
since padding their codes to one length identifies no two of them.