MarketSatisfiability
Company Profile

Satisfiability

In mathematical logic, a formula is satisfiable if it is true under some assignment of values to its variables. For example, the formula is satisfiable because it is true when and , while the formula is not satisfiable over the integers. The dual concept to satisfiability is validity; a formula is valid if every assignment of values to its variables makes the formula true. For example, is valid over the integers, but is not.

Reduction of validity to satisfiability
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. 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 for classical logic==
Propositional satisfiability for classical logic
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 in first-order logic
For first-order logic (FOL), satisfiability is undecidable. More specifically, it is a co-RE-complete problem and therefore not semidecidable. 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. 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==
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. 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 free 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 :AT ==Finite satisfiability==
Finite satisfiability
A problem related to satisfiability is that of finite satisfiability, which is the question of determining whether a formula admits a finite model that makes it true. For a logic that has the finite model property, the problems of satisfiability and finite satisfiability coincide, as a formula of that logic has a model if and only if it has a finite model. This question is important in the mathematical field of finite model theory. Finite satisfiability and satisfiability need not coincide in general. For instance, consider the first-order logic formula obtained as the conjunction of the following sentences, where a_0 and a_1 are constants: • R(a_0, a_1) • \forall x y (R(x, y) \rightarrow \exists z R(y, z)) • \forall x y z (R(y, x) \wedge R(z, x) \rightarrow y = z)) • \forall x \neg R(x, a_0) The resulting formula has the infinite model R(a_0, a_1), R(a_1, a_2), \ldots, but it can be shown that it has no finite model (starting at the fact R(a_0, a_1) and following the chain of R 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 a_0 or on a different element). The computational complexity of deciding satisfiability for an input formula in a given logic may differ from that of deciding finite satisfiability; in fact, for some logics, only one of them is decidable. 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. == Numerical constraints ==
Numerical constraints
often appear in the field of mathematical optimization, where one usually wants to maximize (or minimize) an objective function subject to some constraints. 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. The following table summarizes the main cases. Table source: Bockmayr and Weispfenning. For linear constraints, a fuller picture is provided by the following table. Table source: Bockmayr and Weispfenning. ==See also==
tickerdossier.comtickerdossier.substack.com