Finish Cook-Levin




CS254

Chris Pollett

Feb 27, 2017

Outline

The Cook-Levin Theorem (1971, 1973)

Recall from last day we stated the Cook-Levin Theorem as:

Theorem.
(1) SAT is `NP`-complete.
(2) 3SAT is `NP`-complete.

Proof. Last day, we showed both of these problems are in `NP`. We also showed that for any `l` variable Boolean function we can represent it with a `l cdot 2^l` size CNF formula. We now show SAT is `NP`-hard.

Proof that SAT is `NP`-hard

Checking Snapshots

More Checking Snapshots

Quiz

Which of the following statements is known to be true (by most Theory CS people)?

  1. A certificate that is verified by a verifier in an NP problem can be exponentially long.
  2. `EXP subseteq NP`.
  3. All Boolean functions from `f:{0,1}^n -> {0,1}` can be represented as conjunctive normal form formulas.

3SAT is `NP`-HARD

Lemma. `mbox(SAT) le_p mbox(3SAT)`.

Given an instance `Psi` of SAT, we first scan it to determine the largest index `i` or a variable `u_i` used in the formula. We then scan each clause in `Psi` looking at clauses. If the clause is less than or equal to length 3 we copy it to the output tape. On one of our work tapes we have a counter `j` that starts at the value `i+1` where `i` is the largest index we just found. If a clause is `l_(i_1) vv .. vv l_(i_m)` where `m > 3`, we output the sequence of clauses `l_(i_1) vv l_(i_2) vv u_j`, `bar u_j vv l_(i_3) vv u_(j+1),` ...`, bar u_(j+w) vvl_(i_(m-1)) vv l_(i_m)` where `w` will be around `m/3`. The resulting clauses on the output tape is the value of our reduction on `Psi`. It is easy to check the original clauses will be satisfiable iff only the output clauses are sastifiable. Further the output clauses all have length less than or equal to 3.

Some Remarks on Cook-Levin