Satisfiability

In mathematical logic, a formula is satisfiable if it is true under some assignment of values to its variables.

The dual concept to satisfiability is validity; a formula is valid if every assignment of values to its variables makes the formula true.

Formally, we define an interpretation (or model) to be an assignment of values to the variables and an assignment of meaning to all other non-logical symbols, and a formula is said to be satisfiable if there is some interpretation which makes it true.

The satisfiability modulo theories problem considers satisfiability of a formula with respect to a formal theory, which is a (finite or infinite) set of axioms.

This concept is closely related to the consistency of a theory, and in fact is equivalent to consistency for first-order logic, a result known as Gödel's completeness theorem.

These four concepts are related to each other in a manner exactly analogous to Aristotle's square of opposition.

In general, the problem of determining whether a sentence of first-order logic is satisfiable is not decidable.

In universal algebra, equational theory, and automated theorem proving, the methods of term rewriting, congruence closure and unification are used to attempt to decide satisfiability.

[2] For classical logics with negation, it is generally possible to re-express 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 false that ¬φ is satisfiable.

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.

For first-order logic (FOL), satisfiability is undecidable.

[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 by Gödel's completeness theorem.

So the problem of logical validity would be decidable, which contradicts the Church–Turing theorem, a result stating the negative answer for the Entscheidungsproblem.

This question is important in the mathematical field of finite model theory.

For instance, consider the first-order logic formula obtained as the conjunction of the following sentences, where

atoms that must exist by the second axiom, the finiteness of a model would require the existence of a loop, which would violate the third and fourth axioms, whether it loops back on

For classical first-order logic, finite satisfiability is recursively enumerable (in class RE) and undecidable by Trakhtenbrot's theorem applied to the negation of the formula.

However, leaving aside the objective function, the basic issue of simply deciding whether the constraints are satisfiable can be challenging or undecidable in some settings.

[5]: 754 For linear constraints, a fuller picture is provided by the following table.