10 Relativization and natural proofs
This chapter covers the two classical barriers to separating complexity classes. Relativization needs oracle machines and oracle worlds; the meaningful formal endpoints are oracle existence theorems such as “there is an oracle \(A\) with \(\mathsf{P}^A = \mathsf{NP}^A\)”, not the meta-mathematical claim that a proof technique relativizes. Natural proofs need Boolean-function properties measured on truth tables, largeness as an explicit density, and pseudorandom function security with explicit parameters. Formalized so far: deterministic Boolean-oracle Turing machines with a dedicated query tape and one-step lookups, their acceptance, deciding and output semantics, the conservative embedding of ordinary machines, oracle-uniform simulation and universality interfaces (with no concrete universal oracle machine yet), the finite counting layer of property density, and the definition of negligible functions (without closure lemmas). Nondeterministic oracle machines, relativized classes, the Baker–Gill–Solovay worlds, natural properties, pseudorandom function families and the Razborov–Rudich theorem are planned.
10.1 Oracle machines
A Boolean oracle is a function \(O : \{ 0,1\} ^* \to \{ 0,1\} \); it decides a language \(A\) if \(O(w) = 1 \iff w \in A\) for every \(w\). An oracle TM with \(k\) work tapes has a finite state type with decidable equality, a start state and a halt state; the input, \(k\) work and output tapes of an ordinary TM plus a dedicated read-write query tape; a partial map sending each query state to a pair (yes-successor, no-successor); and a local transition that reads the symbols under all heads (the query head included), writes symbols of \(\Gamma _w\) on the query, work and output tapes, and moves every head, moving right every head that reads \(\triangleright \). The initial configuration on \(x\) is in the start state with \(x\) on the input tape and every other tape empty. One step relative to \(O\) is defined as follows. The halt state has no successor. In a non-halted query state the machine reads the query word, formed by the cells strictly between the left marker and the query head in left-to-right order (a cell reads \(1\) only if it holds \(1\); \(0\), blank and \(\triangleright \) read as \(0\)), and enters the yes-successor if \(O\) answers \(1\) on it and the no-successor otherwise. The lookup costs exactly one step and changes nothing but the state; in particular the query tape is not erased, and writing the query costs ordinary local steps. Every other non-halted state applies the local transition. The relation \(c \to _O^t c'\) holds when \(c'\) is reached from \(c\) in exactly \(t\) steps relative to \(O\).
Fix an oracle \(O\) and an oracle TM \(M\); all runs are relative to \(O\), and every step, local or lookup, counts toward a budget. \(M\) accepts \(x\) (within \(t\) steps) if the run on \(x\) reaches the halt state (after at most \(t\) steps) with output cell \(1\) equal to \(1\). \(M\) decides \(L\) in time \(T : \mathbb {N} \to \mathbb {N}\) if on every input \(x\) it reaches the halt state within \(T(|x|)\) steps, with output cell \(1\) equal to \(1\) if \(x \in L\) and equal to \(0\) if \(x \notin L\). \(M\) halts on a program \(p\) within \(t\) steps if the run on \(p\) reaches the halt state after at most \(t\) steps, and produces \(y\) on \(p\) within \(t\) steps if moreover the halted output tape has output \(y\). \(M\) halts on \(p\) (produces \(y\) on \(p\)) if it does so within some finite budget. These have the same shape as the corresponding definitions for ordinary machines.
For every oracle, halting and producing \(y\) within \(t\) steps imply the same within any \(t' \ge t\) steps, and imply eventual halting and eventual production of \(y\), respectively.
The same run witnesses the larger budget, and the eventual notions are defined by existentially quantifying the budget.
Fix an oracle. A step is undefined exactly at the halt state; each configuration has at most one successor and each exact-time run has a unique final configuration. In a non-halted query state, a true answer is one step to the yes-successor and a false answer is one step to the no-successor, with all tapes unchanged. The query word of a tape whose head is at cell \(h\) has exactly \(h - 1\) bits (none when \(h = 0\)). A map from oracle configurations to configurations of an ordinary machine that sends every oracle step to an ordinary step sends every exact-time oracle run to an ordinary run with the same number of steps.
Unfold the step function; the last claim is induction on the run.
Every TM with \(k\) work tapes is an oracle TM with \(k\) work tapes, the same states, start and halt state, and no query states. Its local transition applies the source transition to the input, work and output tapes and keeps the query tape inert: it writes only blanks there, and moves the query head right when it reads \(\triangleright \) and leaves it in place otherwise. Erasing the query tape maps an oracle configuration to the ordinary configuration with the same state and input, work and output tapes.
Let \(M\) be a TM and \(M'\) its embedding. \(M'\) has no query states and each of its steps is the same for every oracle. Erasing the initial oracle configuration on \(x\) gives the ordinary initial configuration on \(x\). For every oracle and every oracle configuration \(c\), the step of \(M'\) from \(c\), erased, equals the step of \(M\) from the erasure of \(c\) (both undefined or both defined and equal), and every step of \(M\) from the erasure of \(c\) lifts to a step of \(M'\) from \(c\) whose result erases to it. Hence every exact-time run of \(M'\) erases to a run of \(M\) with the same number of steps, and every exact-time run of \(M\) from the erasure of \(c\) lifts to a run of \(M'\) from \(c\) of the same length whose final configuration erases to the final configuration of \(M\). Consequently, for every oracle \(O\), language \(L\) and bound \(T : \mathbb {N} \to \mathbb {N}\), \(M'\) decides \(L\) in time \(T\) relative to \(O\) if and only if \(M\) decides \(L\) in time \(T\); and for every program \(p\), output \(y\) and budget \(t\), \(M'\) produces \(y\) on \(p\) within \(t\) steps relative to \(O\) if and only if \(M\) does.
Step-by-step correspondence under erasure, in both directions: erase an oracle run to get the source run, and lift a source run from the erased initial configuration, reading the verdict or output off the erased final configuration.
An oracle machine \(U\) simulates an oracle machine \(M\) under a compiler \(c : \{ 0,1\} ^* \to \{ 0,1\} ^*\) if for every oracle \(O\) and program \(p\): \(U\) halts on \(c(p)\) relative to \(O\) if and only if \(M\) halts on \(p\) relative to \(O\), and for every \(y\), \(U\) produces \(y\) on \(c(p)\) relative to \(O\) if and only if \(M\) produces \(y\) on \(p\) relative to \(O\). \(U\) simulates \(M\) under \(c\) in time \(\tau : \{ 0,1\} ^* \times \mathbb {N} \to \mathbb {N}\) if for every oracle \(O\), whenever \(M\) produces \(y\) on \(p\) within \(t\) steps relative to \(O\), \(U\) produces \(y\) on \(c(p)\) within \(\tau (p, t)\) steps relative to \(O\); unlike the ordinary timed simulation, bounded halting alone is not required to transfer. \(U\) is universal if for every \(k\) and every oracle machine \(M\) with \(k\) work tapes there is a compiler \(c\), computable by an ordinary deterministic machine, such that \(U\) simulates \(M\) under \(c\). For a policy of admissible clocks, \(U\) is efficiently universal for the policy if moreover \(c\) has additive overhead (\(|c(p)| \le |p| + C\)) and \(U\) simulates \(M\) under \(c\) in some admissible clock \(\tau \); it is efficiently universal if this holds for the polynomial policy, which admits \(\tau \) when \(\tau (p, t) \le a (|p| + t + 1)^e\) for some constants \(a, e\). In every case the compiler, constant and clock depend on \(M\) but are chosen once for all oracles.
Every oracle machine simulates itself under the identity compiler, in time \((p, t) \mapsto t\). If \(U_1\) simulates \(U_2\) under \(c_1\) and \(U_2\) simulates \(M\) under \(c_2\), then \(U_1\) simulates \(M\) under \(c_1 \circ c_2\), and likewise for timed simulations with clock \((p, t) \mapsto \tau _1(c_2(p), \tau _2(p, t))\). Efficient oracle universality for any clock policy, in particular the polynomial one, implies oracle universality, and enlarging the policy preserves efficient universality.
Compose the compilers and unfold the definitions.
There is an oracle TM that is efficiently universal (for the polynomial policy). At present oracle simulation and universality are only interfaces: a timed oracle simulation with additive overhead and a polynomial clock is a hypothesis of the oracle Kolmogorov-complexity transfer theorem (Lemma 486(c)), and efficient oracle universality is a hypothesis of the Nisan–Wigderson reconstruction; no universal oracle machine has been constructed.
Extend the ordinary universal machine with a query tape that it maintains on behalf of the simulated machine, forwarding each simulated lookup as one real lookup.
10.2 Relativized classes and the Baker–Gill–Solovay worlds
An oracle NTM has two local transition functions selected by a choice bit and the same query mechanism and cost as an oracle TM, with execution along a fixed choice sequence and existential acceptance within a time bound.
For a language \(A\), \(\mathsf{P}^A\) is the class of languages decided in polynomial time by an oracle TM relative to an oracle deciding \(A\), and \(\mathsf{NP}^A\) is the nondeterministic analogue. Query length is charged through the time needed to write the query.
For every \(A\): \(\mathsf{P} \subseteq \mathsf{P}^A \subseteq \mathsf{NP}^A\) and \(\mathsf{NP} \subseteq \mathsf{NP}^A\); if \(A \in \mathsf{P}\) then \(\mathsf{P}^A = \mathsf{P}\).
The first inclusion is the conservative embedding. The collapse for \(A \in \mathsf{P}\) replaces each lookup by a call to a decider, which needs machine-level subroutine inlining.
An enumeration \(i \mapsto (M_i, p_i)\) of oracle TMs paired with polynomial clocks such that every polynomial-time oracle language, relative to every oracle, is decided by some clocked \(M_i\), and the clocked machines are simulated uniformly in the oracle.
For every \(B\), the language \(U_B = \{ 1^n : B \text{ contains a string of length } n\} \) is in \(\mathsf{NP}^B\).
Guess a string of length \(n\), write it on the query tape and query it.
There is an oracle \(B\) with \(\mathsf{P}^B \neq \mathsf{NP}^B\).
Build \(B\) in stages so that the \(i\)-th clocked machine errs on \(U_B\) at a fresh length \(n\) large enough that its clock \(p_i(n)\) is below \(2^n\); such a run queries fewer than \(2^n\) strings of length \(n\), and later stages must not change answers earlier stages relied on.
If \(A\) is PSPACE-complete under polynomial-time many-one reductions then \(\mathsf{P}^A = \mathsf{NP}^A = \mathsf{PSPACE}\).
\(\mathsf{PSPACE} \subseteq \mathsf{P}^A\) by reduction to \(A\). \(\mathsf{NP}^A \subseteq \mathsf{NPSPACE} = \mathsf{PSPACE}\) needs the closure theorem that a polynomial-space machine can answer the queries itself; this closure is the part that does not follow from completeness alone.
There is an oracle \(A\) with \(\mathsf{P}^A = \mathsf{NP}^A\).
Take \(A = \mathsf{TQBF}\).
There are oracles \(A\) and \(B\) with \(\mathsf{P}^A = \mathsf{NP}^A\) and \(\mathsf{P}^B \neq \mathsf{NP}^B\).
Combine the two worlds.
10.3 Natural proofs
There are exactly \(2^{2^n}\) Boolean functions on \(n\) bits, that is, \(2^{2^n}\) truth tables of length \(2^n\).
Cardinality of a function type.
For a set \(P\) of Boolean functions on \(n\) bits (necessarily finite), its density is the exact rational \(|P| / 2^{2^n}\), the fraction of all Boolean functions on \(n\) bits that lie in \(P\).
For all sets \(P, Q\) of Boolean functions on \(n\) bits: \(|P| \le 2^{2^n}\), \(0 \le \mathrm{density}(P) \le 1\), \(\mathrm{density}(P^c) = 1 - \mathrm{density}(P)\) with \(P^c\) the complement among all Boolean functions on \(n\) bits, and \(\mathrm{density}(P \cup Q) \le \mathrm{density}(P) + \mathrm{density}(Q)\).
Finite cardinality arithmetic.
\(f : \mathbb {N} \to \mathbb {R}\) is negligible if for every \(c \in \mathbb {N}\) there is \(N {\gt} 0\) with \(|f(n)| {\lt} 1 / n^c\) for all \(n \ge N\).
Sums of negligible functions and products of a negligible function with a polynomial are negligible; a function bounded in absolute value by a negligible function is negligible.
A family of properties \(P_n\) of \(n\)-bit Boolean functions is large with density \(\delta (n)\) if \(\mathrm{density}(P_n) \ge \delta (n)\); constructive if membership of a truth table of length \(N = 2^n\) is decidable in time polynomial in \(N\) (or by circuits of size polynomial in \(N\)); and useful against \(\mathsf{SIZE}(s)\) if, for all sufficiently large \(n\), no function in \(P_n\) has circuits of size \(s(n)\). The quantifier over lengths and the scale of constructivity are part of the definition.
A keyed family \(f_k : \{ 0,1\} ^n \to \{ 0,1\} \) computable in polynomial time, and its security game against a nonuniform class of distinguishers with oracle access (or with the full truth table): the advantage in telling \(f_k\) for a random key from a uniformly random function, required to be negligible, or bounded by an explicit function of the distinguisher’s size.
Let \(P\) be a set of Boolean functions on \(n\) bits with density at least \(\delta \), and let a family \(\{ f_k\} \) have no member in \(P\). Then the test “the truth table lies in \(P\)” accepts a uniformly random function with probability at least \(\delta \) and accepts \(f_k\) with probability \(0\), so its distinguishing advantage is at least \(\delta \). No circuit assumption is used.
Count. The finite statistical-test layer of the metacomplexity development already proves the analogous statement for dense sets of high-complexity strings against low-complexity generators (Lemma 478(a)), but not this Boolean-function form.
Suppose a pseudorandom function family computable by circuits of size \(s(n)\) has advantage less than \(\delta (n)\) against every truth-table distinguisher of size polynomial in \(2^n\). Then no property that is large with density \(\delta \) and constructive at that size is useful against \(\mathsf{SIZE}(s)\).
Usefulness puts every \(f_k\) outside the property; largeness and constructivity turn membership into a distinguisher whose advantage is the density, contradicting security.
If for some \(\varepsilon {\gt} 0\) there is a pseudorandom function family in \(\mathsf{P/poly}\) against which no distinguisher of size \(2^{n^{\varepsilon }}\) has advantage \(2^{-n^{\varepsilon }}\) or more, then no \(\mathsf{P/poly}\)-constructive property of density at least \(2^{-O(n)}\) is useful against \(\mathsf{P/poly}\). The pseudorandomness hypothesis is an explicit assumption, not a proved fact.
Instantiate the parameters: a truth table of length \(N = 2^n\) is tested by circuits of size \(\mathrm{poly}(N)\), which the strong security hypothesis covers after rescaling \(n\).