The Boolean Satisfiability Problem (SAT)