Documentation

MIPRE.Tailored.ClassPoly

The class TMIP* as the paper defines it: polynomial-time tailored verifiers #

Paper II, II:787 and II:1505 (clause (1) of thm:tailored_MIP*=RE): a language is in TMIP* when a polynomial-time procedure presents, on every input z, a tailored game G_z, sampling a question pair and evaluating the canonical decider in time poly(|z|), with a perfect ZPC strategy on the members and value at most 1/2 off them. MIPRE.Tailored.TMIPStarComputable (Tailored/Class.lean) is the computable version, with G_z an explicit description computed with no time bound; this file is the class itself, as Foundations/ClassMIPStar.lean is for MIP*.

The reading #

A TPolyVerifier is three closed programs and one polynomial P; write B z = P(|z|).

tgame z is the tailored game on the strings of length at most B z, with the constraint list that rejects everything where a program does not halt (consOf), as TailoredVerifier.tgame. Efficiency (Efficient) bounds the three programs by P of the total input length, as PolyVerifier.Efficient bounds the sampler and the decider; the canonical decider itself is then a polynomial-time check on what they output (Tailored/Canonical.lean). Its running time, for tailored normal form verifiers, is Tailored/CanonicalCost.lean's; no statement here needs it.

TMIPStar L: some polynomial-time tailored verifier is efficient on every input, its doubled game has a perfect ZPC strategy on the members of L, and its game has value at most 1/2 off them. The completeness clause is read on the doubled game, as TailoredVerifier.HasPerfectZPC reads the paper's for tailored normal form verifiers and TailoredGapCompression.completeness transports it. Tailored/ClassPolyTab.lean puts the class inside the computable one, hence in RE, and Tailored/ClassVerifier.lean proves TMIPStar = IsRE from a tailored gap compression.

A polynomial-time tailored verifier (II:1505): a sampler, an answer-length calculator, a linear-constraints processor and one polynomial time bound.

Instances For

    The sampler and the bound, as a PolyVerifier whose decider is never used: its seeds, its question pairs and its question distribution are the tailored verifier's.

    Equations
    Instances For
      @[reducible, inline]

      The bound B z = P(|z|): the seed length, and the length of the questions.

      Equations
      Instances For

        The answer-length calculator outputs k on (z, x, κ), read in unary.

        Equations
        Instances For

          The linear-constraints processor outputs cs on (z, x, y, a^R, b^R).

          Equations
          Instances For
            noncomputable def MIPRE.Tailored.TPolyVerifier.lenOf (V : TPolyVerifier) (z x : Cost.BitStr) (κ : Bool) :

            The length the calculator outputs on (z, x, κ), and 0 when it does not halt.

            Equations
            Instances For

              The calculator halts at the question x, for both kinds of variables.

              Equations
              Instances For

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

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

                  The game G_z: questions the strings of length at most B z, distributed as the sampler's output on a uniform seed, lengths and constraints as the calculator and the processor compute them.

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

                    Efficiency on the input z (II:1505, clause (1)): the sampler's clause of PolyVerifier.Efficient, and the calculator and the processor halting within P of the total input length on every input.

                    Instances For

                      The outputs are determined #

                      theorem MIPRE.Tailored.TPolyVerifier.LenIs.unique (V : TPolyVerifier) {z x : Cost.BitStr} {κ : Bool} {k k' : ℕ} (h : V.LenIs z x κ k) (h' : V.LenIs z x κ k') :
                      k = k'
                      theorem MIPRE.Tailored.TPolyVerifier.LpIs.unique (V : TPolyVerifier) {z x y aR bR : Cost.BitStr} {cs cs' : List Cost.BitStr} (h : V.LpIs z x y aR bR cs) (h' : V.LpIs z x y aR bR cs') :
                      cs = cs'
                      theorem MIPRE.Tailored.TPolyVerifier.lenOf_eq (V : TPolyVerifier) {z x : Cost.BitStr} {κ : Bool} {k : ℕ} (h : V.LenIs z x κ k) :
                      V.lenOf z x κ = k
                      theorem MIPRE.Tailored.TPolyVerifier.consOf_eq (V : TPolyVerifier) {z x y aR bR : Cost.BitStr} (hx : V.LenDefined z x) (hy : V.LenDefined z y) {cs : List Cost.BitStr} (h : V.LpIs z x y aR bR cs) :
                      V.consOf z x y aR bR = cs

                      TMIP*, the paper's class (II:787). A language L is in it if some polynomial-time tailored verifier is efficient on every input, its doubled game has a perfect ZPC strategy on the members of L, and its game has value at most 1/2 off them.

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