The interactive proof for quantified Boolean formulas #
The protocol of Shamir with Shen's linearization Shamir, Shen,
Arora and Barak, Section 8.3, built on the sum-check protocol of Lund, Fortnow,
Karloff and Nisan [LFKN92], for an arithmetic formula e with operators
∃, ∀ and linearization (Cslib.Logic.PL.ArithQBF) over a commutative ring F. The verifier
(Cslib.Complexity.QBFProtocol.verify) checks a claim e.eval r = c about the value of e at a
point r, by recursion on e:
- at a variable or a constant it checks the claim directly, and a negation
not ereduces the claim toe.eval r = 1 - c; - at a binary connective it asks the prover for the values
c₁andc₂of the two arguments, checks that they combine toc, and checks the claimsc₁andc₂in turn; - at an operator binding
xit asks the prover for the polynomialsthat the restriction of the body tox(Cslib.Logic.PL.ArithQBF.restrict) should be, as a list of coefficients of which it keeps the firstdegBound x + 1; it checks that the valuess 0ands 1combine toc, drawszfrom the sampler, and checks the claim that the body has values zatrwithxset toz.
The verifier is a program with typed calls to the prover (Cslib.ProbOracleComp): each query
sends the current subformula and point, each reply is a list of ring elements, and the field
elements are drawn from an arbitrary closed probabilistic program sampler. A prover is any
stateful probabilistic strategy respond answering the queries, with an arbitrary type of states,
and Cslib.ProbOracleComp.acceptProbWith is the probability that the verifier accepts against it;
Cslib.Complexity.acceptProb is the case of word queries and replies.
Completeness. The honest prover (Cslib.Complexity.QBFProtocol.honest) answers with the true
values and restrictions, and is accepted with probability 1 on every true claim
(Cslib.Complexity.QBFProtocol.acceptProb_honest_verify).
Soundness. If the sampler gives every element probability at most ε and F is an integral
domain, every prover is accepted on a false claim with probability at most
e.roundDegree * ε (Cslib.Complexity.QBFProtocol.acceptProb_verify_le): at an operator, a
wrong polynomial agrees with the true restriction, both of degree at most degBound x, on at
most degBound x points, and otherwise the claim passed on is false again. For the uniform
distribution on a finite field this is e.roundDegree / |F|.
For a closed formula φ, the arithmetization φ.arithmetize xs has value 1 at the origin when
φ is true and 0 when it is false (Cslib.Logic.PL.QBF.eval_arithmetize_zero), and its round
degrees sum to at most (2 * |xs| + 1) * size φ ^ 2 when xs contains the variables of φ. The
claim that it has value 1 at the origin is therefore accepted with probability 1 from a true
formula, and with probability at most 3 * size φ ^ 3 / |F| from a false one
(Cslib.Complexity.QBFProtocol.acceptProb_honest_of_mem_TQBF,
Cslib.Complexity.QBFProtocol.acceptProb_le_of_notMem_TQBF). The efficient machine in the
model of Cslib.Complexity.IP realizes a variant of this verifier,
Cslib.Complexity.QBFProtocol.verifyAt: it reads D + 1 coefficients in every round, sends the
remaining tokens of the formula with every query, and works over a prime field of polynomial size
with elements drawn from fair coins, each with probability at most 2 / p
(Cslib.Complexity.QBFProtocol.isOraclePPTOn_verifier, Cslib.Complexity.TQBF_mem_IP).
Main definitions #
Cslib.Complexity.QBFProtocol.verify: the verifier.Cslib.Complexity.QBFProtocol.honest: the honest prover.
Main results #
Cslib.Complexity.QBFProtocol.acceptProb_honest_verify: perfect completeness.Cslib.Complexity.QBFProtocol.acceptProbWith_bind_ite_le_add,Cslib.Complexity.QBFProtocol.acceptProbWith_sample_le: the soundness bounds for one round at a binary connective and at an operator, against an arbitrary oracle.Cslib.Complexity.QBFProtocol.acceptProb_verify_le,Cslib.Complexity.QBFProtocol.acceptProb_verify_uniform_le: soundness against every prover.Cslib.Complexity.QBFProtocol.acceptProb_honest_arithmetize,Cslib.Complexity.QBFProtocol.acceptProb_arithmetize_le: the protocol for closed quantified Boolean formulas.Cslib.Complexity.QBFProtocol.acceptProb_honest_of_mem_TQBF,Cslib.Complexity.QBFProtocol.acceptProb_le_of_notMem_TQBF: the protocol forTQBFover a finite field.
References #
Queries #
A query of the verifier: the subformula whose claim it is checking, and the current point.
Instances For
Every reply of the prover is a list of ring elements.
Instances For
The verifier #
The verifier checking the claim that e has value c at r, drawing ring elements from
sampler. At a binary connective the reply [c₁, c₂, …] gives the claimed values of the
arguments, and at an operator binding x the first degBound x + 1 elements of the reply are the
coefficients of the claimed restriction of the body to x; missing entries count as 0.
Instances For
Completeness #
The reply of the honest prover: the values of the two arguments of a binary connective, and
the degBound x + 1 coefficients of the restriction of the body of an operator binding x.
Instances For
The honest prover, which keeps no state.
Instances For
Perfect completeness: the honest prover is accepted on every true claim with
probability 1.
Soundness #
The two kinds of rounds are bounded once, for an arbitrary oracle, and both verifiers of this
directory use these bounds: Cslib.Complexity.QBFProtocol.verify here and
Cslib.Complexity.QBFProtocol.verifyAt in Classes.IP.TQBF.Tokens.
A checked query: sending q and continuing with next l only when the reply l passes
check accepts with probability at most B if, for every passing reply l, next l accepts with
probability at most B from every oracle state.
The round at a binary connective: running second only after first accepted accepts
with probability at most B₁ + B₂ if first accepts with probability at most B₁ or second
accepts with probability at most B₂ from every state. At a false claim about a connective, one
of the two claims passed on is false.
The round at an operator (the Schwartz–Zippel step of the sum-check protocol): let p be
the claimed and g the true restriction of the body, two different polynomials of degree at most
d. Drawing z from a sampler that gives every element probability at most ε and continuing
with next z accepts with probability at most d * ε + B if next z accepts with probability at
most B whenever p and g differ at z: they agree on at most d points.
Soundness: over an integral domain, if the sampler gives every element probability at most
ε, every prover is accepted on a false claim with probability at most e.roundDegree * ε.
Soundness for uniform samples: with ring elements drawn uniformly from a finite integral
domain, every prover is accepted on a false claim with probability at most
e.roundDegree / |F|.
Quantified Boolean formulas #
Completeness for quantified Boolean formulas: on a true closed formula, the honest prover
is accepted with probability 1 on the claim that the arithmetization has value 1 at the
origin.
Soundness for quantified Boolean formulas: on a false closed formula whose variables are
all in xs, every prover is accepted on the claim that the arithmetization has value 1 at the
origin with probability at most (2 * |xs| + 1) * size φ ^ 2 * ε, if the sampler gives every
element probability at most ε.
Completeness for TQBF: on a true closed formula, the honest prover is accepted with
probability 1.
Soundness for TQBF: on a false closed formula φ, with field elements drawn uniformly
from a finite field F, every prover is accepted with probability at most
3 * size φ ^ 3 / |F|.