Documentation

MIPRE.Tailored.ClassVerifier

RE ⊆ TMIP*, and TMIP* = RE, for the polynomial-time class #

The polynomial-time tailored verifier (TPolyVerifier, Tailored/ClassPoly.lean) that puts an r.e. language L in the paper's class TMIP* (II:787), for a polynomial-time reduction R of L to halting on the empty input (Cost.exists_polyTime_reduction): on the input z it plays the game of the tailored halting verifier V^{R z, λ(z)} (Halting.VT) at the fixed level C, with λ(z) = Λ₀ + 4|R z| and Λ₀ the threshold of lem:lambda (Halting.lamThreshold).

The universal machine's simulation halts exactly when the simulated program does, with its output (seqUniv_runs, seqUniv_runs_rev), so the calculator and the processor output what those of V^{R z, λ(z)} output at the level C (lenIs_iff, lpIs_iff). The game of the class verifier on z therefore extends that of V^{R z, λ(z)} at C along the embedding of the questions as bit strings (tgame_extends, TailoredGame.Extends): it has the same quantum value and inherits its perfect ZPC strategies, on the doubled games.

Efficiency (classTV_efficient). The sampler is Paper/ClassSampler.lean's. The compressed calculator runs within poly(C, λ(z)) times a power of its input's size (the field len_time of the compression), and the processor of V^{M,λ} within Q(C + |M| + λ) times one (exists_lp_cost_poly), so both class programs run within polynomials in the total input length (lenB, lpB), below the verifier's polynomial classTP.

Hence MIPRE.Tailored.re_subset_tmipStar_of from thm:tailored-halting at the fixed level (Halting.halting_tailored_search), and MIPRE.Tailored.tmipStar_eq_re_of with TMIPStar.isRE (Tailored/ClassPolyTab.lean).

The compressed samplers of a tailored gap compression, as a polynomial-time family of samplers at its level.

