The Davis-Putnam-Logemann-Loveland (DPPL) algorithm was proposed in the 1962. It is a divide-and-conquer backtrack-search type algorithm, it works as follows:

  • Run pure literal elimination and unit clause propagation.
  • If any clauses remain unsatisfied, we branch on any remaining variable :
    • Choose to make by adding to
    • Choose to make by adding to
  • We can achieve this by recursively calling the DPLL Algorithm until either:
    • all clauses are satisfied and
    • a conflict is detected in the partial assignment