Documentation

MIPRE.Background.AnswerReduction.StageProg

The stage programs of a copy of the PCP sampler #

Piece AR-3d of planning/answer-reduction.md: polynomial-time functions answering the queries of one copy of the seeded test, on the three runs of k-bit blocks (MIPRE/Background/ AnswerReduction/Layout). A copy is described by its offset o, length sz = 2^jw, selector width jw and seed index c, all in unary (Desc), and a test type numbered 0, 1, 2.

The answers are first written as plain functions of the blocks (margL, linL, facL), with the field arithmetic done by the introspection stage programs (selectedDirectionProg, axisRepresentativeProg, lineRepresentativeProg); copyProg computes them.

@[reducible, inline]

A copy: offset, length, selector width and seed index, in unary.

Equations
Instances For
    @[reducible, inline]

    The three runs of blocks: point, direction, seeds.

    Equations
    Instances For

      The answers, as functions of the blocks #

      The zero field element.

      Equations
      Instances For

        The copy's seed.

        Equations
        Instances For

          The third stage's map of the point register.

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

            The seed run of the first stage.

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

              The direction run of the second stage.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                noncomputable def MIPRE.AnswerReduction.StageProg.ptOut (k : Cost.Unary) (d : Desc) (τ : ℕ) (s : Cost.BitStr) (dir pts : List Cost.BitStr) :

                The point run of the third stage.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  noncomputable def MIPRE.AnswerReduction.StageProg.margL (k : Cost.Unary) (d : Desc) (τ j : ℕ) (x : Blocks) :

                  The marginal at level j.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    noncomputable def MIPRE.AnswerReduction.StageProg.linL (k : Cost.Unary) (d : Desc) (τ j : ℕ) (u y : Blocks) :

                    The stage map at level j, from the prefix u, applied to y.

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

                      The block of k copies of a bit.

                      Equations
                      Instances For

                        The factor space at level j, as blocks of indicator bits.

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

                          The runs of a bit string of 2m' + 6 blocks of k bits.

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

                            The bits of three runs.

                            Equations
                            Instances For
                              noncomputable def MIPRE.AnswerReduction.StageProg.copyAnswer (k : Cost.Unary) (d : Desc) (τ : ℕ) (m' : Cost.Unary) (kind j : ℕ) (u y : Cost.BitStr) :

                              The answer of a copy to a query of kind kind at level j with vectors u, y.

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

                                The programs #

                                Placing, as a program: (fill, o, w, l) ↦ placeL fill o w l.

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

                                  Slicing, as a program: (o, sz, l) ↦ sliceL o sz l.

                                  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
                                              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
                                                          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

                                                                The program of a copy.

                                                                Equations
                                                                • One or more equations did not get rendered due to their size.
                                                                Instances For
                                                                  theorem MIPRE.AnswerReduction.StageProg.copyProg_apply (k : Cost.Unary) (d : Desc) (τ : ℕ) (m' : Cost.Unary) (kind j : ℕ) (u y : Cost.BitStr) :
                                                                  copyProg.toFun (k, d, τ, m', kind, j, u, y) = copyAnswer k d τ m' kind j u y