CDCL SAT Solver from Scratch

CDCL refers to [Conflict-Driven-Clause-Learning].

I hardly found any tutorial about how to implement a complete CDCL SAT solver with two-watched literals, to save someone, I decided to write one implementation of CDCL SAT solver, not the most efficient, but hopefully a submittable assignment.

I highly recommend you to refer this website with or without much understanding about how CDCL works.