In
computer science, the
Boolean Satisfiability Problem (sometimes called
Propositional Satisfiability Problem and abbreviated as
SATISFIABILITY or
SAT) is the problem of determining if there exists an
interpretation that
satisfies a given
Boolean formula. In other words, it asks whether the variables of a given Boolean formula can be consistently replaced by the values TRUE or FALSE in such a way that the formula
evaluates to TRUE. If this is the case, the formula is called
satisfiable. On the other hand, if no such assignment exists, the function expressed by the formula is identically FALSE for all possible variable assignments and the formula is
unsatisfiable. For example, the formula "
a AND NOT
b" is satisfiable because one can find the values
a = TRUE and
b = FALSE, which make (
a AND NOT
b) = TRUE. In contrast, "
a AND NOT
a" is unsatisfiable.