Boolean SAT solver