Conflict-Driven Clause Learning (CDCL) is a complete, backtracking-based search algorithm for the Boolean satisfiability problem that enhances the classic DPLL procedure by analyzing dead-ends (conflicts) to learn new clauses (constraints). These learned clauses prune the future search space and prevent the solver from revisiting the same unsatisfiable variable assignments. The algorithm employs non-chronological backtracking (or backjumping), which allows it to jump back multiple decision levels upon a conflict, rather than just to the immediately prior decision.
