\documentstyle{article} \input{preamble.tex} \newtheorem{example}[theorem]{Example} \begin{document} \lecture{5}{February 20, 1997}{Dan Spielman}{Russell Schwartz} \section{Introduction} In this lecture we will prove a relationship between the polynomial time hierarchy and another class we will study: P/poly. First, we will define the class P/poly. We will then prove several propositions useful to the proof. Finally, we will be able to prove the theorem. The central theorem we will be proving states that if NP can be decided by a sequence of polynomial size circuits then the polynomial hierarchy collapses. \section{$\cal{C/S}$} We begin by defining the notation $\cal{C/S}$. \begin{definition} Let $\cal{C}$ be a class of languages and $\cal{S}$ be a family of sequences of strings. Then define $\cal{C/S} = \{L | \exists A \in \cal{C}$ and $s \in \cal{S}$ s.t.\ $x \in L \Leftrightarrow (x,s_{|x|}) \in A \}$. \end{definition} In this lecture, we will be particularly concerned with one example of the notation ${C/S}$: the class $P/poly$. \begin{example} $P/poly = \{L | \exists A \in P$ and a sequence $s$ and a polynomial $p$ s.t.\ $|s_i| \leq p(i)$ and $x \in L \Leftrightarrow (x,s_{|x|}) \in A\}$, where by $s$ we mean the sequence of strings $s_1, s_2, \ldots$. \end{example} \begin{proposition} $P/poly$ = the languages accepted by some sequence of polynomial size circuits (i.e.\ we have a sequence of circuits $c_1, c_2, \ldots$ and a polynomial p s.t.\ $|c_i| \leq p(i)$ and $x \in L \Leftrightarrow c_{|x|}$ accepts $x$.) \end{proposition} \begin{proof} Let $C$ = the set of languages accepted by a sequence of circuits of polynomial size.\\ $C \subseteq P/poly$: Assume $L$ is a language accepted by a sequence of polynomial size circuits. Then for each input $x \in L$, we can encode the circuit accepting strings of size $|x|$ in a string of size polynomial in $|x|$. Then we can define the set $A$ to be $\{(x,s_{|x|}) | s_{|x|}$ describes a circuit accepting $x\}$. Then there is some sequence $s$ s.t./ $A \in P$ and $x \in L \Leftrightarrow (x,s_{|x|}) \in A$. Therefore $L \in P/poly$.\\ $C \supseteq P/poly$: Assume $L \in P/poly$. Since the advice string $s_i$ is constant for each input size $i$ of the elements of $L$ and a separate circuit is used for each input size, we can hardcode the appropriate advice string for each $i$ into the circuit for input size $i$. Each circuit $i$ can then implement the polynomial time algorithm needed to determine membership in $L$ using its hardcoded advice string and a polynomial number of gates. Thus, we can construct a sequence of polynomial size circuits deciding $L$. Therefore, $L \in C$. \end{proof} \section{$NP$ and $P/poly$} We will now state the main theorem of this lecture. \begin{theorem}[Karp-Lipton + Sipser]\label{theorem1} If $NP \subseteq P/poly$ then $PH \subseteq \Sigma_2^P$. \end{theorem} To begin a proof of this theorem, we can first note that $NP \subseteq P/poly$ iff $SAT \in P/poly$. Therefore $NP \subseteq P/poly$ is equivalent to: $\exists A \in P$, a polynomial $p$, and a sequence $g$ s.t.\ $|g_i| \leq p(i)$ and $\phi \in SAT \Leftrightarrow (\phi, g{|\phi|}) \in A$. We can further define an advice string $\alpha$ to be {\em good} if it is of the form $\alpha=(\alpha_1, \ldots, \alpha_l)$ s.t.\ $\forall \phi:|\phi| \leq l, \phi \in SAT \Leftrightarrow (\phi,\alpha_{|\phi|}) \in A$ and $|\alpha| \leq p(i)$. \begin{example} $(g_1, g_2, \ldots, g_l)$ is a good string for any $l$. \end{example} For the proof of Theorem \ref{theorem1} we will need to show how to decide {\em good}. We will first show that good is decidable in $\Pi_2^P$. \begin{proposition} $good \in \Pi_2^P$\end{proposition} \begin{proof}Assume we are given some $\alpha$. Then we can construct an ATM that performs the following steps: \begin{enumerate} \item{Use $\forall$ to guess all formulas $\phi$ s.t.\ $|\phi| \leq l$.} \item{Test whether $\alpha$ encodes a circuit for deciding inputs of size $|\phi|$ and reject if not.} \item{If $(\phi,\alpha_{|\phi|}) \in A$ then use $\exists$ to guess a satisfying assignment and accept if one exists.} \item{If $(\phi,\alpha_{|\phi|}) \notin A$ then use $\forall$ to try out all truth assignments and accept if none cause $\phi$ to be true.} \end{enumerate} This ATM will accept if and only if $\alpha$ encodes a circuit that correctly decides all formulas of length at most l. Since it uses at most one reversal starting with a $\forall$, this proves $good \in \Pi_2^P$. \end{proof} Before we can prove Theorem \ref{theorem1}, we will need to prove a slightly stronger result than the one above. We will require one additional concept, {\em self-reducibility}, to accomplish this. \section{Self-reducibility} We define a language L to be {\em self-reducible} if there exists an oracle polynomial time TM M that on inputs of length n only asks its oracle questions of length less than n and that accepts a string $w$ iff $w \in L$. \begin{proposition} SAT is self-reducible.\end{proposition} \begin{proof} To prove this, we first note that any instance of SAT can be written out more fully as the problem of deciding the truth of the statement $\exists x_1 \exists x_2 \ldots \exists x_n: \phi(x_1, x_2, \dots, x_n)$ for some $\phi$. By separately fixing one variable into each possible value, we can express this statement in terms of two smaller expressions equivalent to: $\exists x_2 \ldots \exists x_n: \phi(true, x_2, \dots, x_n)$ or $\exists x_2 \ldots \exists x_n: \phi(false, x_2, \dots, x_n)$. An oracle TM M could therefore solve an instance of SAT in polynomial time by using the oracle to decide these two smaller problems, thus proving the proposition. \end{proof} Using the self-reducibility of SAT, we can now prove a stronger result for {\em good} than we proved above. Specifically: \begin{proposition} $good \in coNP$\end{proposition} \begin{proof} The proof involves using self-reducibility to replace the use of $\exists$ in the proof that $good \in \Pi_2^P$. Specifically, given a string $\alpha$, we decide whether $\alpha$ is good as follows: \begin{enumerate} \item{Use $\forall$ to pick all formulas $\phi$ s.t.\ $|\phi| \leq l$.} \item{Test if $(\phi, \alpha_{|\phi|}) \in A$.} \item{If yes, then use $\alpha$ and the self-reducibility of SAT to find a witness for $\phi$ and accept if a witness is found.} \item{If no, use $\forall$ to verify that there is no assignment that makes $\phi$ true and accept if none is found.} \end{enumerate} This will decide whether $\alpha$ is good without using $\exists$, proving the proposition. \end{proof} We can note that it is possible to move all of the $\forall$ statements to the beginning of the algorithm by replacing line 4.\ with: \begin{enumerate} \item[4.]{Use self-reducibility to reduce $\phi$ to two formulas, $\phi_1$ and $\phi_2$, of one less variable and accept if $(\phi_i, \alpha_{|\phi|}) \notin A$ for both $\phi_1$ and $\phi_2$.} \end{enumerate} This approach will work because we are already testing all smaller formulas through the first $\forall$. Therefore if $\alpha$ is incorrect for either $\phi_1$ or $\phi_2$ that will be caught on the tests of those formulas or their sub-expressions. \section{Proving the theorem} We can now prove Theorem \ref{theorem1}. First, we restate the theorem as follows: \begin{theorem} If $NP \subseteq P/poly$ then $\Sigma_3^P \subseteq \Sigma_2^P$.\end{theorem} \begin{proof} Consider an instance of $QBF_3$, which we will remember is complete in $\Sigma_3^P$. The instance will have the form $\exists x \forall y \exists z: \phi(x,y,z)$. If we assume $NP \subseteq P/poly$ then we can solve the instance of $QBP_3$ in $\Sigma_2^P$ by the following steps: \begin{enumerate} \item{Use $\exists$ to guess each possible advice string $\alpha$.} \item{Use $\exists$ to guess each $x$.} \item{Use $\forall$ to guess every $y$.} \item{Test if $\alpha$ is {\em good}.} \item{If so, use $\alpha$ to decide $(\exists z: \phi(x,y,z), \alpha_{|\exists z: \phi(x,y,z)|}) \in A$.} \end{enumerate} As we showed above, $good \in coNP$. We can therefore decide whether $\alpha$ is good using only $\forall$. Furthermore, $(\exists z: \phi(x,y,z), \alpha_{|\exists z: \phi(x,y,z)|}) \in A$ can be decided in P. Therefore, an ATM requires only one alternation starting from $\exists$ to decide an instance of $QBF_3$, showing $\Sigma_3^P \subseteq \Sigma_2^P$. This completes the proof of Theorem \ref{theorem1}. \end{proof} \end{document}