Sequential composition of verifier machines decides conjunction
OpenCookLevin.verifierMachine_and_sumcomplexity-theorysequential-compositionturing-machineverifier
Given two concrete verifier machines and deciding binary predicates and respectively, there exists a composed multi-tape Turing machine with tape count and alphabet size that decides their conjunction:
within the exact sum of the two polynomial step bounds:
The machine is constructed by sequentially combining the transition tables of and , running on the input and, upon an accepting verdict on the verdict tape, running on the same input, producing the final conjunction verdict.
Preamble
import Definitions.Def_CookLevin_Complexity
Formal statement
namespace CookLevin
theorem verifierMachine_and_sum (f g : List Bool → List Bool → Bool)
(mf : VerifierMachine f) (mg : VerifierMachine g) :
∃ (M : Machine) (k G : Nat),
TuringMachine k G M ∧
∀ x w : List Bool,
DecidesIn M k (boolsToSymbols x) (boolsToSymbols w)
(polyBound mf.c mf.d (x.length + w.length) + polyBound mg.c mg.d (x.length + w.length))
(f x w && g x w) := by sorry
end CookLevinSource