Assembling the succinct Cook–Levin theorem #
MIPRE.SAT.succinctCookLevin inhabits SuccinctCookLevin, which is blueprint
thm:succinct-sat. Everything mathematical is already proved; what is left is to discharge,
from the validity hypotheses, the side conditions the describer's theorems carry at
e = eOf T σ, and to name the two parameter functions.
T ≤ Sof (eOf T σ),T + 3 < 2 ^ W (eOf T σ)andFixedLen: the five fixed tapes are shorter than the tableau, since|𝒟| ≤ σ < 2 ^ ⌈log σ⌉and2 ⌈log n⌉ ≤ T,|x|, |y| ≤ Q ≤ T, andeOfhas5 ⌈log T⌉ + 5 ⌈log σ⌉ + 24in the exponent.4 T ≤ 2 ^ m: an answer index is below2 ^ flagOff, andflagOff < m.- The gate bound: the time bound of the program, evaluated at a linear majorant of the size of
its input. To make it computable from the parameters in time polynomial in their bit
lengths (item 5) it is rounded up to a power of two,
s = 2 ^ (k · r + c)withr = ⌈log ⌈log n⌉⌉ + ⌈log ⌈log T⌉⌉ + ⌈log Q⌉ + ⌈log σ⌉: that needs no arithmetic on numbers, onlypow2Pon a unary exponent, and it is squeezed between the true gate count and a polynomial in⌈log n⌉ + ⌈log T⌉ + Q + σ(planning/succinct-cook-levin.md, S4).
Sizes of encodings #
The tableau is long enough #
The five fixed input tapes are shorter than the tableau.
The describer in the order the structure asks for #
((𝒟, n, T, Q, σ), x, y) reordered to ((T, σ), (𝒟, n), (x, y)).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The describer, in the structure's argument order.
Equations
Instances For
The size of the describer's input #
The two parameter functions #
The variable-count exponent m(T, σ).
Equations
Instances For
The bit lengths of the parameters: the exponent of the gate bound is a multiple of this, which is why the bound is computable without any arithmetic on numbers.
Instances For
Rounding a polynomial bound up to a power of two #
Item 5 asks for the gate bound to be computable in time polynomial in the bit lengths of
the parameters, while item 3 lets it grow polynomially in Q and σ themselves. So the
bound is a number of about log Q + log σ bits that depends polynomially on Q, and
computing it looks as though it needs binary multiplication, which the ambient model does not
have. roundUp P is the way out: a power of two whose exponent is a multiple of rParam, so
that the exponent is unary and the value is pow2P on it. It is squeezed between P and a
polynomial, which is le_roundUp and roundUp_le.
The degree of a polynomial bound.
Equations
Instances For
The coefficient sum of a polynomial bound.
Equations
- MIPRE.TM.CookLevin.Desc.roundA P = ∑ i ∈ Finset.range (P.natDegree + 1), P.coeff i
Instances For
The additive constant of the rounded bound.
Equations
Instances For
A polynomial bound, rounded up to a power of two whose exponent is a multiple of the bit lengths of the parameters.
Equations
- MIPRE.TM.CookLevin.Desc.roundUp P n T Q σ = 2 ^ (MIPRE.TM.CookLevin.Desc.roundK P * MIPRE.TM.CookLevin.Desc.rParam n T Q σ + MIPRE.TM.CookLevin.Desc.roundC P)
Instances For
The rounded bound dominates the polynomial.
The polynomial the rounded bound stays inside.
Equations
Instances For
The rounded bound is still polynomial.
The gate bound of the describer #
The time bound of the describer at a linear majorant of the size of its input.
Equations
Instances For
The gate bound s(n, T, Q, σ), rounded up to a power of two.
Equations
Instances For
The parameters as programs (item 5) #
Equations
Instances For
rParam, in unary.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A rounded bound, as a program: a power of two whose exponent is unary, so no arithmetic on numbers is needed.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The succinct Cook–Levin theorem (blueprint thm:succinct-sat; the paper's
prop:standard-succinct-sat): the structure is inhabited.
Equations
- One or more equations did not get rendered due to their size.