Radix rounds #
A simulation that cannot compute the space of its source can still find a compact configuration
graph that represents every reachable view: it tries the radices startRadix State n,
4 * startRadix State n, 16 * startRadix State n, … in turn and keeps the first one in whose
graph no reachable vertex overflows
(Turing.MultiTapeNTM.ConfigurationGraph.fits_of_not_overflow). The space of the source then only
bounds the number of rounds: a source visiting at most S work cells fits every radix from round
4 * S + 1 on (Turing.MultiTapeNTM.ConfigurationGraph.fits_roundRadix_of_runsInSpace), and the
vertices of round j have O(j + log₂ n) bits
(Turing.MultiTapeNTM.ConfigurationGraph.vertexWidth_roundRadix_le). Inductive counting grows its
radix this way, so that its space bound need not be constructible [Imm88].
Main definitions #
Turing.MultiTapeNTM.ConfigurationGraph.startRadix: the first radix, above every input position and finite tag.Turing.MultiTapeNTM.ConfigurationGraph.roundRadix: the radix of roundj,4 ^ jtimes the first.
Main results #
Turing.MultiTapeNTM.ConfigurationGraph.fits_init,Turing.MultiTapeNTM.ConfigurationGraph.startID_lt: the start view fits every radix above the finite tags, so in particular every round.Turing.MultiTapeNTM.ConfigurationGraph.fits_roundRadix_of_runsInSpace: a source visiting at mostSwork cells fits every round from4 * S + 1on.Turing.MultiTapeNTM.ConfigurationGraph.roundRadix_le_two_pow,Turing.MultiTapeNTM.ConfigurationGraph.vertexWidth_roundRadix_le: roundjhas a radix below2 ^ (2 * j + log₂ n + O(1))and vertices ofO(j + log₂ n)bits.
References #
The radices #
Larger radices have larger ambient graphs.
Round j has a radix below 2 ^ (2 * j + log₂ n + O(1)).
The vertices of round j have O(j + log₂ n) bits.
Fitting the rounds #
The start vertex lies below the ambient bound of every radix above the finite tags.
A space bound fits the late rounds: every view reachable by a source that visits at most
S work cells fits the radix of every round from 4 * S + 1 on.