In
mathematical logic
Mathematical logic is the study of Logic#Formal logic, formal logic within mathematics. Major subareas include model theory, proof theory, set theory, and recursion theory (also known as computability theory). Research in mathematical logic com ...
, a
formula
In science, a formula is a concise way of expressing information symbolically, as in a mathematical formula or a ''chemical formula''. The informal use of the term ''formula'' in science refers to the general construct of a relationship betwe ...
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.
Formally, satisfiability is studied with respect to a fixed logic defining the
syntax
In linguistics, syntax ( ) is the study of how words and morphemes combine to form larger units such as phrases and sentences. Central concerns of syntax include word order, grammatical relations, hierarchical sentence structure (constituenc ...
of allowed symbols, such as
first-order logic,
second-order logic or
propositional logic. Rather than being syntactic, however, satisfiability is a
semantic
Semantics is the study of linguistic Meaning (philosophy), meaning. It examines what meaning is, how words get their meaning, and how the meaning of a complex expression depends on its parts. Part of this process involves the distinction betwee ...
property because it relates to the ''meaning'' of the symbols, for example, the meaning of
in a formula such as
. Formally, we define an
interpretation (or
model
A model is an informative representation of an object, person, or system. The term originally denoted the plans of a building in late 16th-century English, and derived via French and Italian ultimately from Latin , .
Models can be divided in ...
) 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. While this allows non-standard interpretations of symbols such as
, one can restrict their meaning by providing additional
axiom
An axiom, postulate, or assumption is a statement that is taken to be true, to serve as a premise or starting point for further reasoning and arguments. The word comes from the Ancient Greek word (), meaning 'that which is thought worthy or ...
s. 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.
Satisfiability and validity are defined for a single formula, but can be generalized to an arbitrary theory or set of formulas: a theory is satisfiable if at least one interpretation makes every formula in the theory true, and valid if every formula is true in every interpretation. For example, theories of arithmetic such as
Peano arithmetic are satisfiable because they are true in the natural numbers. 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. The negation of satisfiability is unsatisfiability, and the negation of validity is invalidity. These four concepts are related to each other in a manner exactly analogous to
Aristotle
Aristotle (; 384–322 BC) was an Ancient Greek philosophy, Ancient Greek philosopher and polymath. His writings cover a broad range of subjects spanning the natural sciences, philosophy, linguistics, economics, politics, psychology, a ...
's
square of opposition.
The
problem of determining whether a formula in
propositional logic is satisfiable is
decidable, and is known as the
Boolean satisfiability problem, or SAT. 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. Whether a particular
theory
A theory is a systematic and rational form of abstract thinking about a phenomenon, or the conclusions derived from such thinking. It involves contemplative and logical reasoning, often supported by processes such as observation, experimentation, ...
is decidable or not depends whether the theory is
variable-free and on other conditions.
Reduction of validity to satisfiability
For
classical logic
Classical logic (or standard logic) or Frege–Russell logic is the intensively studied and most widely used class of deductive logic. Classical logic has had much influence on analytic philosophy.
Characteristics
Each logical system in this c ...
s 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
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
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
.
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
In mathematics and computer science, the ; ) is a challenge posed by David Hilbert and Wilhelm Ackermann in 1928. It asks for an algorithm that considers an inputted statement and answers "yes" or "no" according to whether it is universally valid ...
. 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
In
model theory
In mathematical logic, model theory is the study of the relationship between theory (mathematical logic), formal theories (a collection of Sentence (mathematical logic), sentences in a formal language expressing statements about a Structure (mat ...
, an
atomic formula is satisfiable if there is a collection of elements of a
structure
A structure is an arrangement and organization of interrelated elements in a material object or system, or the object or system so organized. Material structures include man-made objects such as buildings and machines and natural objects such as ...
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'' ⊧ φ
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
:''A'' ⊧ ''T''
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
and
are
constants:
*
*
*
*
The resulting formula has the infinite model
, but it can be shown that it has no finite model (starting at the fact
and following the chain of
atoms
Atoms are the basic particles of the chemical elements. An atom consists of a nucleus of protons and generally neutrons, surrounded by an electromagnetically bound swarm of electrons. The chemical elements are distinguished from each other ...
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
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
often appear in the field of
mathematical optimization
Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criteria, from some set of available alternatives. It is generally divided into two subfiel ...
, 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
*
2-satisfiability
*
Boolean satisfiability problem
*
Circuit satisfiability
*
Karp's 21 NP-complete problems
*
Validity
*
Constraint satisfaction
Notes
References
*
Further reading
*
*
{{Metalogic
Concepts in logic
Logical truth
Model theory
Philosophy of logic