Notes on Complexity Theory
Last updated: November, 2011
Lecture 19
Jonathan Katz
1
IP
=
PSPACE
A small modification of the previous protocol gives an interactive proof for any language in
PSPACE
,
and hence
PSPACE
⊆ IP
.
Before showing this, however, we quickly argue that
IP ⊆
PSPACE
.
To see this, fix some proof system (
P
,
V
) for a language
L
(actually, we really only care about
the verifier algorithm
V
). We claim that
L
∈
PSPACE
. Given an input
x
∈ {
0
,
1
}
n
, we compute
exactly (using polynomial space) the maximum probability with which a prover can make
V
accept.
(Although the prover is allowed to be all-powerful, we will see that the optimal strategy can be
computed in
PSPACE
and so it suffices to consider
PSPACE
provers in general.)
Imagine a tree
where each node at level
i
(with the root at level 0) corresponds to some sequence of
i
messages
exchanged between the prover and verifier. This tree has polynomial depth (since
V
can only run
for polynomially many rounds), and each node has at most 2
n
c
children (for some constant
c
),
since messages in the protocol have polynomial length. We recursively assign values to each node
of this tree in the following way: a leaf node is assigned 0 if the verifier rejects, and 1 if the verifier
accepts. The value of an internal node where the prover sends the next message is the
maximum
over the values of that node’s children. The value of an internal node where the verifier sends the
next message is the (weighted)
average
over the values of that node’s children. The value of the
root determines the maximum probability with which a prover can make the verifier accept on the
given input
x
, and this value can be computed in polynomial space. If this value is greater than 2
/
3
then
x
∈
L
; if it is less than 1
/
3 then
x
6∈
L
.
1.1
PSPACE
⊆ IP
We now turn to the more interesting direction, namely showing that
PSPACE
⊆ IP
. We will now
work with the
PSPACE
-complete language
TQBF
, which (recall) consists of true quantified boolean
formulas of the form:
∀
x
1
∃
x
2
· · ·
Q
n
x
n
φ
(
x
1
, . . . , x
n
)
,
where
φ
is a 3CNF formula. We begin by arithmetizing
φ
as we did in the case of #
P
; recall, if
φ
has
m
clauses this results in a degree-3
m
polynomial Φ such that, for
x
1
, . . . , x
n
∈ {
0
,
1
}
, we have
Φ(
x
1
, . . . , x
n
) = 1 if
φ
(
x
1
, . . . , x
n
) is true, and Φ(
x
1
, . . . , x
n
) = 0 if
φ
(
x
1
, . . . , x
n
) is false.