The Cook-Levin Theorem
Cook-Levin Theorem
The Cook-Levin Theorem states that the Boolean Satisfiability Problem (SAT) is NP-complete.
Link to original
Proof
We want to show that every problem can be reduced to SAT.
- Let be any problem belonging to class NP.
- By definition of class NP, there must be some NDTM such that has a polynomial-length computation that accepts .
- For each state :
- Where symbol .
- Where integers (i, t are less than termination time on the input ).
- Let be whether the cell of the ‘s tape contains the symbol at some given time .
- Let be whether the tape head is in position at a given time .
- Let be whether the machine is in state at a given time .
Example
Using these newly introduced propositional variables, we can argue things such as:
- : “The machine cannot be in both state and at the given time ”
- : “At the given time , the tape head must be in positions or ”
- : “At the given time , if cell contains an then it must not contain a ”
- : “At the given time , if the machine is in state and the tape head is in position and the corresponding cell contains an , then at time : the machine will be in state , the tape head will move to position and cell will now contain a ”
- With these propositional variables, we can construct a formula: has a polynomial-length computation that accepts .
- We also have that .
- Hence it follows that for all .
- Since we we already know that SAT belongs to NP, it must follow that SAT is NP-complete.