CNF evaluation decided in product time by multi-tape Turing machine
OpenCookLevin.satisfiesB_machine_productcnf-evaluationproduct-timesatisfiesbturing-machineverifier
There exists a multi-tape Turing machine with tape count and alphabet size that evaluates whether truth assignment satisfies CNF formula within product time:
within at most steps for a constant .
The formula contains at most literals across all its clauses. For each literal of the form or , scans the certificate tape 1 up to position to inspect the truth value assigned by , requiring at most tape head shifts per literal. The total execution time is therefore bounded by steps.
Preamble
import Definitions.Def_CookLevin_Verifier
Formal statement
namespace CookLevin
theorem satisfiesB_machine_product :
∃ (M : Machine) (k G : Nat) (c1 : Nat),
TuringMachine k G M ∧
∀ x w : List Bool,
DecidesIn M k (boolsToSymbols x) (boolsToSymbols w)
(c1 * (x.length + 1) * (w.length + 1))
(satisfiesB (decodeAssignment w) (decodeFormula x)) := by sorry
end CookLevinSource