Polynomial resource bounds for the universal simulator #
The resource functions of Christian Reitwiessner's universal simulator admit explicit polynomial bounds in the encoded description length, encoded input length, clock length, and number of simulated steps. These estimates are shared by unary-clock polynomial-time simulation and the time-hierarchy construction.
Main results #
Turing.MultiTapeTM.Universal.computableInO_universal: a plain native machine certificate for the strengthened time and space bounds, including a zero clock.Turing.MultiTapeTM.Universal.runBound_mono: the space bound grows with the number of steps.Turing.MultiTapeTM.Universal.universal_bounds_le: forD, N, L ≤ Band1 ≤ J, the time expression is at most100000 * (B + 1) ^ 4 * J ^ 2and the space bound is at most200 * (B + 1) ^ 2 * J.
The resources of the universal run. If the encoded description, the encoded input and the
number of digits L of the clock have length at most B, the time of the universal function on
J ≥ 1 steps is O((B + 1) ^ 4 * J ^ 2) and its space O((B + 1) ^ 2 * J).
Here B includes the encoded input length, so this is not a fixed-machine quadratic-time
simulation bound when the input length varies. The buffered logarithmic-overhead simulation
requires a different tape representation.
A plain native machine computes the clocked universal function within a quartic factor in the complete encoded input length and a quadratic factor in the number of simulated steps. The statement includes a zero clock. Its size factor includes the simulated input and binary clock, so it does not assert fixed-machine quadratic simulation as those inputs vary.