Documentation

MIPRE.Tailored.Verifier

Tailored normal form verifiers #

Paper II of the Aldous–Lyons track (Bowen–Chapman–Vidick, arXiv:2501.00173), §2.6 (II:1630–1832). A tailored normal form verifier is four machines (S, L, LP, D): a conditionally linear sampler, an answer-length calculator, a linear-constraints processor, and the fixed canonical decider. Here the canonical decider is not a field — it is the same for every verifier (TailoredGame.Accepts) — so a TailoredVerifier ℓ is the other three:

Both are closed programs whose input starts with the index n, so the structure MIPRE.Decider and its running-time bound Decider.TimeBoundAt serve for them; only the decider's notion of acceptance does not apply. Their outputs are read totally, so that no output is malformed and the canonical decider, which has to read them, needs no validity check: a length in unary, as the paper writes it (II:1781) — the length of the output's spine, (Cost.Data.spineList d).length — and a constraint list by Cost.Data.bitsListD, which on the encoding of a list of bit strings is that list. The length bound is still a separate clause (LenBound), in IsBounded and in the budgets, though the running time bounds a unary output.

TailoredVerifier.ofTNFV (MIPRE.Tailored.OfTNFV) packages a tailored verifier as a MIPRE.Verifier, the canonical decider written as a program (MIPRE.Tailored.Canonical).

Total readings of data #

The elements along the right spine: the list a datum encodes, every datum encoding one.

