Documentation

MIPRE.Background.AnswerReduction.DecideProg

The answer-reduced decision, as a program #

Piece AR-3e of planning/answer-reduction.md: polynomial-time functions computing the decision on blocks of MIPRE/Background/AnswerReduction/DecideSpec, each with the law that it computes its specification (verdictP_apply for the whole). The type-dependent control is a finite table of the type pair (PolyTimeFun.finiteFunction); the field arithmetic is the introspection stage programs'.

Cutting a list into runs #

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

    Cutting into runs, as a program: (n, w, l) ↦ chunks w n l.

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

      Reading a finite type #

      Reading a value among a list of candidates, by comparing encodings; the default otherwise.

      Equations
      Instances For
        theorem MIPRE.AnswerReduction.decodeAmong_encode {α : Type u_1} [Cost.SizedEncoding α] [Inhabited α] (l : List α) (a : α) (h : a ∈ l) :

        Reading a value of a finite type off any datum.

        Equations
        Instances For

          The line-versus-point check #

          lvpB, as a program.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem MIPRE.AnswerReduction.lvpBP_apply (kU : Cost.Unary) (base dir pt : List Cost.BitStr) (polys : List (List Cost.BitStr)) (vals : List Cost.BitStr) :
            lvpBP.toFun ((kU, base, dir, pt), polys, vals) = lvpB kU base dir pt polys vals

            The low-degree subtest of a copy #

            @[reducible, inline]

            Width, copy, test type, the two runs of blocks, polynomials and values.

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

                        ldB, as a program.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          @[simp]
                          theorem MIPRE.AnswerReduction.ldBP_apply (kU : Cost.Unary) (d : StageProg.Desc) (τ : ℕ) (X Y : StageProg.Blocks) (polys : List (List Cost.BitStr)) (vals : List Cost.BitStr) :
                          ldBP.toFun (kU, d, τ, X, Y, polys, vals) = ldB kU d τ X Y polys vals

                          The bounded parse #

                          The blocks a serialized answer lists, whether or not it is well formed.

                          Equations
                          Instances For

                            The bounded parse, as a program: (k, c, s) to whether s parses to c blocks of k bits, and the blocks.

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

                              The number of elements #

                              cntB, in unary, as a program.

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

                                One side #

                                @[reducible, inline]

                                The parameters, the game check's verdict, the types, the blocks of the questions and of the answers.

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

                                        sideB, as a program.

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          @[simp]
                                          theorem MIPRE.AnswerReduction.sideBP_apply (kU m'U : Cost.Unary) (descs : List StageProg.Desc) (chk : Bool) (p q : ArTy) (X Y : StageProg.Blocks) (A B : List Cost.BitStr) :
                                          sideBP.toFun ((kU, m'U, descs), chk, (p, q), (X, Y), A, B) = sideB kU m'U descs chk p q X Y A B

                                          The predicate #

                                          @[reducible, inline]

                                          The parameters, the two game checks' verdicts, the types, the blocks of the questions and the answers.

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

                                            The parse of one answer, at the type the selector names.

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

                                              verdictB, as a program.

                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For
                                                theorem MIPRE.AnswerReduction.verdictP_apply (kU m'U : Cost.Unary) (descs : List StageProg.Desc) (chkP chkQ : Bool) (p q : ArTy) (X Y : StageProg.Blocks) (a b : Cost.BitStr) :
                                                verdictP.toFun ((kU, m'U, descs), (chkP, chkQ), (p, q), (X, Y), a, b) = verdictB kU m'U descs chkP chkQ p q X Y a b