110 Lecture 17
By amplification (Miscellaneous Exercise 44), we can replace the probabil-
ities 3/4 and 1/4 in (i) and (ii) with 1 − ε and ε, respectively.
Intuitively, if x ∈ L,thenP can convince V of this fact with high
probability; whereas if x ∈ L,thenno one can convince V otherwise with
more than negligible probability.
Suppose (i) and (ii) are true. Let N = n
c
be a time bound on the
entire protocol (excluding P ’s private computation). Thus all messages are
bounded in length by N, there are at most N rounds, and V uses at most
N random bits on inputs of length n.
First let us assume that the prover P runs in PSPACE .Inthiscaseitis
easy to decide membership in L in PSPACE . On input x, |x| = n,wejust
cycle through all possible strings of random bits of length N sequentially,
simulating the entire protocol on each and counting the number of times
V accepts. We accept the input x if this number is at least 2
N−1
,which
guarantees probability at least 1/2 of acceptance. By (i) and (ii), this occurs
iff x ∈ L. The entire computation can be done in PSPACE.
Now let us drop the assumption that P runs in PSPACE .Infact,
we do not place any requirements at all on P ’s behavior except that it
be deterministic and its messages polynomially bounded. Formally, P is
simply a function that takes the history of messages m
1
,... ,m
k
previ-
ously received from V and the input string x and produces a new message
k
= P (x, m
1
,... ,m
k
)tosendtoV . The function need not even be com-
putable!
Now because there exists a protocol P satisfying (i) and (ii), on any
input the prover might as well choose its messages so as to maximize the
probability of V ’s acceptance. Then (i) and (ii) will still be true if the
prover plays this optimizing strategy. Moreover, as we show below, such a
strategy (call it P
opt
) can be computed in PSPACE .
We can assume without loss of generality that all of the prover’s mes-
sages are just one bit in length; if necessary, the protocol can easily be mod-
ified so that the verifier asks for the prover’s responses one bit at a time.
Thus we can think of P as an oracle that, whenever queried on the string
x#m
1
# ···#m
k
consisting of the input x and the history m
1
,... ,m
k
of
previous messages from V , returns a single bit: 1 if x#m
1
# ···#m
k
is in
the oracle set and 0 if not. We also assume for technical reasons that V ’s
random tape head moves only to the right; that is, V reads each random
bit at most once. If V needs to remember a random bit, it just saves it on
the worktape.
Under these assumptions, the protocol is described by a computation
tree T . The vertices of T are labeled by configurations describing V ’s cur-
rent state and the contents and head positions of V ’s input, work, and
message tapes (but not the contents or head position of V ’s random tape).
A query to the random tape is modeled by a binary branch in T , deter-
mined by the value of the new random bit just read. We call such a branch