Documentation

MIPRE.Foundations.Introspection.ClockSimulation

Executable clocked simulation at the original exponential index #

The clock is computed at index n; the source program receives index 2^n. Both transformations are actual programs. The repaired exponent-five bound preserves the original bounded decider on its legal question and answer cut.

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

    The source-index adapter is total even when the incoming index is malformed.

    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
        theorem MIPRE.Introspection.ClockSimulation.reindexStage_runs (source : Cost.Prog) (x : Cost.Data) (budget : ℕ) :
        ∃ (time : ℕ), (reindexStage source).Runs (x.cons (Cost.Data.ofNat budget)) ((Cost.Data.ofNat budget).cons ((Cost.encode source).cons (reindexed x))) time

        This program computes the growing budget, changes the source index, and simulates.

        Equations
        Instances For
          theorem MIPRE.Introspection.ClockSimulation.prog_runs (k lam : ℕ) (U : Cost.ClockedUniversalMachine) (source : Cost.Prog) (x : Cost.Data) :
          ∃ (time : ℕ), (prog k lam U source).Runs x (Cost.clockedResult source (reindexed x) (ansBound k lam (indexReader.toFun x))) time

          The resulting ordinary decider rejects timeouts and all nonaccepting results.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem MIPRE.Introspection.ClockSimulation.decider_accepts_iff (k lam : ℕ) (U : Cost.ClockedUniversalMachine) (source : Cost.Prog) (n : ℕ) (x y a b : Cost.BitStr) :
            (decider k lam U source).Accepts n x y a b ↔ ∃ time ≤ ansBound k lam n, source.Runs (Cost.encode (2 ^ n, x, y, a, b)) (Cost.encode true) time
            theorem MIPRE.Introspection.ClockSimulation.original_decider_preserved {ℓ lam n : ℕ} (U : Cost.ClockedUniversalMachine) (V : Verifier ℓ) (hV : V.IsBounded lam) (hn : 1 ≤ n) (x y a b : Cost.BitStr) (hx : List.length x ≤ (2 ^ n) ^ lam) (hy : List.length y ≤ (2 ^ n) ^ lam) (ha : List.length a ≤ (2 ^ n) ^ lam) (hb : List.length b ≤ (2 ^ n) ^ lam) :
            (decider 5 lam U V.decider.prog).Accepts n x y a b ↔ V.decider.Accepts (2 ^ n) x y a b

            The concrete exponent-five clock preserves the original bounded verifier on the original legal answer alphabet, without enlarging that alphabet.