
CUUS063 main CUUS063 Goldreich 978 0 521 88473 0 March 31, 2008 18:49
4.2. TIME HIERARCHIES AND GAPS
Teaching note: Proving the standard version of Theorem 4.3 cannot be done by associating a
sufficiently long input x
M
with each machine M, because this does not allow for geting rid of
the additional unbounded factor in T
µ(x )
(|x|) (i.e., the |µ(x)|factor that multiplies t
1
(|x|)). Note
that the latter factor needs to be computable (at the very least) and thus cannot be accounted for
by the generic ω-notation that appears in the standard version (cf. [123, Thm. 12.9]). Instead,
a different approach is taken (see footnote 2).
Technical comments. The proof of Theorem 4.3 associates with each potential machine
M some input x
M
and defines the computational problem such that machine M errs on
input x
M
. The association of machines with inputs is rather flexible: We can use any onto
mapping of inputs to machines that is efficiently computable and sufficiently shrinking.
Specifically, in the proof, we used the mapping µ such that µ(x) = M if x =M01
2
|M|
and µ(x) equals some fixed machine otherwise. We comment that each machine can be
made to err on infinitely many inputs by redefining µ such that µ(x) = M if M01
2
|M|
is a suffix of x (and µ(x) equals some fixed machine otherwise). We also comment that,
in contrast to the proof of Theorem 4.3, the proof of Theorem 1.5 utilizes a rigid mapping
of inputs to machines (i.e., there µ(x) = M if x =M).
Digest: Diagonalization. The last comment highlights the fact that the proof of Theo-
rem 4.3 is merely a sophisticated version of the proof of Theorem 1.5. Both proofs refer
to versions of the universal function, which in the case of the proof of Theorem 4.3 is
(implicitly) defined such that its value at (M, x) equals M
(x), where M
(x) denotes an
emulation of M(x) that is suspended after t
1
(|x|) steps.
3
Actually, both proofs refers to the
“diagonal” of the aforementioned function, which in the case of the proof of Theorem 4.3
is only defined implicitly. That is, the value of the
diagonal function at x, denoted d(x),
equals the value of the universal function at (µ(x), x). This is actually a definitional
schema, as the choice of the function µ remains unspecified. Indeed, setting µ(x) = x
corresponds to a “real” diagonal in the matrix depicting the universal function, but any
other choice of a 1-1 mappings µ also yields a “kind of diagonal” of the universal function.
Either way, the function f is defined such that for every x it holds that f (x) = d(x). This
guarantees that no machine of time complexity t
1
can compute f , and the focus is on
presenting an algorithm that computes f (which, needless to say, has time complexity
greater than t
1
). Part of the proof of Theorem 4.3 is devoted to selecting µ in a way that
minimizes the time complexity of computing f , whereas in the proof of Theorem 1.5 we
merely need to guarantee that f is computable.
4.2.1.2. Impossibility of Speedup for Universal Computation
The time hierarchy theorem (Theorem 4.3) implies that the computation of a universal
machine cannot be significantly sped up. That is, consider the function
u
(M, x, t)
def
= y if
2
In the standard proof the function f is not defined with reference to t
1
(|x
M
|) steps of M(x
M
), but rather with
reference to the result of emulating M(x
M
) while using a total of t
2
(|x
M
|) steps in the emulation process (i.e., in the
algorithm used to compute f ). This guarantees that f is in D
TIME(t
2
), and “pushes the problem” to showing that f
is not in D
TIME(t
1
). It also explains why t
2
(rather than t
1
) is assumed to be time-constructible. As for the foregoing
problem, it is resolved by observing that for each relevant machine (i.e., having time complexity t
1
) the executions
on any sufficiently long input will be fully emulated. Thus, we merely need to associate with each M a disjoint set of
infinitely many inputs and make sure that M errs on each of these inputs.
3
Needless to say, in the proof of Theorem 1.5, M
= M.
133