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