Documentation

MIPRE.Foundations.CL.ProgBuild

Building programs in polynomial time #

A program is data (Prog.toData), so placing variable subprograms in a fixed context is a polynomial-time function of the subprograms: letF for let e in b, elimF for elim i n c, and from them routeOneCallF for a router with one call to a variable program. These are how a verifier's programs are computed from its input programs when the input programs enter as code rather than as data (the detyping compiler's).

(e, b) ↦ let e in b, in polynomial time.

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

    c ↦ elim i n c, in polynomial time.

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

      p ↦ callWithContext p post, in polynomial time.

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

        p ↦ routeOneCall route p post, in polynomial time.

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