SAT

Input: Given f in CNF with n variables and m clauses
Output: Assignment satisfying f if one exists and no if no SAT exists.

2-SAT

Same but input has clauses of size 2.

You can solve the 2-SAT problem using the SCC algorithm.

For all unit clauses (clauses of size 1):

  • satisfy it, call it a: so set
  • remove all clauses containing , these are satisfied
  • drop all occurrences of
  • Let f’ be new formula

In general for clause , add edges and .