The interactive proof for quantified Boolean formulas, on a stream of tokens #
A machine running the verifier of Cslib.Complexity.QBFProtocol.verify reads the arithmetic
formula as a list of tokens in prefix order (Cslib.Logic.PL.ArithQBF.tokens): the claims it has
still to check form a stack, and the claim on top of the stack is about the subformula whose tokens
start the remaining list. The arithmetization of a quantified Boolean formula φ has as tokens
those of φ, with the linearizations of the variables of xs inserted before every quantifier
(Cslib.Logic.PL.QBF.tokens_arithmetize).
This file gives the recursive form of that machine (Cslib.Complexity.QBFProtocol.verifyAt).
It differs from Cslib.Complexity.QBFProtocol.verify in two ways: it reads the same number
D + 1 of coefficients in every round, so that it need not compute the degree of each body, and
its queries also carry the tokens that follow the current subformula, so that they determine the
remaining list of tokens of the machine. Its soundness bound uses the uniform degree: if the
syntactic largest round degree maxRoundDegree e is at most D, every prover is accepted on a
false claim with probability at most ops e * D * ε instead of roundDegree e * ε
(Cslib.Complexity.QBFProtocol.acceptProb_verifyAt_le), with ops e the number of operators. A
stateless prover whose replies agree with the true values and restrictions on every query about a
subformula all of whose variables lie in a list xs is accepted with certainty on every true
claim about a formula whose variables lie in xs and whose largest round degree
maxRoundDegree e is at most D (Cslib.Complexity.QBFProtocol.run_verifyAt_of_agreesAt).
Main definitions #
Cslib.Logic.PL.ArithQBF.Kind,Cslib.Logic.PL.ArithQBF.tokens: the tokens of an arithmetic formula.Cslib.Logic.PL.QBF.expandToken: the tokens of the arithmetization for a token of a formula.Cslib.Complexity.QBFProtocol.verifyAt: the verifier with uniform degree and contextual queries.Cslib.Complexity.QBFProtocol.honestReplyAt: the honest replies.
Main results #
Cslib.Logic.PL.ArithQBF.tokens_append_inj: tokens in prefix order determine the formula.Cslib.Logic.PL.QBF.tokens_arithmetize: the tokens of the arithmetization.Cslib.Complexity.QBFProtocol.acceptProb_verifyAt_le: soundness.Cslib.Complexity.QBFProtocol.run_verifyAt_of_agreesAt: perfect completeness.
References #
Tokens #
Interpret an arithmetic-formula token as its constructor, rejecting nonzero payloads on constants and connectives.
Instances For
The kind of the node of the arithmetization for a node of a quantified Boolean formula.
Instances For
Whether a kind of nodes is a quantifier.
Instances For
The tokens of the arithmetization are those of the formula, with the linearizations of
the variables of xs inserted before every quantifier.
The verifier on a stream of tokens #
A query of the verifier on a stream of tokens: the current subformula, the tokens that follow it, and the current point.
Instances For
The verifier on a stream of tokens, checking the claim that e, followed by the tokens
rest, has value c at r. It is Cslib.Complexity.QBFProtocol.verify with D + 1
coefficients read in every round and with the tokens rest sent along with every query.
Instances For
Soundness #
Soundness of the verifier on a stream of tokens: if the sampler gives every element
probability at most ε and the body of every operator of e has degree at most D in its
variable, every prover is accepted on a false claim with probability at most ops e * D * ε.
Completeness #
The honest reply to a query about e at r: the values of the two arguments of a binary
connective, and the D + 1 first coefficients of the restriction of the body of an operator.
Instances For
A reply agrees with the honest reply to a query about e at r on what the verifier reads:
the first two entries for a binary connective, the first D + 1 for an operator.
Instances For
Perfect completeness of the verifier on a stream of tokens. A stateless prover whose reply
to every query about a subformula all of whose variables lie in xs agrees with the honest reply
makes the verifier accept with certainty every true claim about a formula whose variables lie in
xs and whose operators have bodies of degree at most D in their variable.