Documentation

MIPRE.Foundations.SAT.PcpFormat

Executable specification and view checks for the classical PCP #

theorem MIPRE.SAT.fold_and (l : List Bool) (a : Bool) :
List.foldl (fun (b c : Bool) => b && c) a l = (a && l.all id)

Test all supplied bits without interpreting their number as a binary magnitude.

Equations
  • One or more equations did not get rendered due to their size.
Instances For

    Check a list of coefficient widths against a binary-specified field degree.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      The five finite conditions making a decider specification valid.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Uniform specification checking, including the actual encoded program size.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem MIPRE.SAT.validProg_true_iff (D : Cost.Prog) (n T Q σ : ℕ) (x y : Cost.BitStr) :
          validProg.toFun ((D, n, T, Q, σ), x, y) = true ↔ Valid D n T Q σ x y

          Check both coordinate-list lengths and every field coefficient width. The first input pair supplies the binary degree and outer dimension.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For