3 Exponential-length PCP
A system of \(m\) quadratic equations in \(n\) variables over a field \(\mathbb {F}\) is a list of polynomials \(p_1, \ldots , p_m \in \mathbb {F}[x_1, \ldots , x_n]\) where each \(p_i\) has total degree at most \(2\).
For example, \((x + 1, xy + z) \in \mathrm{QESAT}(\mathbb {F}_2,3)\).
A PCP verifier is a probabilistic oracle Turing machine \(V\) with query access to a function \(\pi : [\ell (|x|)] \to \Sigma \).
A language \(L \subseteq \{ 0,1\} ^*\) is in \(\mathrm{PCP}[\varepsilon _c, \varepsilon _s, \Sigma , \ell , q, r]\) if there exists a polynomial-time PCP verifier \(V\) such that for every \(x \in \{ 0,1\} ^*\), \(V\) makes at most \(q(|x|)\) queries to the proof oracle, uses at most \(r(|x|)\) bits of randomness, and the following holds:
Completeness: If \(x \in L\), then \(\exists \pi \in \Sigma ^{\ell (|x|)}, \, \Pr \left[V^\pi (x)=1 \right] \geq 1 - \varepsilon _c\).
Soundness: If \(x \notin L\), then \(\forall \widetilde{\pi } \in \Sigma ^{\ell (|x|)},\, \Pr \left[V^{\widetilde{\pi }}(x)=1 \right] \leq \varepsilon _s\).
The following theorem is the main goal of this chapter.
A LPCP verifier is a probabilistic oracle Turing machine \(V\) with query access to a linear function \(\langle \pi ,\cdot \rangle : \Sigma ^{\ell (|x|)} \to \Sigma \).
A language \(L \subseteq \{ 0,1\} ^*\) is in \(\mathrm{LPCP}[\varepsilon _c, \varepsilon _s, \Sigma , \ell , q, r]\) if there exists a polynomial-time LPCP verifier \(V\) such that for every \(x \in \{ 0,1\} ^*\), \(V\) makes at most \(q(|x|)\) queries to the linear proof oracle, uses at most \(r(|x|)\) bits of randomness, and the following holds:
Completeness: If \(x \in L\), then \(\exists \pi \in \Sigma ^{\ell (|x|)}, \, \Pr \left[V^{\langle \pi , \cdot \rangle }(x)=1 \right] \geq 1 - \varepsilon _c\).
Soundness: If \(x \notin L\), then \(\forall \widetilde{\pi } \in \Sigma ^{\ell (|x|)},\, \Pr \left[V^{\langle \widetilde{\pi }, \cdot \rangle }(x)=1 \right] \leq \varepsilon _s\).
3.1 Linear PCP for linear equations
For a field \(\mathbb {F}\) and parameters \(m, n \in \mathbb {N}\), we define the language
Let \(V_{\mathrm{LINEQ}(\mathbb {F},m,n)}^{\langle b, \cdot \rangle } (M,c)\) be the LPCP verifier defined as follows:
Sample \(r \leftarrow \mathbb {F}^m\).
Query \(b\in \mathbb {F}^n \) at \(u:= M^{\intercal }r \in \mathbb {F}^n\).
Accept if and only if \(\langle b,u\rangle = \langle c, r\rangle \).
Consider the LPCP verifier \(V_{\mathrm{LINEQ}(\mathbb {F},m,n)}^{\langle b, \cdot \rangle } (M,c)\).
Completeness: If \(Mb =c\), then for every \(r \in \mathbb {F}^m\), we have
Soundness: If \(Mb \neq c\), then
where the last inequality follows from the Schwartz-Zippel lemma.
3.2 Linear PCP for tensor checks
For a field \(\mathbb {F}\), vectors \(a \in \mathbb {F}^n\) and \(b \in \mathbb {F}^m\), the tensor product \(a \otimes b \in \mathbb {F}^{n \times m}\) is the matrix defined by
We write \(\mathrm{flat}(a \otimes b) \in \mathbb {F}^{n \cdot m}\) for the row-concatenation of \(a \otimes b\).
For our purposes, we would love to test to check if \(\mathrm{flat}(a \otimes a) = b\)
For a field \(\mathbb {F}\) and \(n \in \mathbb {N}\), define the tensor test language
For every finite field \(\mathbb {F}\) and \(n \in \mathbb {N}\),
Consider the following LPCP verifier \(V^{\langle a,\cdot \rangle , \langle b,\cdot \rangle }\) proceeds as follows:
Sample \(s, t \leftarrow \mathbb {F}^n\).
Query \(a\) at \(s\) and at \(t\), obtaining \(\langle a, s \rangle \) and \(\langle a, t \rangle \).
Query \(b\) at \(\mathrm{flat}(s \otimes t)\), obtaining \(\langle b, \mathrm{flat}(s \otimes t) \rangle \).
Check if \(\langle b, \mathrm{flat}(s \otimes t) \rangle = \langle a, s \rangle \cdot \langle a, t \rangle \).
Completeness. Suppose \(b = \mathrm{flat}(a \otimes a)\). Then \(\forall s, t \in \mathbb {F}^n\),
Soundness. Suppose \(b \neq \mathrm{flat}(a \otimes a)\), i.e., there exists \(i^*, j^* \in [n]\) such that \(b_{i^* j^*} \neq a_{i^*} \cdot a_{j^*}\). For each \(i \in [n]\) define the linear polynomial \(p_i(t) := \sum _{j \in [n]} (b_{ij} - a_i a_j)\, t_j\). The check can be rewritten as
Immediate application of Polynomial Identity Testing yields a lower bound of \(1 - \tfrac {2}{|\mathbb {F}|}\) but we can do better. Since \(b_{i^* j^*} \neq a_{i^*} a_{j^*}\), the polynomial \(p_{i^*}\) is nonzero, so by the Schwartz–Zippel lemma applied to \(t\),
Conditioned on \(p_{i^*}(t) \neq 0\), the expression \(\sum _i p_i(t)\, s_i\) is a nonzero linear polynomial in \(s\), so by the Schwartz–Zippel lemma applied to \(s\),
Hence
and therefore
Immediate.