Documentation

MIPRE.Foundations.Introspection.ClockSimulationCost

Runtime of the complete clocked exponential-index simulation #

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
      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

          An explicit bound for every input, including malformed indices and queries.

          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
              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.simulationCost_le {k lam : ℕ} (U : Cost.ClockedUniversalMachine) (source : Cost.Prog) (x : Cost.Data) (hk : 1 ≤ k) (hl : 1 ≤ lam) (hn : 1 ≤ indexReader.toFun x) (hcode : Cost.esize source ≤ ansBound k lam (indexReader.toFun x)) (hx : x.size ≤ 64 * ansBound k lam (indexReader.toFun x)) (hout : (reindexed x).size ≤ 64 * ansBound k lam (indexReader.toFun x)) :

                  Uniform polynomial overhead in the budget, once it dominates the source and inputs.

                  theorem MIPRE.Introspection.ClockSimulation.legal_input_sizes {k lam n : ℕ} (hk : 1 ≤ k) (hl : 1 ≤ 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) :
                  Cost.esize (n, x, y, a, b) ≤ 64 * ansBound k lam n ∧ Cost.esize (2 ^ n, x, y, a, b) ≤ 64 * ansBound k lam n
                  theorem MIPRE.Introspection.ClockSimulation.decider_ansBound_time (k : ℕ) (hk : 1 ≤ k) (U : Cost.ClockedUniversalMachine) :
                  ∃ (C : ℕ), ∀ (lam n : ℕ) (source : Cost.Prog), 1 ≤ lam → 1 ≤ n → Cost.esize source ≤ lam → ∀ (x y a b : Cost.BitStr), List.length x ≤ (2 ^ n) ^ lam → List.length y ≤ (2 ^ n) ^ lam → List.length a ≤ (2 ^ n) ^ lam → List.length b ≤ (2 ^ n) ^ lam → Cost.HaltsWithin (decider k lam U source).prog (Cost.encode (n, x, y, a, b)) (ansBound C lam n)

                  A uniform absolute runtime for the entire compiled clocked decider, including clock generation, index conversion, simulation and the final result check.

                  theorem MIPRE.Introspection.ClockSimulation.original_decider_ansBound_time (U : Cost.ClockedUniversalMachine) :
                  ∃ (C : ℕ), ∀ {ℓ lam n : ℕ} (V : Verifier ℓ), V.IsBounded lam → 1 ≤ n → ∀ (x y a b : Cost.BitStr), List.length x ≤ (2 ^ n) ^ lam → List.length y ≤ (2 ^ n) ^ lam → List.length a ≤ (2 ^ n) ^ lam → List.length b ≤ (2 ^ n) ^ lam → Cost.HaltsWithin (decider 5 lam U V.decider.prog).prog (Cost.encode (n, x, y, a, b)) (ansBound C lam n)