Documentation

MIPRE.Foundations.SAT.Succinct

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

  1. for all a, b ∈ {0,1}^{2T}, the formula has a satisfying assignment extending a and b on its first 4T variables iff a and b are the two-bit tape encodings (tapeBits: 0 ↦ 00, 1 ↦ 01, blank ↦ 10) of strings of length at most T on which π’Ÿ accepts (n, x, y, Β·, Β·) within cost T (Decider.AcceptsWithin);
  2. m = O(log T + log Οƒ) and 2^m β‰₯ 4T;
  3. C has at most s(n, T, Q, Οƒ) = poly(log n, log T, Q, Οƒ) gates;
  4. the algorithm runs in polynomial time (PolyTimeFun, whose bound is a polynomial in the size of the input, itself at most poly(log n, log T, Q, Οƒ) under the validity hypotheses);
  5. m and s are 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 #

def MIPRE.SAT.clauseInput (m : β„•) (c : Clause3 (Fin (2 ^ m))) :

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
    @[simp]
    theorem MIPRE.SAT.length_clauseInput (m : β„•) (c : Clause3 (Fin (2 ^ m))) :
    (clauseInput m c).length = 3 * m + 3

    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
          Instances For
            theorem MIPRE.Decider.AcceptsWithin.accepts {D : Decider} {n : β„•} {x y a b : Cost.BitStr} {T : β„•} (h : D.AcceptsWithin n x y a b T) :
            D.Accepts n x y a b

            The theorem #

            @[reducible, inline]

            The input of the describer: ((π’Ÿ, n, T, Q, Οƒ), x, y).

            Equations
            Instances For
              structure MIPRE.SAT.Valid (D : Cost.Prog) (n T Q Οƒ : β„•) (x y : Cost.BitStr) :

              The validity hypotheses of the paper's proposition: max{Q, 2⌈log nβŒ‰} ≀ T, |π’Ÿ| ≀ Οƒ and |x|, |y| ≀ Q.

              Instances For
                def MIPRE.SAT.ExtendsAnswers {m T : β„•} (h : 4 * T ≀ 2 ^ m) (Ο† : Cnf3 (Fin (2 ^ m))) (a b : Fin (2 * T) β†’ Bool) :

                A satisfying assignment of a formula on 2^m β‰₯ 4T variables extending the answer blocks a, b ∈ {0,1}^{2T} on the first 4T variables.

                Equations
                Instances For
                  def MIPRE.SAT.EncodesAccepted (D : Decider) (n : β„•) (x y : Cost.BitStr) (T : β„•) (a b : Fin (2 * T) β†’ Bool) :

                  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.

                    Instances For