\documentclass{article} \input{preamble.tex} \newcommand{\TIME}[1]{\ensuremath{\mbox{TIME}(#1)}} \newcommand{\SPACE}[1]{\ensuremath{\mbox{SPACE}(#1)}} \newcommand{\setof}[1]{\ensuremath{\left\{ #1\right\}}} \newcommand{\sizeof}[1]{\ensuremath{\left| #1\right|}} \newcommand{\Sizeof}[1]{\ensuremath{\Big| #1 \Big|}} \newcommand{\zo}{\ensuremath{\{0,1\}}} \newcommand{\F}{\ensuremath{\mathbf{F}}} \begin{document} \lecture{19}{April 22, 1999}{Daniel A. Spielman}{Chris Peikert} \section*{Loose Ends} First, a quick proof that MA$(k) \subseteq$ AM: in the homework, we proved that MA $\subseteq$ AM, except it was in the form of $\Sigma \cdot \mbox{BP} \cdot \mbox{P} \subseteq \mbox{BP} \cdot \Sigma \cdot \mbox{P}$. We can use essentially the same proof to show that MAM $\subseteq$ AM. Now consider a language like MAMAM. Since MAM $\subseteq$ AM, MAMAM $\subseteq$ MAAM = MAM $\subseteq$ AM. This process can be done for arbitrarily long alternating strings, which proves the claim. See last year's notes for a proof that MA$(k(n)) \subseteq$ MA$(k(n)/2 + 1)$. \section*{New Topic: PSPACE $\subseteq$ IP(poly)} As a warmup, we prove that \#P $\subseteq$ IP, and in particular, \#SAT $\in$ IP, where we remain formal by treating IP as a function class (instead of a language). \subsection*{Arithmetization} If we have a boolean formula $\phi(x_1,\ldots,x_n)$, then normally each $x_i$ is either 0 or 1. We want to extend the meaning of the formula to allow $x_i$ to take on arbitrary values from some field $\F$. In the original formula, we have three operations: $\wedge, \vee, \neg$. We make the following replacements in the formula: \begin{eqnarray*} a \wedge b & \rightarrow & a \cdot b \\ a \vee b & \rightarrow & 1 - (1-a)(1-b) \\ \neg a & \rightarrow & 1 - a \end{eqnarray*} Note that these replacements preserve De Morgan's laws. In addition, if $a,b \in \zo$, then arithmetization does not change the value of the function. Finally, notice that if we arithmetize a formula $\phi(x_1,\ldots,x_n)$ to a polynomial $p(x_1,\ldots,x_n)$, then the degree of $p$ is at most the number of leaves in $\phi$, when interpreted as a tree. Given a 3CNF $\phi$, define \#$\phi$ to be the number of satisfying assignments of $\phi$, which equals \[ \sum_{x_1 \in \zo} \cdots \sum_{x_n \in \zo} p(x_1,\ldots,x_n). \] Now given $a_1,\ldots,a_n \in \F$, a verifier can compute $p(a_1,\ldots,a_n)$. In our interactive proof, the prover will assert what \#$\phi$ is, and the verifier will end up checking a single value $p(a_1,\ldots,a_n)$, using intermediate subassertions. To make this notion of ``intermediate subassertions'' formal, we define an $\epsilon$-step to be a sub-protocol/proof such that, beginning with an assertion $A$, \begin{itemize} \item either V rejects, or \item we end with an assertion $B$ having the following properties: \begin{eqnarray*} A \mbox{ is true} & \Rightarrow & \exists \mbox{ a prover s.t. } B \mbox{ is true} \\ A \mbox{ is false} & \Rightarrow & \Pr{B \mbox{ is false, given V didn't reject}} > 1 - \epsilon. \end{eqnarray*} \end{itemize} In other words, if V ``believes'' $B$ with probability $\alpha \approx 1$, then V believes $A$ with probability $\alpha - \epsilon$. Now assume that we begin with the following assertion: \begin{equation} \sum_{x_j \in \zo} \cdots \sum_{x_n \in \zo} p(a_1,\ldots,a_{j-1},x_j,\ldots,x_n) = \alpha \label{one} \end{equation} The prover sends a polynomial $q(x_j)$ in $x_j$ only, with $\deg(q) \leq \deg(p)$, which is supposedly \begin{equation} \sum_{x_{j+1} \in \zo} \cdots \sum_{x_n \in \zo} p(a_1,\ldots,a_{j-1},x_j,x_{j+1},\ldots,x_n). \label{two} \end{equation} Then V rejects automatically if $q(0) + q(1) \neq \alpha$, otherwise V chooses $a_j \in \F$ at random, lets $\beta = q(a_j)$, and sends $a_j$ to the prover. The new assertion is then \begin{equation} \sum_{x_{j+1} \in \zo} \cdots \sum_{x_n \in \zo} p(a_1,\ldots,a_j,x_{j+1},\ldots,x_n) = \beta. \label{three} \end{equation} We claim that this is a $\frac{\deg(p)}{|\F|}$-step. To prove this, note that three assertions are involved (they are marked above). If (\ref{one}) is true, then there exists some $q(x_j)$ with proper degree and some prover that sends it, so (\ref{two}) is true. Of course, if (\ref{one}) and (\ref{two}) are true, then so is (\ref{three}). Alternatively, if (\ref{one}) is false and V does not reject, then (\ref{two}) must be false. In this case, because $q$ and $p$ have degree at most $\deg(p)$, there are at most $\deg(p)$ choices for $a_j$ such that (\ref{three}) is true (by Schwartz's lemma), so the probability of choosing one of these values is at most $\frac{\deg(p)}{|\F|}$. Now we present the full interactive proof for \#3SAT: the prover begins with the assertion \[ \sum_{x_1 \in \zo} \cdots \sum_{x_n \in \zo} p(x_1,\ldots,x_n) = \beta_0 \] which, via a $\frac{\deg(p)}{|\F|}$-step, is reduced to the assertion \[ \sum_{x_2 \in \zo} \cdots \sum_{x_n \in \zo} p(a_1,x_2,\ldots,x_n) = \beta_1 \] which is further reduced, over $n$ similar steps, to the assertion \[ p(a_1,\ldots,a_n) = \beta_n. \] The verifier takes polynomial time to check this assertion, and accepts if it is true. The entire protocol is an $\frac{n \cdot \deg(p)}{|\F|}$-step, by a probability bound of going from a false assertion to a true one. For the entire protocol, we can use $|\F| \approx 2^n$, and $\deg(p)$ polynomial in $n$. For the proof that PSPACE $\subseteq$ IP(poly), note that V need not truly evaluate $p$; it just needs to be convinced of the value. Recall the outline of the proof that PSPACE $\subseteq$ AP: let M run in polynomial space, and see that the graph of configurations of M on $w$ has at most $2^{n^k}$ nodes, for some $k$, and every node has outdegree 1 since M is deterministic. Then M accepts $w \iff \mbox{FromTo}(\mbox{start},\mbox{accept},2^{n^k}) = 1$, where the definition of FromTo is \begin{equation} \mbox{FromTo}(x,y,2^j) = \bigvee_z (\mbox{FromTo}(x,z,2^{j-1}) \wedge \mbox{FromTo}(z,y,2^{j-1})) \label{ft} \end{equation} and where FromTo$(x,y,1)$ has a polynomial-sized formula. Now we arithmetize: let $P_1(x_1,\ldots,x_{n^k},y_1,\ldots,y_{n^k})$ be an arithmetization of FromTo$(x,y,1)$. Furthermore, recursively define \[ P_k(\overline{x},\overline{y}) = \sum_{z_1 \in \zo} \cdots \sum_{z_{n^k} \in \zo} P_{k-1}(\overline{x},\overline{z}) \cdot P_{k-1}(\overline{z},\overline{y}). \] We claim that for $x,y \in \zo^{n^k}$, $P_k(\overline{x},\overline{y}) = \mbox{FromTo}(\overline{x},\overline{y},2^k)$. We've arithmetized the $\wedge$ of FromTos in (\ref{ft}) to multiplication, but we've only replaced the $\vee_z$ by summation. However, this is OK because of determinism - in the $\vee_z$, there is a {\em unique} node $z$ for which both FromTos are true, if we define FromTo to require {\em exact} lengths of paths, and make a loop from the accept node to itself. Therefore the sum is either zero or one, depending on whether there is a path of proper length to the accept node. Now we outline the interactive proof of any PSPACE problem. The first assertion is $P_{n^k}(\mbox{start},\mbox{accept}) = 1$. The general assertion is of the form $P_j(x_1,\ldots,x_n,y_1,\ldots,y_n) = c$ with $x_i,y_i \in \F$. First, $P_{n^k}(\mbox{start},\mbox{accept}) = 1$ is written out a sum over $z_i$'s. We interactively apply a $\frac{n \cdot \deg(p)}{|\F|}$-step (as above) to get an assertion like \[ P_{j-1}(x_1,\ldots,x_{n^k},a_1,\ldots,a_{n^k}) \cdot P_{j-1}(a_1,\ldots,a_{n^k},y_1,\ldots,y_{n^k}) = c' \] which can be converted into another assertion $P_{j-1}(\overline{u},\overline{v}) = c''$ by another $\epsilon$-step (as we will show). We then repeat the process until we get an assertion about $P_1$, which the verifier can then check directly. To complete the proof, we need only show that an assertion about a product $P_k \cdot P_k$ can be converted to an assertion about a single value of $P_k$. Define a function that takes an element from the field $\F$ and returns a vector, \[ T(\alpha) = \alpha(x_1,\ldots,x_{n^k},a_1,\ldots,a_{n^k}) + (1-\alpha)(a_1,\ldots,a_{n^k},y_1,\ldots,y_{n^k}). \] This can be viewed as ``linear interpolation'' (but in the field $\F$) between the two vectors in the original product of $P_k$'s. Then the prover sends a function $q(\alpha)$, which is supposedly the function $P_k(T(\alpha))$. The verifier immediately rejects if $q(0) \cdot q(1) \neq c'$, otherwise it chooses $b \in \F$ at random, and computes $c'' = q(b)$. The new assertion is now $P_k(T(b)) = c''$. This is an $\epsilon$-step, and the analysis is similar to what appears above. This completes the proof. \end{document}