The succinct CookβLevin theorem: the statement #
MIPRE.SAT.SuccinctCookLevin is blueprint thm:succinct-sat β the paper's
prop:standard-succinct-sat (answer_reduction.tex, sec:cook-levin) β in the vocabulary
of the ambient model: a polynomial-time algorithm that, on a decider π, an index n, a
time bound T, a question length Q, a description-length bound Ο and questions x, y,
outputs a circuit C on 3m + 3 inputs which succinctly describes a 3SAT formula
C.formula3 m on 2^m variables (def:succinct-formulas: C(iβ, iβ, iβ, oβ, oβ, oβ) = 1
iff x_{iβ}^{oβ} β¨ x_{iβ}^{oβ} β¨ x_{iβ}^{oβ} is a clause), such that
- for all
a, b β {0,1}^{2T}, the formula has a satisfying assignment extendingaandbon its first4Tvariables iffaandbare the two-bit tape encodings (tapeBits:0 β¦ 00,1 β¦ 01, blankβ¦ 10) of strings of length at mostTon whichπaccepts(n, x, y, Β·, Β·)within costT(Decider.AcceptsWithin); m = O(log T + log Ο)and2^m β₯ 4T;Chas at mosts(n, T, Q, Ο) = poly(log n, log T, Q, Ο)gates;- the algorithm runs in polynomial time (
PolyTimeFun, whose bound is a polynomial in the size of the input, itself at mostpoly(log n, log T, Q, Ο)under the validity hypotheses); mandsare polynomial-time computable from the parameters.
"Within T steps" is cost at most T in the ambient model, the reading of every time bound
of the pipeline (Decider.TimeBoundAt). An instance of this structure is the theorem; its
inhabitation is planning/succinct-cook-levin.md. The validity hypotheses Valid are the
paper's: max{Q, 2βlog nβ} β€ T, |π| β€ Ο, |x|, |y| β€ Q.
Succinctly described 3SAT formulas #
The input bits presenting a clause to a describer on 3m + 3 inputs: the three m-bit
indices, then the three signs.
Equations
Instances For
The 3SAT formula on 2^m variables that C succinctly describes: the clauses C
accepts (def:succinct-formulas).
Equations
Instances For
Tape encodings of answers #
The two-bit encoding of a tape cell: 0 β¦ 00, 1 β¦ 01, blank β¦ 10 (the boundary
symbol of the tableau is 11).
Equations
Instances For
The bits of a tape holding s followed by blanks: position p is bit p % 2 of cell
p / 2.
Equations
Instances For
Deciders accepting within a cost #
π accepts (n, x, y, a, b) within cost T.
Equations
- D.AcceptsWithin n x y a b T = β t β€ T, D.prog.Runs (MIPRE.Cost.encode (n, x, y, a, b)) (MIPRE.Cost.encode true) t
Instances For
The theorem #
The input of the describer: ((π, n, T, Q, Ο), x, y).
Equations
Instances For
The validity hypotheses of the paper's proposition: max{Q, 2βlog nβ} β€ T, |π| β€ Ο
and |x|, |y| β€ Q.
Instances For
a is the tape encoding of a string of length at most T on which, together with the
string encoded by b, the decider accepts within cost T: the right-hand side of item 1.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Explicit succinct CookβLevin (blueprint thm:succinct-sat; prop:standard-succinct-sat).
An instance of this structure is the theorem.
The variable-count exponent
m(T, Ο).The gate bound
s(n, T, Q, Ο).- describe : Cost.PolyTimeFun DescInput Circuit
The algorithm: the describer circuit from
((π, n, T, Q, Ο), x, y), in polynomial time (item 4). - mProg : Cost.PolyTimeFun (β Γ β) β
Item 5:
min polynomial time from(T, Ο). Item 5:
sin polynomial time from(n, T, Q, Ο).Item 2:
m = O(log T + log Ο).Item 2:
2^m β₯ 4T.- s_le : β (P : Polynomial β), β (n T Q Ο : β), self.s n T Q Ο β€ Polynomial.eval (n.size + T.size + Q + Ο) P
Item 3:
s = poly(log n, log T, Q, Ο). - inputs_eq (D : Cost.Prog) (n T Q Ο : β) (x y : Cost.BitStr) : (self.describe.toFun ((D, n, T, Q, Ο), x, y)).inputs = 3 * self.m T Ο + 3
The describer has
3m + 3inputs. - wellFormed (inp : DescInput) : (self.describe.toFun inp).WellFormed
The describer is a well-formed circuit (fan-out at most two, terminal output).
- size_le (D : Cost.Prog) (n T Q Ο : β) (x y : Cost.BitStr) : Valid D n T Q Ο x y β (self.describe.toFun ((D, n, T, Q, Ο), x, y)).size β€ self.s n T Q Ο
Item 3: at most
sgates on valid inputs. - accepts_iff (D : Decider) (n T Q Ο : β) (x y : Cost.BitStr) : Valid D.prog n T Q Ο x y β β (a b : Fin (2 * T) β Bool), ExtendsAnswers β― ((self.describe.toFun ((D.prog, n, T, Q, Ο), x, y)).formula3 (self.m T Ο)) a b β EncodesAccepted D n x y T a b
Item 1: the described formula has a satisfying assignment extending
a, bon its first4Tvariables iffa, bencode strings of length at mostTthatπaccepts within costT.