In
mathematical logic
Mathematical logic is the study of formal logic within mathematics. Major subareas include model theory, proof theory, set theory, and recursion theory. Research in mathematical logic commonly addresses the mathematical properties of formal ...
and
automated theorem proving
Automated theorem proving (also known as ATP or automated deduction) is a subfield of automated reasoning and mathematical logic dealing with proving mathematical theorems by computer programs. Automated reasoning over mathematical proof was ...
, resolution is a
rule of inference
In the philosophy of logic, a rule of inference, inference rule or transformation rule is a logical form consisting of a function which takes premises, analyzes their syntax, and returns a conclusion (or conclusions). For example, the rule of ...
leading to a
refutation complete theorem-proving technique for sentences in
propositional logic
Propositional calculus is a branch of logic. It is also called propositional logic, statement logic, sentential calculus, sentential logic, or sometimes zeroth-order logic. It deals with propositions (which can be true or false) and relations ...
and
first-order logic
First-order logic—also known as predicate logic, quantificational logic, and first-order predicate calculus—is a collection of formal systems used in mathematics, philosophy, linguistics, and computer science. First-order logic uses quanti ...
. For propositional logic, systematically applying the resolution rule acts as a
decision procedure for formula unsatisfiability, solving the (complement of the)
Boolean satisfiability problem. For
first-order logic
First-order logic—also known as predicate logic, quantificational logic, and first-order predicate calculus—is a collection of formal systems used in mathematics, philosophy, linguistics, and computer science. First-order logic uses quanti ...
, resolution can be used as the basis for a
semi-algorithm In computability theory and computational complexity theory, RE (Recursively enumerable set, recursively enumerable) is the complexity class, class of decision problems for which a 'yes' answer can be verified by a Turing machine in a finite amount ...
for the unsatisfiability problem of
first-order logic
First-order logic—also known as predicate logic, quantificational logic, and first-order predicate calculus—is a collection of formal systems used in mathematics, philosophy, linguistics, and computer science. First-order logic uses quanti ...
, providing a more practical method than one following from
Gödel's completeness theorem.
The resolution rule can be traced back to
Davis and
Putnam Putnam may refer to:
People
* Putnam (surname)
Places Canada
* Putnam, Ontario, community in Thames Centre
United States
* Putnam, Alabama
* Putnam, Connecticut, a New England town
** Putnam (CDP), Connecticut, the main village in the town
...
(1960); however, their
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
required trying all
ground instances of the given formula. This source of combinatorial explosion was eliminated in 1965 by
John Alan Robinson's syntactical
unification algorithm, which allowed one to instantiate the formula during the proof "on demand" just as far as needed to keep
refutation completeness.
The clause produced by a resolution rule is sometimes called a resolvent.
Resolution in propositional logic
Resolution rule
The resolution rule in propositional logic is a single valid inference rule that produces a new clause implied by two
clauses
In language, a clause is a constituent that comprises a semantic predicand (expressed or not) and a semantic predicate. A typical clause consists of a subject and a syntactic predicate, the latter typically a verb phrase composed of a verb ...
containing complementary literals. A
literal
Literal may refer to:
* Interpretation of legal concepts:
** Strict constructionism
** The plain meaning rule (a.k.a. "literal rule")
* Literal (mathematical logic), certain logical roles taken by propositions
* Literal (computer programmin ...
is a propositional variable or the negation of a propositional variable. Two literals are said to be complements if one is the negation of the other (in the following,
is taken to be the complement to
). The resulting clause contains all the literals that do not have complements.
Formally:
:
where
: all
,
, and
are literals,
: the dividing line stands for "
entails".
The above may also be written as:
:
Or schematically as:
:
We have the following terminology:
* The clauses
and
are the inference's premises
*
(the resolvent of the premises) is its conclusion.
* The literal
is the left resolved literal,
* The literal
is the right resolved literal,
*
is the resolved atom or pivot.
The clause produced by the resolution rule is called the ''resolvent'' of the two input clauses. It is the principle of ''
consensus'' applied to clauses rather than terms.
When the two clauses contain more than one pair of complementary literals, the resolution rule can be applied (independently) for each such pair; however, the result is always a
tautology.
Modus ponens can be seen as a special case of resolution (of a one-literal clause and a two-literal clause).
:
is equivalent to
:
A resolution technique
When coupled with a complete
search algorithm
In computer science, a search algorithm is an algorithm designed to solve a search problem. Search algorithms work to retrieve information stored within particular data structure, or calculated in the Feasible region, search space of a problem do ...
, the resolution rule yields a
sound
In physics, sound is a vibration that propagates as an acoustic wave, through a transmission medium such as a gas, liquid or solid.
In human physiology and psychology, sound is the ''reception'' of such waves and their ''perception'' by ...
and
complete algorithm for deciding the ''satisfiability'' of a propositional formula, and, by extension, the
validity
Validity or Valid may refer to:
Science/mathematics/statistics:
* Validity (logic), a property of a logical argument
* Scientific:
** Internal validity, the validity of causal inferences within scientific studies, usually based on experiments
...
of a sentence under a set of axioms.
This resolution technique uses
proof by contradiction and is based on the fact that any sentence in propositional logic can be transformed into an equivalent sentence in
conjunctive normal form.
[ "Before applying the inference method itself, we transform the formulas to quantifier-free conjunctive normal form."] The steps are as follows.
* All sentences in the knowledge base and the ''negation'' of the sentence to be proved (the ''conjecture'') are conjunctively connected.
* The resulting sentence is transformed into a conjunctive normal form with the conjuncts viewed as elements in a set, ''S'', of clauses.
**For example,
gives rise to the set
.
* The resolution rule is applied to all possible pairs of clauses that contain complementary literals. After each application of the resolution rule, the resulting sentence is simplified by removing repeated literals. If the clause contains complementary literals, it is discarded (as a tautology). If not, and if it is not yet present in the clause set ''S'', it is added to ''S'', and is considered for further resolution inferences.
* If after applying a resolution rule the ''empty clause'' is derived, the original formula is unsatisfiable (or ''contradictory''), and hence it can be concluded that the initial conjecture
follows from
Follows is a surname. Notable people with the surname include:
* Dave Follows (1941–2003), British cartoonist
* Denis Follows (1908–1983), British sports administrator
* Geoffrey Follows (1896–1983), British colonial administrator
* Megan Fo ...
the axioms.
* If, on the other hand, the empty clause cannot be derived, and the resolution rule cannot be applied to derive any more new clauses, the conjecture is not a theorem of the original knowledge base.
One instance of this algorithm is the original
Davis–Putnam algorithm that was later refined into the
DPLL algorithm that removed the need for explicit representation of the resolvents.
This description of the resolution technique uses a set ''S'' as the underlying
data-structure to represent resolution derivations.
Lists
A ''list'' is any set of items in a row. List or lists may also refer to:
People
* List (surname)
Organizations
* List College, an undergraduate division of the Jewish Theological Seminary of America
* SC Germania List, German rugby union ...
,
Trees and
Directed Acyclic Graphs are other possible and common alternatives. Tree representations are more faithful to the fact that the resolution rule is binary. Together with a sequent notation for clauses, a tree representation also makes it clear to see how the resolution rule is related to a special case of the
cut-rule, restricted to atomic cut-formulas. However, tree representations are not as compact as set or list representations, because they explicitly show redundant subderivations of clauses that are used more than once in the derivation of the empty clause. Graph representations can be as compact in the number of clauses as list representations and they also store structural information regarding which clauses were resolved to derive each resolvent.
A simple example
In plain language: Suppose
is false. In order for the premise
to be true,
must be true.
Alternatively, suppose
is true. In order for the premise
to be true,
must be true. Therefore, regardless of falsehood or veracity of
, if both premises hold, then the conclusion
is true.
Resolution in first-order logic
Resolution rule can be generalized to
first-order logic
First-order logic—also known as predicate logic, quantificational logic, and first-order predicate calculus—is a collection of formal systems used in mathematics, philosophy, linguistics, and computer science. First-order logic uses quanti ...
to:
:
where
is a
most general unifier of
and
, and
and
have no common variables.
Example
The clauses
and
can apply this rule with