IP ⊆ PSPACE #
Every problem with an interactive proof is decided within polynomial space
(Cslib.Complexity.IP_subset_PSPACE) Arora and Barak, Chapter 8
Sipser, Section 10.4.
The model is that of Cslib.Complexity.IP. The verifier is strict oracle PPT: one finite fair-coin
oracle machine M and one clock t = c * (n + 1) ^ d, for instances encoded with n bits, realize
it against every stateful prover. So the coins are private and there are at most t of them, one
per instruction; the verifier sends at most t messages, each shorter than t, and reads at most
the first t bits of every reply. Provers are arbitrary: randomized, stateful and
computationally unbounded; they see the messages but not the coins. The thresholds are 2 / 3
and 1 / 3.
The proof computes the acceptance probability of the optimal prover exactly, as a count of coin values:
- Fixing the
tcoins of the run leaves programs making word requests (Cslib.Complexity.Interaction.coinFamily), and acceptance averages over the coins (Cslib.Complexity.Interaction.acceptProb_eq_sum). The programs form a bounded family (Cslib.Complexity.Interaction.isBounded_coinFamily), so the valueWof the empty history (Cslib.Complexity.Interaction.value) bounds every prover byW / 2 ^ t, and the optimal prover attains it. With completeness2 / 3and soundness1 / 3, an instance is a member exactly when2 ^ t < 2 * W(Cslib.Complexity.mem_iff_two_pow_lt_value). Wis the value of a game tree whose messages and replies are coded by the words of lengtht + 1containing atrue, enumerated by a binary counter (Cslib.Complexity.Interaction.image_decodeWord_iterate_firstCode,Cslib.Complexity.Interaction.gameTree_value_eq). Its leaf values count the accepting coin values, within polynomial space (Cslib.Complexity.Interaction.computableInPolySpace_countAccepts).- The explicit-stack evaluator of the game tree (
Cslib.Complexity.Interaction.evaluate) runs for2 ^ ((t + 1) * (2 * t + 1))steps, with at mosttframes ofO(t)bits each (Cslib.Complexity.Interaction.length_encEvalState_iterate_le), so it computesWwithin polynomial space (Cslib.Complexity.Interaction.evaluate_eq,Cslib.Complexity.Interaction.computableInPolySpace_evaluate), in exponential time.
The converse inclusion PSPACE ⊆ IP (Cslib.Complexity.PSPACE_subset_IP), and with it
IP = PSPACE (Cslib.Complexity.IP_eq_PSPACE), is proved downstream in
CslibFrontier.Computability.Complexity.Classes.IP.Shamir.
Main definitions #
Cslib.Complexity.Interaction.decodeWord,Cslib.Complexity.Interaction.firstCode,Cslib.Complexity.Interaction.lastCode: the codes of the short words.Cslib.Complexity.Interaction.leafValue: the leaf values, the accepting programs.Cslib.Complexity.Interaction.evalStep,Cslib.Complexity.Interaction.evaluate: the evaluation.
Main results #
Cslib.Complexity.Interaction.image_decodeWord_iterate_firstCode: the codes enumerate the short words.Cslib.Complexity.Interaction.gameTree_value_eq: the value is the value of the game tree.Cslib.Complexity.Interaction.evaluate_eq: the evaluation computes the value.Cslib.Complexity.Interaction.computableInPolySpace_evaluate: within polynomial space.Cslib.Complexity.mem_iff_two_pow_lt_value: the value decides the problem.Cslib.Complexity.IP_subset_PSPACE:IP ⊆ PSPACE.
References #
Enumerating the short words #
Decoding inverts coding.
The first code, 1 in binary.
Instances For
The number of codes, and of the words of length at most L.
Instances For
The codes enumerate the short words: decoding the first codeCount L codes gives every word
of length at most L exactly once.
The value as a game tree #
The value is the value of the game tree of the codes of the short words, with sums capped at a bound on the number of coin values.
Polynomial-time parts #
Decoding a word is polynomial-time.
The evaluation #
The states of the evaluation: the instance, the stack and the value being returned.
Instances For
One step of the evaluation of the game tree of the verifier M on a, with fuel a coins,
rounds and message lengths.
Instances For
The number of steps of the evaluation, a bound on GameTree.time.
Instances For
Pushing a frame, or returning the leaf value at the maximal depth.
Instances For
A node without a returned value, by pushStep.
The evaluation in polynomial space #
Frames, encoded by their fields.
Instances For
The evaluation within polynomial space.
The value decides an interactive proof. If the verifier V is realized, against every
stateful prover, by the run of the oracle machine M under the clock fuel a, then a member of the
problem is exactly an instance on which the value of the programs of fuel a coins exceeds half the
number of coin values: completeness 2 / 3 and the optimal prover give more than half, soundness
1 / 3 and the bound on all provers give less.
IP ⊆ PSPACE Arora and Barak, Chapter 8 Sipser, Section
10.4: a problem with an interactive proof, whose verifier is strict oracle PPT with
private coins, against all randomized stateful provers, is decided within polynomial space. The
decider evaluates the game tree of the optimal prover over the messages and replies no longer than
the clock of the verifier, counting the accepting coin values at its leaves
(Cslib.Complexity.Interaction.evaluate), and compares the count with half the number of coin
values (Cslib.Complexity.mem_iff_two_pow_lt_value).