Documentation

MIPRE.Tailored.Repeat.Lists

List functions in polynomial time for the repeated tailored verifier #

The pure stages of the repeated programs (issue #280) cut questions and answers into blocks and put the coordinates' outputs together. The functions they need, as PolyTimeFuns:

Concatenation #

The concatenation of a list of lists.

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

    Blocks of equal length #

    def MIPRE.Tailored.RepProg.blocks {α : Type u_1} (l : List α) (s k : ℕ) :
    List (List α)

    The k blocks of s elements of l: its i-th block is chunk s i l.

    Equations
    Instances For
      @[simp]
      theorem MIPRE.Tailored.RepProg.length_blocks {α : Type u_1} [Cost.SizedEncoding α] (l : List α) (s k : ℕ) :
      (blocks l s k).length = k

      The k blocks of s elements, with s and k in unary.

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

        Consecutive pieces of given lengths #

        def MIPRE.Tailored.RepProg.cut {α : Type u_1} (l : List α) :
        List ℕ → List (List α)

        l cut into consecutive pieces of the lengths ns; the pieces past the end of l are short or empty.

        Equations
        Instances For