Boolean Satisfiability Problem (SAT)

The Boolean Satisfiability Problem (SAT) takes an input of:

  • a propositional formula in CNF

It provides an output of if and only if is satisfiable.

Link to original

Theorem: SAT problem belongs to NP (upper-bound)

Input: Given some formula in CNF, we can decide whether is satisfiable by computing its truth table.

  1. However the truth table contains rows which is not polynomial.
  2. But, we can use an NDTM to evaluate each row in parallel, now each row requires us to evaluate at most boolean operators which is polynomial!