Davis Putnam (DPLL)
Procedure DPLL (CNF formula: ?)
If ? is empty, return yes.
If there is an empty clause in ? return no.
If there is a pure literal u in ? return DPLL(?(u)).
If there is a unit clause {u} in ? return DPLL(?(u)).
Select a variable v mentioned in ?.
Recall: ?(u) means set u := true in ?, then simplify