Equations
Instances For

    A preparation followed by the universal machine #

    theorem MIPRE.Tailored.seqUniv_runs (U : Cost.UniversalMachine) {α : Type u_1} {β : Type u_2} [Cost.SizedEncoding α] [Cost.SizedEncoding β] (P : Cost.PolyTimeFun α (Cost.Prog × β)) (a : α) {r : Cost.Data} {t : ℕ} (h : (P.toFun a).1.Runs (Cost.encode (P.toFun a).2) r t) :

    A preparation followed by the universal machine runs the prepared program on the prepared input, at the cost of the preparation and of the simulation.

    theorem MIPRE.Tailored.seqUniv_runs_rev (U : Cost.UniversalMachine) {α : Type u_1} {β : Type u_2} [Cost.SizedEncoding α] [Cost.SizedEncoding β] (P : Cost.PolyTimeFun α (Cost.Prog × β)) (a : α) {r : Cost.Data} {t : ℕ} (h : (P.code.seq U.univ).Runs (Cost.encode a) r t) :
    ∃ (t' : ℕ), (P.toFun a).1.Runs (Cost.encode (P.toFun a).2) r t'

    It halts only if the prepared program does, with the same output.

    @[reducible, inline]

    The tailored halting verifier the class verifier plays on z: V^{R z, λ(z)}.

    Equations
    Instances For

      The calculator and the processor #

      The calculator's preparation: (z, x, κ) ↦ (L^{λ(z)}, (C, x, κ)).

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem MIPRE.Tailored.Halting.lenPrep_apply {ℓ : ℕ} (TG : TailoredGapCompression ℓ) (Λ₀ : ℕ) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (z x : Cost.BitStr) (κ : Bool) :
        (lenPrep TG Λ₀ R).toFun (z, x, κ) = ((TG.len (Halting.lamz Λ₀ R z)).prog, C TG, x, κ)

        The processor's preparation: (z, x, y, a^R, b^R) ↦ (LP^{R z, λ(z)}, (C, x, y, a^R, b^R)).

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem MIPRE.Tailored.Halting.lpPrep_apply {ℓ : ℕ} (TG : TailoredGapCompression ℓ) (U : Cost.UniversalMachine) (UT : Cost.ClockedUniversalMachine) (Λ₀ : ℕ) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (z x y aR bR : Cost.BitStr) :
          (lpPrep TG U UT Λ₀ R).toFun (z, x, y, aR, bR) = ((VTz TG U UT Λ₀ R z).lp.prog, C TG, x, y, aR, bR)

          The costs #

          noncomputable def MIPRE.Tailored.Halting.lenTB {ℓ : ℕ} (TG : TailoredGapCompression ℓ) (Λ₀ : ℕ) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (m : ℕ) :

          The calculator's preparation time, in the total input length m.

          Equations
          Instances For
            noncomputable def MIPRE.Tailored.Halting.lenSB {ℓ : ℕ} (TG : TailoredGapCompression ℓ) (Λ₀ : ℕ) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (m : ℕ) :

            The compressed calculator's time, in m.

            Equations
            Instances For

              The class calculator's cost, in the total input length.

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

                The polynomial of the processor's cost (exists_lp_cost_poly).

                Equations
                Instances For

                  The degree of the processor's cost in the size of its input.

                  Equations
                  Instances For
                    theorem MIPRE.Tailored.Halting.lpQ_spec {ℓ : ℕ} (TG : TailoredGapCompression ℓ) (U : Cost.UniversalMachine) (UT : Cost.ClockedUniversalMachine) (M : Cost.Prog) (lam n : ℕ) (d : Cost.Data) :
                    ∃ (r : Cost.Data), ∃ t ≤ Polynomial.eval (n + Cost.esize M + lam) (lpQ TG U UT) * (d.size + 1) ^ lpK TG U UT, (lpProg TG U UT (search TG) M lam).Runs ((Cost.encode n).cons d) r t

                    The processor's preparation time, in the total input length m.

                    Equations
                    Instances For

                      The processor's time, in m.

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

                        The class processor's cost, in the total input length.

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

                          The class verifier #

                          The polynomial of the class verifier: above the sampler's cost, the dimension, and the calculator's and the processor's costs.

                          Equations
                          Instances For

                            The polynomial-time tailored verifier of the language reduced to halting by R.

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

                              Its sampler samples the compressed samplers at the level C.

                              Efficiency #

                              The calculator halts within lenB of the total input length.

                              The processor halts within lpB of the total input length.

                              The class verifier is efficient on every input.

                              The outputs are those of the halting verifier #

                              theorem MIPRE.Tailored.Halting.lenIs_iff {ℓ : ℕ} (TG : TailoredGapCompression ℓ) (U : Cost.UniversalMachine) (UT : Cost.ClockedUniversalMachine) (Λ₀ : ℕ) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (z x : Cost.BitStr) (κ : Bool) (k : ℕ) :
                              (classTV TG U UT Λ₀ R).LenIs z x κ k ↔ LenIs (VTz TG U UT Λ₀ R z).len (C TG) x κ k

                              The class calculator outputs what the compressed calculator outputs at the level C.

                              theorem MIPRE.Tailored.Halting.lpIs_iff {ℓ : ℕ} (TG : TailoredGapCompression ℓ) (U : Cost.UniversalMachine) (UT : Cost.ClockedUniversalMachine) (Λ₀ : ℕ) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (z x y aR bR : Cost.BitStr) (cs : List Cost.BitStr) :
                              (classTV TG U UT Λ₀ R).LpIs z x y aR bR cs ↔ LpIs (VTz TG U UT Λ₀ R z).lp (C TG) x y aR bR cs

                              The class processor outputs what the processor of V^{R z, λ(z)} outputs at the level C.

                              theorem MIPRE.Tailored.Halting.lenOf_eq {ℓ : ℕ} (TG : TailoredGapCompression ℓ) (U : Cost.UniversalMachine) (UT : Cost.ClockedUniversalMachine) (Λ₀ : ℕ) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (z x : Cost.BitStr) (κ : Bool) :
                              (classTV TG U UT Λ₀ R).lenOf z x κ = (VTz TG U UT Λ₀ R z).lenOf (C TG) x κ
                              theorem MIPRE.Tailored.Halting.consOf_eq {ℓ : ℕ} (TG : TailoredGapCompression ℓ) (U : Cost.UniversalMachine) (UT : Cost.ClockedUniversalMachine) (Λ₀ : ℕ) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (z x y aR bR : Cost.BitStr) :
                              (classTV TG U UT Λ₀ R).consOf z x y aR bR = (VTz TG U UT Λ₀ R z).consOf (C TG) x y aR bR

                              The game #

                              theorem MIPRE.Tailored.Halting.tgame_extends {ℓ : ℕ} (TG : TailoredGapCompression ℓ) (U : Cost.UniversalMachine) (UT : Cost.ClockedUniversalMachine) (Λ₀ : ℕ) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (z : Cost.BitStr) :
                              ((classTV TG U UT Λ₀ R).tgame z).Extends ((VTz TG U UT Λ₀ R z).tgame (C TG)) (TG.samplerFamily.qEmb (C TG) Λ₀ R ⋯ z)

                              The class verifier's game extends that of V^{R z, λ(z)} at the level C, along the embedding of the questions as bit strings.

                              The value of the class verifier's game is that of V^{R z, λ(z)} at the level C.

                              A perfect ZPC strategy of V^{R z, λ(z)} at the level C is one of the class verifier's game, on the doubled games.

                              The values on and off the language, at the threshold Λ₀ of lem:lambda.

                              RE ⊆ TMIP*, and TMIP* = RE #

                              RE ⊆ TMIP* for the polynomial-time class, from a tailored gap compression.

                              TMIP* = RE (II:787, thm:tailored_MIP*=RE), for the paper's polynomial-time class, from a tailored gap compression.