Turing machine conjunction composition with explicit linear overhead
ProvedCookLevin.turingMachine_and_compose_overheadcompositioncooklevincorrectedturingmachine
Let be well-formed Turing machines deciding predicates in times . Then there exist a constant and a well-formed machine deciding the conjunction in time
The exact bound is unachievable in general: the composed machine must copy the input to a pristine tape bank for (since may clobber its tapes), reposition heads after each phase (cost proportional to the distance traveled), and combine the verdicts. This is the corrected, true form of the exact-bound composition claim , which is false as stated.
Formal statement
import Definitions.Def_CookLevin_Cost
namespace CookLevin
theorem turingMachine_and_compose_overhead
(M1 M2 : Machine) (k1 k2 G1 G2 : Nat)
(hwf1 : TuringMachine k1 G1 M1) (hwf2 : TuringMachine k2 G2 M2)
(V1 V2 : List Bool → List Bool → Bool)
(T1 T2 : Nat → Nat)
(hdec1 : ∀ x w : List Bool, DecidesIn M1 k1 (boolsToSymbols x) (boolsToSymbols w) (T1 (x.length + w.length)) (V1 x w))
(hdec2 : ∀ x w : List Bool, DecidesIn M2 k2 (boolsToSymbols x) (boolsToSymbols w) (T2 (x.length + w.length)) (V2 x w)) :
∃ (C : Nat) (M : Machine) (k G : Nat),
TuringMachine k G M ∧
∀ x w : List Bool,
DecidesIn M k (boolsToSymbols x) (boolsToSymbols w)
(T1 (x.length + w.length) + T2 (x.length + w.length) +
C * (T1 (x.length + w.length) + T2 (x.length + w.length) + (x.length + w.length) + 1))
(V1 x w && V2 x w) := by sorry
end CookLevin