### Satisfiable

In mathematical logic, satisfiability and validity are elementary concepts of semantics. A formula is satisfiable if it is possible to find an interpretation (model) that makes the formula true.[1] A formula is valid if all interpretations make the formula true. The opposites of these concepts are unsatisfiability and invalidity, that is, a formula is unsatisfiable if none of the interpretations make the formula true, and invalid if some such interpretation makes the formula false. These four concepts are related to each other in a manner exactly analogous to Aristotle's square of opposition.

The four concepts can be raised to apply to whole theories: a theory is satisfiable (valid) if one (all) of the interpretations make(s) each of the axioms of the theory true, and a theory is unsatisfiable (invalid) if all (one) of the interpretations make(s) each of the axioms of the theory false.

It is also possible to consider only interpretations that make all of the axioms of a second theory true. This generalization is commonly called satisfiability modulo theories.

The question whether a sentence in propositional logic is satisfiable is a decidable problem. In general, the question whether sentences in first-order logic are satisfiable is not decidable. In universal algebra and equational theory, the methods of term rewriting, congruence closure and unification are used to attempt to decide satisfiability. Whether or not a particular theory is decidable or not depends whether or not the theory is variable-free or on other conditions.[2]

## Reduction of validity to satisfiability

For classical logics, it is generally possible to reexpress the question of the validity of a formula to one involving satisfiability, because of the relationships between the concepts expressed in the above square of opposition. In particular φ is valid if and only if ¬φ is unsatisfiable, which is to say it is not true that ¬φ is satisfiable. Put another way, φ is satisfiable if and only if ¬φ is invalid.

For logics without negation, such as the positive propositional calculus, the questions of validity and satisfiability may be unrelated. In the case of the positive propositional calculus, the satisfiability problem is trivial, as every formula is satisfiable, while the validity problem is co-NP complete.

## Propositional satisfiability

In the case of classical propositional logic, satisfiability is decidable for propositional formulae. In particular, satisfiability is an NP-complete problem, and is one of the most intensively studied problems in computational complexity theory.

## Satisfiability in first-order logic

Satisfiability is undecidable and indeed it isn't even a semidecidable property of formulae in first-order logic (FOL).[3] This fact has to do with the undecidability of the validity problem for FOL. The question of the status of the validity problem was posed firstly by David Hilbert, as the so called Entscheidungsproblem. The universal validity of a formula is a semi-decidable problem. If satisfiability were also a semi-decidable problem, then the problem of the existence of counter-models would be too (a formula has counter-models iff its negation is satisfiable). So the problem of logical validity would be decidable, which contradicts the Church-Turing theorem, a result stating the negative answer for the Entscheidungsproblem.

## Satisfiability in model theory

In model theory, an atomic formula is satisfiable if there is a collection of elements of a structure that render the formula true.[4] If A is a structure, φ is a formula, and a is a collection of elements, taken from the structure, that satisfy φ, then it is commonly written that

A ⊧ φ [a]

If φ has no variables, that is, if φ is an atomic sentence, and it is satisfied by A, then one writes

A ⊧ φ

In this case, one may also say that A is a model for φ, or that φ is true in A. If T is a collection of atomic sentences (a theory) satisfied by A, one writes

A ⊧ T