 
Summary: Com S 631: Lower bounds and Separation Results
Lecture 1 Scribe: Pavan Aduri
1. Hierarchy Theorems
Today we will talk about deterministic and nondeterministic time hierarchy theorems.
Given a string x, let Mx be a deterministic Turing machine defined as follows: If x encodes
a valid Turing machine N, then Mx is the same as N. If x does not encode a valid Turing
machine, then Mx is a machine that rejects every string.
Theorem 1. There is a Universal Turing machine U such that for every x and w U(x, w) =
Mx(w). For every x, there is a constant Cx such that U simulates t steps of Mx within
Cxt log t steps.
Now we are ready to state the deterministic timehierarchy theorem.
Theorem 2. Let f(n) log f(n) o(g(n)). There is a language in DTIME(g(n)) that is not
in DTIME(f(n)).
Proof. The proof works by diagonalization. Consider the following machine N.
(1) Input w, w = n.
(2) If w is not of the form x, 0i
, then reject.
(3) Run U(x, w) for g(n) steps.
(4) If U does not halt within g(n) steps, reject input.
(5) If U accepts, then Reject. If U rejects, then accept.
