← Student tools · Problem 46 · Lecture 16 · Round 3 (40 pts)

Time hierarchy theorem · TIME(f) ⊊ TIME(f log f)

Diagonalize against time-bounded TMs.

CLO-1CLO-5R3·40 ptsL16
🔊 Listen

The Time Hierarchy Theorem (Hartmanis & Stearns 1965) is one of the few unconditional separation results in complexity theory. It says that giving a TM strictly more time strictly enlarges what it can decide.

Theorem (Sipser 9.10)

If f(n) ≥ n log n is time-constructible, then TIME(f(n)) ⊊ TIME(f(n) · log f(n)).

The proof is by diagonalisation. Build a TM D that on input ⟨M⟩ simulates M for f(|⟨M⟩|) steps and outputs the opposite of M's answer. D's language is not in TIME(f) (any TIME(f) machine M would disagree with D on input ⟨M⟩) but D runs in time f · log f (the extra log factor accounts for universal-simulation overhead).

Major consequences

P ⊊ EXPTIME. TIME(nk) ⊊ TIME(2n) for every k. EXPTIME strictly contains polynomial time.

TIME(n) ⊊ TIME(n²). Linear time is strictly less than quadratic time.

NL ⊊ PSPACE. Via Space Hierarchy (analogous theorem for space).

🔊 Listen
Diagonalizer D times out at f(n)·log f(n) Auto-plays
🔊 Listen
🔊 Listen
🔊 Listen

Sipser: Theorem 9.10 (Time Hierarchy). Lecture notes: Module 7 slide 5. Companion problems: P45 (hierarchy diagonal), P48 (P ⊊ EXPTIME).