The Verifier and the Prover
Interactive proof systems provide a probabilistic analog of the class , similar to how probabilistic polynomial time algorithms provide an analog to
These have important implications to cryptography and approximation algorithms
Recall that the languages in are those whose members all have easily verifiable certificates of membership
We reformulate this concept as a Prover with unlimited time and a Verifier with polynomially bounded time
Informally, an interactive proof system takes this formulation, allows for two-way dialog, and lets the Verifier be a probabilistic polynomial time machine
This kind of system can decide problems such as the complement of (within the degree of accuracy we specify)
Example:
is in , but is neither proven to be in or -complete
The complementary language is not even known to be in
However our setup enables a Prover to convince a Verifier that two graphs aren’t isomorphic with a very simple scheme
The Verifier randomly selects either or , randomly reorders its nodes to produce , and asks the Prover whether or is the source of
With unlimited computational power, the Prover can consistently answer correctly only if the graphs are nonisomorphic
Therefore, if the Prover answers correctly over many trials, the Verifier has convincing evidence that the graphs are nonisomorphic
Definition:
- The Verifier is a function that computes its next transmission (or accept/reject) from the input string, a random string (for convenience), and the message history
- The Prover is a function that computes is next transmission from the input string and the message history
- We write the interaction between the Prover and the Verifier as and write if a message sequence exists such that for even , for odd , and
We also assume the lengths of the Verifier’s random input, the lengths of the messages exchanged, and the total number of messages is at most for some polynomial that depends only on the Verifier
Definition: if some polynomial time computable function exists such that for some function and for every function , for every string , and
The second clause guarantees the Verifier has true evidence of and can’t rely on the power of the Prover
Note that the specific constants chosen in this definition are arbitrary (and we may amplify the probability by repetition)
is clearly more powerful than both and , and indeed contains , which is not known to be in either
IP = PSPACE
is remarkably powerful, and in fact is proven to be equal in power to
Theorem:
We divide this into two parts
IP ⊆ PSPACE
Let be a language in , with Verifier that exchanges messages on input with length
We construct a machine that simulates , calculating the probability for any string ,
Let denote the message history
We write if we can extend with messages that lead to an accept (maintaining that any messages before are consistent)
We write to consider taking the probability over all strings consistent with ,
We define our final probability inductively, going from to 0
if is consistent and 0 otherwise
For ,
We define
First, note that we can calculate in polynomial space, by recursively calculating for every and , since our messages take polynomial space
Second, is our target value
To show this is true, we inductively prove
The base case is trivial
Assuming our claim holds for and any message stream , we prove it is true for and any
If is even, is a message from to ,
If is odd, is a message from to ,
This last equality holds because we are looking at probabilities maximizing over all possible Provers
The Counting Problem
Before showing the proof for , we begin with a weaker result that illustrates the technique
The counting problem for satisfiability identifies whether is a cnf-formula with exactly satisfying assignments
Theorem:
Arithmetization associates with a polynomial , where is designed to mimic on Boolean assignments
The degree of any variable is at most , the length of
It’s not clear how we’d interpret assigning non-Boolean values, however this proof does just this, exactly as was done here to prove
This technique is powerful because while two different formulas can agree on many points, two different polynomials with limited degree can only agree on a small set of points
This idea is more clear when we write out and verify the protocol
We look at a finite field with elements
Let be the number of valid assignments with fixed and
is the number of satisfying assignments of , and each can be expressed as a polynomial in through , with degrees at most that of
In Phase 0: sends to , and rejects if
In Phase 1: sends the coefficients of as a polynomial in , and rejects if
sends over a random from
In Phase 2: sends the coefficients of as a polynomial in , and rejects if
sends over a random from
This continues until reaches the end and may directly check that , in which case accepts
If does have satisfying assignments, then clearly accepts
The tricky part is understanding why (a crooked Prover) cannot deceive if doesn’t have assignments
To prevent from rejecting outright, sends an incorrect
This lie immediately propagates, since one of the values calculates for and must be incorrect if is not to reject, so must send an incorrect
The key in our construction is showing that the lie must continue to propagate, i.e. is unlikely to equal
Using this result, the probability that they happen to agree is (for )
In the general case, this means that if , then for and for chosen at random in ,
The probability that gets lucky at some point is at most the number of phases times , or at most
Otherwise, will catch the incorrect value of by calculating it directly in Phase
PSPACE ⊆ IP
We can show this by proving that is in
Let’s start by following the same reasoning as in our proof above
Let be a quantified Boolean formula of the form
Again, we define
By this definition, is our final truth value
Our quantifiers give us two new arithmetic identities,
:
: (recall )
We run into an issue if we proceed as before, because these identifiers are effectively doubling the degree of the resulting polynomial each time, leading to an exponential number of coefficients
To fix this, we include a new operator to help reduce the degree of our polynomials,
We simplify as where and
For each , we define
is the polynomial obtained by arithmetizing
For ,
:
:
:
While has one fewer input variable than for and , this is not the case for , so does not generally depend on variables
In addition, we reorder the inputs to the functions so that input variable is the last argument, such that has the effect of producing a result linear in but with the same truth value
This way, each degree is reset to 1 prior to squaring due to quantifiers
We choose a field of size at least , where is the length of
In Phase 0: sends to , and rejects if
In Phase : sends the coefficients of as a polynomial in
evaluates and
checks that
Or if then
If this fails then rejects
picks a random in and sends it to , continuing the protocol
In Phase : directly checks that , accepts if so and rejects otherwise
The correctness of this protocol follows similar to the protocol
Clearly if is true then can follow the protocol and will accept
If is false, must send a lie for
At Phase , if has an incorrect value for then the polynomial for must also be incorrect
Then, the chance that happens to be the correct value is at most the polynomial degree divided by the field size
The protocol proceeds for phases, so the probability that gets lucky at some point is at most
Otherwise, will catch the incorrect value of by calculating it directly in Phase