Machine-level bounded existential search over unary offsets
ProvedSipserGacsLautemann.bounded_exists_unary_offset_from_machinebounded-searchcomplexity-theoryschedulerturing-machines
Let be decided by a concrete deterministic four-tape machine in polynomial time. This theorem asserts that there is a concrete polynomial-time three-tape machine deciding
where the fourth virtual tape is generated as the unary string and the scheduler tries all offsets.
This is the machine-level construction underlying the generic bounded-unary scheduler closure.
Preamble
import Definitions.Def_sipser_gacs_lautemann
Formal statement
namespace SipserGacsLautemann
theorem bounded_exists_unary_offset_from_machine
{predicate : (Fin 4 → List Bool) → Prop}
[DecidablePred predicate]
(states : Nat)
(machine : Machine 4 states)
(time : Nat → Nat)
(htime : PolynomiallyBounded time)
(hcorrect :
∀ input : Fin 4 → List Bool,
(machine.acceptsWithin input
(time (totalInputLength input)) ↔
predicate input) ∧
(machine.rejectsWithin input
(time (totalInputLength input)) ↔
¬ predicate input)) :
DecidesInPolynomialTime
(fun input : Fin 3 → List Bool =>
decide
(∃ offset : Fin ((input 2).length + 1),
predicate (fun j : Fin 4 =>
if j = 0 then input 0
else if j = 1 then input 1
else if j = 2 then input 2
else List.replicate offset.val true)) = true) := by
sorry
end SipserGacsLautemannSource
Internal machine-level scheduler decomposition lemma for the Prove2me mission “The Sipser–Gács–Lautemann Theorem”.