Arithmetization of quantified Boolean formulas with linearization #
A quantified Boolean formula is arithmetized over a commutative ring by reading true as 1,
false as 0, negation as 1 - a, conjunction as a * b, disjunction as 1 - (1 - a) * (1 - b),
∀ x as the product and ∃ x as the arithmetized disjunction of the values at x = 0 and
x = 1 Lund, Fortnow, Karloff and Nisan, Shamir.
Each quantifier can double the degree of the result in the other variables, so Shen's
linearization operator L x, with value (1 - x) * a + x * b from the values a and b at
x = 0 and x = 1, is applied after every quantifier: it does not change the value on 0-1
points and makes the result affine in x Shen, Arora and Barak, Section
8.3.
Cslib.Logic.PL.ArithQBF is the syntax of formulas with the two quantifiers and linearization as
operators binding a variable (Cslib.Logic.PL.ArithQBF.Operator). Its value at a point
r : V → R is Cslib.Logic.PL.ArithQBF.eval. Fixing every variable but x gives a univariate
polynomial (Cslib.Logic.PL.ArithQBF.restrict), of degree at most the syntactic bound
Cslib.Logic.PL.ArithQBF.degBound x (Cslib.Logic.PL.ArithQBF.natDegree_restrict_le). These are
the polynomials a prover sends in the interactive proof for quantified Boolean formulas, and
Cslib.Logic.PL.ArithQBF.roundDegree, the sum over the operators of the degree of their body in
the bound variable, is the numerator of its soundness error.
On 0-1 points an arithmetic formula has the value of the quantified Boolean formula obtained by
dropping its linearizations (Cslib.Logic.PL.ArithQBF.eval_boolean). The arithmetization
Cslib.Logic.PL.QBF.arithmetize xs φ linearizes every variable of the list xs after every
quantifier, so it has the value of φ on 0-1 points
(Cslib.Logic.PL.QBF.eval_arithmetize). When xs contains every variable of φ, all degrees are
at most the size of φ (Cslib.Logic.PL.QBF.degBound_arithmetize_le) and the sum of the round
degrees is at most (2 * |xs| + 1) * size φ ^ 2 (Cslib.Logic.PL.QBF.roundDegree_arithmetize_le).
For a verifier reading the same number of coefficients in every round, the arithmetization has
at most (|xs| + 1) * size φ operators (Cslib.Logic.PL.QBF.ops_arithmetize_le), and, when xs
contains every variable of φ, the body of each has degree at most 2 * size φ in its variable
(Cslib.Logic.PL.QBF.maxRoundDegree_arithmetize_le). Values and restrictions depend only on the
variables of a formula (Cslib.Logic.PL.ArithQBF.eval_congr,
Cslib.Logic.PL.ArithQBF.restrict_congr). Shen linearizes only the free variables of each
quantified subformula; linearizing a fixed list of
variables is simpler to compute and costs only polynomially many more rounds.
Main definitions #
Cslib.Logic.PL.ArithQBF: arithmetic formulas with the operators∃,∀andL.Cslib.Logic.PL.ArithQBF.eval,Cslib.Logic.PL.ArithQBF.restrict: values and univariate restrictions.Cslib.Logic.PL.ArithQBF.degBound,Cslib.Logic.PL.ArithQBF.roundDegree: syntactic degree bounds.Cslib.Logic.PL.ArithQBF.ops,Cslib.Logic.PL.ArithQBF.maxRoundDegree: the number of operators and the largest degree of their bodies.Cslib.Logic.PL.ArithQBF.vars: the variables of an arithmetic formula.Cslib.Logic.PL.ArithQBF.toQBF: the formula without its linearizations.Cslib.Logic.PL.QBF.arithmetize: the arithmetization with linearization.
Main results #
Cslib.Logic.PL.ArithQBF.eval_restrict,Cslib.Logic.PL.ArithQBF.natDegree_restrict_le: the restriction to a variable is a polynomial of degree at mostdegBound.Cslib.Logic.PL.ArithQBF.eval_boolean: on0-1points the value is that of the formula without its linearizations.Cslib.Logic.PL.QBF.eval_arithmetize,Cslib.Logic.PL.QBF.eval_arithmetize_zero: the arithmetization is faithful on0-1points, and a closed formula has value1or0at the origin.Cslib.Logic.PL.QBF.degBound_arithmetize_le,Cslib.Logic.PL.QBF.roundDegree_arithmetize_le,Cslib.Logic.PL.QBF.ops_arithmetize_le,Cslib.Logic.PL.QBF.maxRoundDegree_arithmetize_le: polynomial bounds.Cslib.Logic.PL.ArithQBF.eval_congr,Cslib.Logic.PL.ArithQBF.restrict_congr: dependence on the variables only.
References #
Arithmetic formulas #
The binary connectives of arithmetic formulas.
- and : Connective
Conjunction, arithmetized as
a * b. - or : Connective
Disjunction, arithmetized as
1 - (1 - a) * (1 - b).
Instances For
The operators of arithmetic formulas, each binding a variable.
- ex : Operator
Existential quantification, the arithmetized disjunction of the values at
0and1. - all : Operator
Universal quantification, the product of the values at
0and1. - lin : Operator
Linearization:
(1 - x) * a + x * bfor the valuesaandbat0and1.
Instances For
Arithmetic formulas: quantified Boolean formulas over variables of type V whose operators
binding a variable are the two quantifiers and Shen's linearization Shen.
- var {V : Type u_1} (v : V) : ArithQBF V
The variable
v. - top {V : Type u_1} : ArithQBF V
The constant
1. - bot {V : Type u_1} : ArithQBF V
The constant
0. - not {V : Type u_1} (e : ArithQBF V) : ArithQBF V
Negation,
1 - a. - bin {V : Type u_1} (o : Connective) (e₁ e₂ : ArithQBF V) : ArithQBF V
A binary connective.
- op {V : Type u_1} (o : Operator) (v : V) (e : ArithQBF V) : ArithQBF V
An operator binding the variable
v.
Instances For
Instances For
Values #
The value of a connective on the values a and b of its two arguments.
Instances For
The value of an operator binding x, on the value t of x and the values a and b of
its body at x = 0 and x = 1.
Instances For
The value of an arithmetic formula at the point r. An operator binding v combines the
values of its body with v set to 0 and to 1, and, for linearization, the value r v.
Instances For
Univariate restrictions and their degrees #
The univariate polynomial obtained from an arithmetic formula by fixing every variable but x
to its value in r (Cslib.Logic.PL.ArithQBF.eval_restrict).
Instances For
The restriction of a formula to x at r, evaluated at z, is the value of the formula at
r with x set to z.
The factor by which an operator binding another variable can multiply the degree in x.
Instances For
A syntactic bound on the degree of an arithmetic formula in the variable x
(Cslib.Logic.PL.ArithQBF.natDegree_restrict_le).
Instances For
The sum, over the operators of a formula, of the degree of their body in the variable they bind: the number of roots that can fool the verifier in the interactive proof.
Instances For
The number of operators of a formula: the number of rounds of the interactive proof that draw a random element.
Instances For
The largest degree, over the operators of a formula, of their body in the variable they bind. A prover sending polynomials of this degree can be honest in every round.
Instances For
The round degrees sum to at most the number of rounds times the largest round degree.
Variables #
The variables of an arithmetic formula, free or bound, with multiplicity, in prefix order.
Instances For
The restriction of a formula to a variable depends only on the values of its variables.
Values on 0-1 points #
The quantified Boolean formula obtained by dropping the linearizations.
Instances For
Faithfulness on 0-1 points. At the point given by a truth assignment, an arithmetic
formula has value 1 or 0 according to the truth value of the formula without its
linearizations.
Linearization #
Arithmetization #
The arithmetization is faithful on 0-1 points.
A closed formula's arithmetization has value 1 or 0 at the origin, according to its truth
value.
A variable that does not occur in φ nor in xs does not occur in the arithmetization.
Degrees stay small. When xs contains every variable of φ, the arithmetization has
degree at most the size of φ in every variable.
The round degrees are polynomial. When xs contains every variable of φ, the sum of
the round degrees of the arithmetization is at most (2 * |xs| + 1) * size φ ^ 2.
Every round is of small degree. When xs contains every variable of φ, the body of
every operator of the arithmetization has degree at most 2 * size φ in its variable.