THEOREM: SAT ∈ PCP(nO(1), 1)
That is, SAT has a randomized polynomial-time verifier V with the following properties:
The PCP system we describe uses exponentially large proofs.
In fact, the stronger result holds, but we don't describe a proof:
THEOREM: SAT ∈ PCP(log(n), 1)
In his book "Approximation Algorithms", Vazirani mentions the following intuition for PCP's. Given a Boolean formula in 3-SAT form with $m$ clauses, suppose the verifier was given a satisfying assignment (as the proof of satisfiability) and then checked a single clause at random of the formula to see if the assignment satisfied that one clause. If the clause was satisfied, then the verifier would accept.
With this simple PCP system, if the formula is satisfiable, there is a proof to give the verifier so that the verifier will accept with probability 1. Conversely, if the formula is not satisfiable, no matter what ``proof'' one gives the verifier, the verifier will reject with probability at least 1/m.
The challenge is to amplify this rejection probability to at least 1/2, while still having the verifier check only a constant number of bits in the proof.
The verifier wants to verify that the Boolean formula F is satisfiable. To begin, the verifier converts F into a set S of equivalent quadratic equations and variables over Z2n (the integers {0,1} with arithmetic mod 2). The equations will have a solution if and only if F is satisfiable.
Example: Suppose F = (v1 or v2) and (v1 or v2) .
Then the equations are:
Equation | Meaning |
B3 = B1 + B2 - B1 B2 | B3 = (v1 or v2) |
B4 = 1 - B1 B2 | B4 =(v1 or v2) |
B5 = B3 B4 | B5 = B3 and B4 |
B5 = 1 | B5 = true |
Next, the verifier selects a random subset of the set of equations above and adds them together to get a single equation, say, ∑ij xij Bi Bj = 1 for some particular (known) x. We will write this equation also as FB(x) = 1. Note that the verifier knows x but not B, even though we use notation suggesting that FB(x) is a function of x.
LEMMA: The random function FB(x) has the following property: for any particular assignment B=b, if b satisfies all the equations, then Fb(x)=1. Otherwise, Pr[Fb(x) = 1] ≤ 1/2.
This is because, if there are any incorrect equations (for a particular b), the final equation will be incorrect exactly when the number of incorrect equations chosen in the set is odd. This is FreivaldsTrick.?
Finally, the verifier examines the proof P, using the SELF-CHECK-DIAG and SELF-CORRECT algorithms from SelfTestingCorrecting.?
The verifier expects the proof P to encode a satisfying assignment B=b for the equations as follows. For each of the 2n× n n× n matrices X ∈ Z2n× n, the proof should tell the value (0 or 1) of
The key observation at this point is that if P has the correct format, then P(X) is a diagonal linear function of X. In particular, P(X) = Fb(X) = ∑ij Xij bi bj for some particular b.
Now we can state the verifier completely. On input (A, P), where A is a SAT formula and P is an alleged proof that B is satisfiable, the verifier V does the following:
LEMMA: If A is satisfiable, there exists a proof P such that V(A, P) accepts.
PROOF: As described, let B=b be a satisfying assignment of the quadratic equations.
For each X, let P(X) = ∑ij Xij bi bj .
Then P(X) is a diagonal linear function of X, so the SELF-CHECK-DIAG(P) test passes,
and SELF-CORRECT(P,x) returns P(x), which equals Q(x), which equals F(b).
Since all equations in the set of quadratic equations are satisfied,
so is the equation F(b)=1, so Q(x)=1 holds too.
Thus, the verifier accepts.
QED
LEMMA: If A is not satisfiable, then for any alleged proof P, Pr[V(A,P) rejects] ≥ 1/2.
PROOF:
Suppose A is not satisfiable.
If P does not encode an approximate diagonal linear function, then SELF-CHECK-DIAG(P) fails with probability at least 1/2.
So assume that P does. Let Q(X) = ∑ij Xij bi bj be the approximate diagonal linear function that P encodes. One of the following things has to happen for the remaing steps to not reject:
QED