Satisfiability
Satisfiability, in the context of propositional logic, is the question of whether a given Boolean formula can be assigned truth values to its variables so that the formula evaluates to true. In practice, formulas are often written in conjunctive normal form (CNF), a conjunction of clauses where each clause is a disjunction of literals (a variable or its negation). The decision problem asks whether such an assignment exists; if so, the formula is satisfiable (SAT); if no assignment can satisfy all clauses, it is unsatisfiable (UNSAT). A common restricted form is k-SAT, where each clause contains at most k literals; 3-SAT is a well-studied nontrivial case.
Satisfiability is a central topic in computational complexity. It was shown to be NP-complete by the Cook-Levin
Algorithmically, practical SAT solving combines theoretical insight with engineering. The Davis–Putnam–Logemann–Loveland (DPLL) framework underpins many solvers,
Applications of SAT solvers span hardware and software verification, model checking, cryptography, theorem proving, scheduling, and