Documentation

MIPRE.Foundations.Halting.Paper.ClassVerifier

The class verifier of the polynomial-time halting reduction #

The two programs of the PolyVerifier (def:mipstar) that puts an r.e. language L in the paper's class MIP*_{1,1/2}(2,1), for a polynomial-time reduction R of L to halting on the empty input (Cost.exists_polyTime_reduction): on input z they play the game of ๐’ฑ^halt (R z) ฮป(z) at the fixed level C (Paper/Main.lean), with ฮป(z) = ฮ›โ‚€ + 4|R z| the parameter of lem:lambda.

The costs are bounded by explicit expressions in the total input length (sampB, decB), polynomially bounded (polyBounded_sampB, polyBounded_decB); Paper/ClassMain.lean chooses the verifier's polynomial above them and proves the game's value.

The sampler #

@[reducible, inline]
noncomputable abbrev MIPRE.Halting.Sz (G : GapCompression) (ฮ›โ‚€ : โ„•) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (z : Cost.BitStr) :

The compressed sampler of the input z.

Equations
Instances For
    @[reducible, inline]
    noncomputable abbrev MIPRE.Halting.dimz (G : GapCompression) (ฮ›โ‚€ : โ„•) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (z : Cost.BitStr) :

    The dimension of its questions at the fixed level.

    Equations
    Instances For
      @[reducible, inline]
      noncomputable abbrev MIPRE.Halting.qOf (G : GapCompression) (ฮ›โ‚€ : โ„•) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (w : Player) (z r : Cost.BitStr) :

      Player w's question on the seed r, on the input z: the marginal of the compressed sampler at the first dimz z bits of r.

      Equations
      Instances For
        @[reducible, inline]

        The sampler of the class verifier: the class sampler of Paper/ClassSampler.lean for the compressed samplers at the fixed level C.

        Equations
        Instances For
          @[reducible, inline]
          noncomputable abbrev MIPRE.Halting.dimB (G : GapCompression) (ฮ›โ‚€ : โ„•) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (m : โ„•) :

          The compressor's bound poly(C, ฮป), in the total input length m: bounds the dimension and the times.

          Equations
          Instances For
            @[reducible, inline]

            The sampler's cost, in the total input length.

            Equations
            Instances For
              theorem MIPRE.Halting.dimz_le (G : GapCompression) (ฮ›โ‚€ : โ„•) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (z : Cost.BitStr) (m : โ„•) (hm : List.length z โ‰ค m) :
              dimz G ฮ›โ‚€ R z โ‰ค dimB G ฮ›โ‚€ R m
              theorem MIPRE.Halting.sampProg_runs (G : GapCompression) (U : Cost.UniversalMachine) (ฮ›โ‚€ : โ„•) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (z r : Cost.BitStr) (hd : dimz G ฮ›โ‚€ R z โ‰ค List.length r) :
              โˆƒ t โ‰ค sampB G U ฮ›โ‚€ R (List.length z + List.length r), (sampProg G U ฮ›โ‚€ R).Runs (Cost.encode (z, r)) (Cost.encode (qOf G ฮ›โ‚€ R Player.alice z r, qOf G ฮ›โ‚€ R Player.bob z r)) t

              The sampler's run: on (z, r) with r at least dimz z long, it halts with the question pair of the seed within sampB (|z| + |r|).

              The decider #

              The cutoff on the input z: 2 ^ (K + deg ยท |ฮป(z)|).

              Equations
              Instances For

                q โ†ฆ wrapCore univ (ComputeSampler ฮป(z)) (dec (R z) ฮป(z)), the decider of ๐’ฑ^halt.

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

                  The decider of ๐’ฑ^halt (R z) ฮป(z), wrapped.

                  Equations
                  Instances For
                    theorem MIPRE.Halting.wF_apply (G : GapCompression) (U : Cost.UniversalMachine) (UT : Cost.ClockedUniversalMachine) (ฮ›โ‚€ : โ„•) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (z x y a b : Cost.BitStr) :
                    (wF G U UT ฮ›โ‚€ R).toFun (z, x, y, a, b) = wdec G U UT ฮ›โ‚€ R z

                    q โ†ฆ encode (C, x, y, a, b), the decider's input at the fixed level.

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

                      The preparation of the class decider: the program to run and its input โ€” the constant-false program if a or b exceeds the cutoff, else ๐’ฑ^halt's decider on (C, x, y, a, b).

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        theorem MIPRE.Halting.D1_apply (G : GapCompression) (U : Cost.UniversalMachine) (UT : Cost.ClockedUniversalMachine) (ฮ›โ‚€ K : โ„•) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (z x y a b : Cost.BitStr) :
                        (D1 G U UT ฮ›โ‚€ K R).toFun (z, x, y, a, b) = if List.length a โ‰ค cutz G ฮ›โ‚€ K R z then if List.length b โ‰ค cutz G ฮ›โ‚€ K R z then (wdec G U UT ฮ›โ‚€ R z, Cost.encode (C G, x, y, a, b)) else (falseProg, Cost.Data.nil) else (falseProg, Cost.Data.nil)

                        The decider of the class verifier: the preparation, then the universal machine.

                        Equations
                        Instances For
                          theorem MIPRE.Halting.decProg_accepts (G : GapCompression) (U : Cost.UniversalMachine) (UT : Cost.ClockedUniversalMachine) (ฮ›โ‚€ K : โ„•) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (z x y a b : Cost.BitStr) :
                          (โˆƒ (t : โ„•), (decProg G U UT ฮ›โ‚€ K R).Runs (Cost.encode (z, x, y, a, b)) (Cost.encode true) t) โ†” List.length a โ‰ค cutz G ฮ›โ‚€ K R z โˆง List.length b โ‰ค cutz G ฮ›โ‚€ K R z โˆง (Vpaper G U UT (R.toFun z) (lamz ฮ›โ‚€ R z)).decider.Accepts (C G) x y a b

                          Acceptance of the class decider: both answers within the cutoff, and ๐’ฑ^halt's decider accepts at the fixed level.

                          The preparation's cost, in the total input length.

                          Equations
                          Instances For
                            noncomputable def MIPRE.Halting.zB (G : GapCompression) (ฮ›โ‚€ : โ„•) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (m : โ„•) :

                            A common bound on the atoms of the wrapped decider's cost, in m.

                            Equations
                            Instances For

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

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                theorem MIPRE.Halting.decProg_runs (G : GapCompression) (U : Cost.UniversalMachine) (UT : Cost.ClockedUniversalMachine) (ฮ›โ‚€ K : โ„•) (R : Cost.PolyTimeFun Cost.BitStr Cost.Prog) (z x y a b : Cost.BitStr) :
                                โˆƒ (r : Cost.Data), โˆƒ t โ‰ค decB G U UT ฮ›โ‚€ K R (List.length z + List.length x + List.length y + List.length a + List.length b), (decProg G U UT ฮ›โ‚€ K R).Runs (Cost.encode (z, x, y, a, b)) r t

                                The class decider halts on every input within decB (|z| + |x| + |y| + |a| + |b|).