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
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
MIPRE.Introspection.ClockSimulation.reindexProg_runs
(x : Cost.Data)
:
∃ (time : ℕ), reindexProg.Runs x (reindexed x) time
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
theorem
MIPRE.Introspection.ClockSimulation.clockStage_closed
(k lam : ℕ)
:
Cost.Prog.WellScoped 1 (clockStage k lam)
theorem
MIPRE.Introspection.ClockSimulation.clockStage_runs
(k lam : ℕ)
(x : Cost.Data)
:
∃ (time : ℕ), (clockStage k lam).Runs x (x.cons (Cost.Data.ofNat (ansBound k lam (indexReader.toFun x)))) time
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
theorem
MIPRE.Introspection.ClockSimulation.reindexStage_closed
(source : Cost.Prog)
:
Cost.Prog.WellScoped 1 (reindexStage source)
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
noncomputable def
MIPRE.Introspection.ClockSimulation.prog
(k lam : ℕ)
(U : Cost.ClockedUniversalMachine)
(source : Cost.Prog)
:
This program computes the growing budget, changes the source index, and simulates.
Equations
- MIPRE.Introspection.ClockSimulation.prog k lam U source = (MIPRE.Introspection.ClockSimulation.clockStage k lam).let_ ((MIPRE.Introspection.ClockSimulation.reindexStage source).let_ U.univT)
Instances For
theorem
MIPRE.Introspection.ClockSimulation.prog_closed
(k lam : ℕ)
(U : Cost.ClockedUniversalMachine)
(source : Cost.Prog)
:
Cost.Prog.WellScoped 1 (prog k lam U source)
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
theorem
MIPRE.Introspection.ClockSimulation.prog_halts
(k lam : ℕ)
(U : Cost.ClockedUniversalMachine)
(source : Cost.Prog)
(x : Cost.Data)
:
Cost.Halts (prog k lam U source) x
noncomputable def
MIPRE.Introspection.ClockSimulation.decider
(k lam : ℕ)
(U : Cost.ClockedUniversalMachine)
(source : Cost.Prog)
:
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_runs
(k lam : ℕ)
(U : Cost.ClockedUniversalMachine)
(source : Cost.Prog)
(x : Cost.Data)
:
∃ (time : ℕ),
(decider k lam U source).prog.Runs x
(Cost.encode
(decide
(Cost.clockedResult source (reindexed x) (ansBound k lam (indexReader.toFun x)) = (Cost.encode true).cons (Cost.encode true))))
time
theorem
MIPRE.Introspection.ClockSimulation.decider_halts
(k lam : ℕ)
(U : Cost.ClockedUniversalMachine)
(source : Cost.Prog)
(x : Cost.Data)
:
Cost.Halts (decider k lam U source).prog x
theorem
MIPRE.Introspection.ClockSimulation.decider_accepts_iff
(k lam : ℕ)
(U : Cost.ClockedUniversalMachine)
(source : Cost.Prog)
(n : ℕ)
(x y a b : Cost.BitStr)
:
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)
:
The concrete exponent-five clock preserves the original bounded verifier on the original legal answer alphabet, without enlarging that alphabet.