Equations
Instances For
    theorem MIPRE.Cost.Data.spineList_ofList {α : Type u_1} (f : α → Data) (l : List α) :

    A length written in unary is read back.

    A datum read as a bit: nil is false, a node true.

    Equations
    Instances For
      @[simp]

      A datum read as a bit string: its spine, elementwise.

      Equations
      Instances For

        A datum read as a list of bit strings.

        Equations
        Instances For

          The answer-length calculator and the linear-constraints processor #

          def MIPRE.Tailored.LenIs (L : Decider) (n : ℕ) (x : Cost.BitStr) (κ : Bool) (k : ℕ) :

          The answer-length calculator L outputs k on (n, x, κ): ℓ^κ(x) = k at the question x of the n-th game, readable for κ = false, linear for κ = true — read in unary, as the length of the spine of L's output (II:1781).

          Equations
          Instances For

            The lengths L outputs at index n are at most B.

            Equations
            Instances For

              L halts on every question of dimension d at index n: the paper's requirement that the answer-length calculator never output error on the sampler's questions (II:1863).

              Equations
              Instances For
                def MIPRE.Tailored.LpIs (P : Decider) (n : ℕ) (x y aR bR : Cost.BitStr) (cs : List Cost.BitStr) :

                The linear-constraints processor P outputs the constraint list cs on (n, x, y, a^R, b^R), its output read by Data.bitsListD.

                Equations
                Instances For

                  Tailored normal form verifiers #

                  A tailored normal form verifier (II:1758), its canonical decider left implicit.

                  • sampler : CL.Sampler ℓ

                    The sampler, producing the questions.

                  • len : Decider

                    The answer-length calculator.

                  • lp : Decider

                    The linear-constraints processor.

                  Instances For

                    The three programs, what the procedures of the pipeline read.

                    Equations
                    Instances For

                      The description length |𝒱|, the largest of the three.

                      Equations
                      Instances For
                        @[reducible, inline]

                        The question alphabet of 𝒱_n: 𝔽₂^{s(n)}.

                        Equations
                        Instances For
                          noncomputable def MIPRE.Tailored.TailoredVerifier.lenOf {ℓ : ℕ} (V : TailoredVerifier ℓ) (n : ℕ) (x : Cost.BitStr) (κ : Bool) :

                          The length len outputs on (n, x, κ), and 0 when it does not halt.

                          Equations
                          Instances For

                            len halts at the question x of index n, for both kinds of variables.

                            Equations
                            Instances For
                              noncomputable def MIPRE.Tailored.TailoredVerifier.consOf {ℓ : ℕ} (V : TailoredVerifier ℓ) (n : ℕ) (x y aR bR : Cost.BitStr) :

                              The constraints at (x, y): what lp outputs when len halts at both questions and lp halts; otherwise the list that rejects everything.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                noncomputable def MIPRE.Tailored.TailoredVerifier.tgame {ℓ : ℕ} (V : TailoredVerifier ℓ) (n : ℕ) :

                                The n-th game 𝒱_n (the paper's def:normal-game for tailored verifiers): questions 𝔽₂^{s(n)} distributed as the sampler prescribes, lengths and constraints as len and lp compute them.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  noncomputable def MIPRE.Tailored.TailoredVerifier.valStar {ℓ : ℕ} (V : TailoredVerifier ℓ) (n : ℕ) :

                                  val*(𝒱_n).

                                  Equations
                                  Instances For

                                    𝒱_n has a perfect Z-aligned permutation strategy commuting along edges, on the doubled question set (Alice asked (false, x), Bob (true, y)), the reading of the paper's completeness clause that Verifier.HasPerfectPCC makes for the existing pipeline.

                                    Equations
                                    Instances For

                                      λ-bounded (II:1800): for n ≥ 2, the dimension and the running times of the three programs are at most n^λ — the times at degree λ in the size of the input, as in MIPRE.Verifier.IsBounded — the lengths len outputs are at most n^λ (the paper's unary output makes this a consequence of the time bound), and |𝒱| ≤ λ.

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

                                        𝒱 is within the budget R at index n: the sampler within R.S and of dimension at most R.d, the answer-length calculator and the linear-constraints processor within R.D, all at degree R.k, and the lengths at most R.B — the reading of MIPRE.Verifier.Within for tailored verifiers, the decider's time becoming that of the two programs and its answer bound the bound on the lengths.

                                        Equations
                                        Instances For

                                          The outputs are determined, and the game by them #

                                          theorem MIPRE.Tailored.LenIs.unique {L : Decider} {n : ℕ} {x : Cost.BitStr} {κ : Bool} {k k' : ℕ} (h : LenIs L n x κ k) (h' : LenIs L n x κ k') :
                                          k = k'

                                          The answer-length calculator outputs one length: the model is deterministic.

                                          theorem MIPRE.Tailored.LpIs.unique {P : Decider} {n : ℕ} {x y aR bR : Cost.BitStr} {cs cs' : List Cost.BitStr} (h : LpIs P n x y aR bR cs) (h' : LpIs P n x y aR bR cs') :
                                          cs = cs'

                                          The linear-constraints processor outputs one list of constraints.

                                          theorem MIPRE.Tailored.TailoredVerifier.consOf_eq_of {ℓ : ℕ} (V : TailoredVerifier ℓ) {n : ℕ} {x y aR bR : Cost.BitStr} (hx : V.LenDefined n x) (hy : V.LenDefined n y) {cs : List Cost.BitStr} (h : LpIs V.lp n x y aR bR cs) :
                                          V.consOf n x y aR bR = cs

                                          The constraints at (x, y), when len halts at both questions and lp outputs cs.

                                          theorem MIPRE.Tailored.TailoredVerifier.tgame_eq_of_lp {ℓ : ℕ} {S : CL.Sampler ℓ} {L P P' : Decider} {n : ℕ} (hP : ∀ (x y aR bR : Cost.BitStr) (cs : List Cost.BitStr), LpIs P n x y aR bR cs ↔ LpIs P' n x y aR bR cs) :
                                          { sampler := S, len := L, lp := P }.tgame n = { sampler := S, len := L, lp := P' }.tgame n

                                          Two verifiers with the same sampler and answer-length calculator, whose processors output the same constraints at index n, have the same n-th game.

                                          theorem MIPRE.Tailored.TailoredVerifier.hasPerfectZPC_congr {ℓ : ℕ} {V W : TailoredVerifier ℓ} {n : ℕ} (hS : V.sampler = W.sampler) (hL : V.len = W.len) (hP : ∀ (x y aR bR : Cost.BitStr) (cs : List Cost.BitStr), LpIs V.lp n x y aR bR cs ↔ LpIs W.lp n x y aR bR cs) :

                                          Completeness transfers between two verifiers with the same sampler and answer-length calculator whose processors output the same constraints at index n.

                                          theorem MIPRE.Tailored.TailoredVerifier.valStar_congr {ℓ : ℕ} {V W : TailoredVerifier ℓ} {n : ℕ} (hS : V.sampler = W.sampler) (hL : V.len = W.len) (hP : ∀ (x y aR bR : Cost.BitStr) (cs : List Cost.BitStr), LpIs V.lp n x y aR bR cs ↔ LpIs W.lp n x y aR bR cs) :
                                          V.valStar n = W.valStar n

                                          The value transfers, under the same hypotheses.

                                          theorem MIPRE.Tailored.TailoredVerifier.valStar_eq_zero_of_rejects {ℓ : ℕ} (V : TailoredVerifier ℓ) {n : ℕ} (h : ∀ (x y : V.Questions n) (aR bR : Cost.BitStr), ∃ (d : ℕ), rejectConstraint d ∈ V.consOf n (CL.toBits x) (CL.toBits y) aR bR) :
                                          V.valStar n = 0

                                          A level at which every constraint list holds a rejecting constraint has value 0.