HOME

TheInfoList



OR:

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, \lnot c is taken to be the complement to c). The resulting clause contains all the literals that do not have complements. Formally: :\frac where : all a_i, b_i, and c are literals, : the dividing line stands for " entails". The above may also be written as: :\frac Or schematically as: : \frac, \ell, We have the following terminology: * The clauses \Gamma_1 \cup\left\ and \Gamma_2 \cup\left\ are the inference's premises * \Gamma_1 \cup \Gamma_2 (the resolvent of the premises) is its conclusion. * The literal \ell is the left resolved literal, * The literal \overline is the right resolved literal, * , \ell, 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). :\frac is equivalent to :\frac


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, (A_1 \lor A_2) \land (B_1 \lor B_2 \lor B_3) \land (C_1) gives rise to the set S=\. * 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

\frac In plain language: Suppose a is false. In order for the premise a \vee b to be true, b must be true. Alternatively, suppose a is true. In order for the premise \neg a \vee c to be true, c must be true. Therefore, regardless of falsehood or veracity of a, if both premises hold, then the conclusion b \vee c 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: : \frac \phi where \phi is a most general unifier of L_1 and \overline, and \Gamma_1 and \Gamma_2 have no common variables.


Example

The clauses P(x),Q(x) and \neg P(b) can apply this rule with /x/math> as unifier. Here x is a variable and b is a constant. : \frac /x Here we see that * The clauses P(x),Q(x) and \neg P(b) are the inference's premises * Q(b) (the resolvent of the premises) is its conclusion. * The literal P(x) is the left resolved literal, * The literal \neg P(b) is the right resolved literal, * P is the resolved atom or pivot. * /x/math> is the most general unifier of the resolved literals.


Informal explanation

In first-order logic, resolution condenses the traditional
syllogism A syllogism ( grc-gre, συλλογισμός, ''syllogismos'', 'conclusion, inference') is a kind of logical argument that applies deductive reasoning to arrive at a conclusion based on two propositions that are asserted or assumed to be true ...
s of logical inference down to a single rule. To understand how resolution works, consider the following example syllogism of
term logic In philosophy, term logic, also known as traditional logic, syllogistic logic or Aristotelian logic, is a loose name for an approach to formal logic that began with Aristotle and was developed further in ancient history mostly by his followers, t ...
: : All Greeks are Europeans. : Homer is a Greek. : Therefore, Homer is a European. Or, more generally: : \forall x. P(x) \Rightarrow Q(x) : P(a) : Therefore, Q(a) To recast the reasoning using the resolution technique, first the clauses must be converted to conjunctive normal form (CNF). In this form, all quantification becomes implicit: universal quantifiers on variables (''X'', ''Y'', ...) are simply omitted as understood, while existentially-quantified variables are replaced by Skolem functions. : \neg P(x) \vee Q(x) : P(a) : Therefore, Q(a) So the question is, how does the resolution technique derive the last clause from the first two? The rule is simple: * Find two clauses containing the same predicate, where it is negated in one clause but not in the other. * Perform a unification on the two predicates. (If the unification fails, you made a bad choice of predicates. Go back to the previous step and try again.) * If any unbound variables which were bound in the unified predicates also occur in other predicates in the two clauses, replace them with their bound values (terms) there as well. * Discard the unified predicates, and combine the remaining ones from the two clauses into a new clause, also joined by the "∨" operator. To apply this rule to the above example, we find the predicate ''P'' occurs in negated form : ¬''P''(''X'') in the first clause, and in non-negated form : ''P''(''a'') in the second clause. ''X'' is an unbound variable, while ''a'' is a bound value (term). Unifying the two produces the substitution : ''X'' ''a'' Discarding the unified predicates, and applying this substitution to the remaining predicates (just ''Q''(''X''), in this case), produces the conclusion: : ''Q''(''a'') For another example, consider the syllogistic form : All Cretans are islanders. : All islanders are liars. : Therefore all Cretans are liars. Or more generally, : ∀''X'' ''P''(''X'') → ''Q''(''X'') : ∀''X'' ''Q''(''X'') → ''R''(''X'') : Therefore, ∀''X'' ''P''(''X'') → ''R''(''X'') In CNF, the antecedents become: : ¬''P''(''X'') ∨ ''Q''(''X'') : ¬''Q''(''Y'') ∨ ''R''(''Y'') (Note that the variable in the second clause was renamed to make it clear that variables in different clauses are distinct.) Now, unifying ''Q''(''X'') in the first clause with ¬''Q''(''Y'') in the second clause means that ''X'' and ''Y'' become the same variable anyway. Substituting this into the remaining clauses and combining them gives the conclusion: : ¬''P''(''X'') ∨ ''R''(''X'')


Factoring

The resolution rule, as defined by Robinson, also incorporated factoring, which unifies two literals in the same clause, before or during the application of resolution as defined above. The resulting inference rule is refutation-complete, in that a set of clauses is unsatisfiable if and only if there exists a derivation of the empty clause using only resolution, enhanced by factoring. An example for an unsatisfiable clause set for which factoring is needed to derive the empty clause is: :\begin (1): & P(u) & \lor & P(f(u)) \\ (2): & \lnot P(v) & \lor & P(f(w)) \\ (3): & \lnot P(x) & \lor & \lnot P(f(x)) \\ \end Since each clause consists of two literals, so does each possible resolvent. Therefore, by resolution without factoring, the empty clause can never be obtained. Using factoring, it can be obtained e.g. as follows: :\begin (4): & P(u) \lor P(f(w)) & \text v=f(u) \\ (5): & P(f(w)) & \text u=f(w) \\ (6): & \lnot P(f(f(w'))) & \text w=w', x=f(w') \\ (7): & \text & \text w=f(w') \\ \end


Non-clausal resolution

Generalizations of the above resolution rule have been devised that do not require the originating formulas to be in clausal normal form. (Cited from Manna, Waldinger, 1980 as: "A Proof Procedure for Non-Clausal First-Order Logic", 1978)Summary
/ref> These techniques are useful mainly in interactive theorem proving where it is important to preserve human readability of intermediate result formulas. Besides, they avoid combinatorial explosion during transformation to clause-form, and sometimes save resolution steps.


Non-clausal resolution in propositional logic

For propositional logic, Murray and Manna and Waldinger use the rule :\begin F \;\;\;\;\;\;\;\;\;\; G \\ \hline F textit\lor G textit\\ \end, where p denotes an arbitrary formula, F /math> denotes a formula containing p as a subformula, and F textit/math> is built by replacing in F /math> every occurrence of p by \textit; likewise for G. The resolvent F textit\lor G textit/math> is intended to be simplified using rules like q \land \textit \implies q, etc. In order to prevent generating useless trivial resolvents, the rule shall be applied only when p has at least one "negative" and "positive" occurrence in F and G, respectively. Murray has shown that this rule is complete if augmented by appropriate logical transformation rules. Traugott uses the rule :\begin F
^+,p^- Caret is the name used familiarly for the character , provided on most QWERTY keyboards by typing . The symbol has a variety of uses in programming and mathematics. The name "caret" arose from its visual similarity to the original proofreade ...
\;\;\;\;\;\;\;\; G \\ \hline F [\textit\lnot G[\textit">[\textit.html" ;"title="[\textit">[\textit\lnot G[\textit \\ \end, where the exponents of p indicate the polarity of its occurrences. While G textit/math> and G textit/math> are built as before, the formula F [\textit\lnot G[\textit">[\textit.html" ;"title="[\textit">[\textit\lnot G[\textit is obtained by replacing each positive and each negative occurrence of p in F with G textit/math> and G textit/math>, respectively. Similar to Murray's approach, appropriate simplifying transformations are to be applied to the resolvent. Traugott proved his rule to be complete, provided \land, \lor, \rightarrow, \lnot are the only connectives used in formulas. Traugott's resolvent is stronger than Murray's. Moreover, it does not introduce new binary junctors, thus avoiding a tendency towards clausal form in repeated resolution. However, formulas may grow longer when a small p is replaced multiple times with a larger G textit/math> and/or G textit/math>.


Propositional non-clausal resolution example

As an example, starting from the user-given assumptions :\begin (1): & a & \rightarrow & b \land c \\ (2): & c & \rightarrow & d \\ (3): & b \land d &\rightarrow & e \\ (4): & \lnot (a & \rightarrow & e) \\ \end the Murray rule can be used as follows to infer a contradiction: :\begin (5): & (\textit \rightarrow d) & \lor & (a \rightarrow b \land \textit) & \implies & d \lor \lnot a & \mbox p=c \\ (6): & (b \land \textit \rightarrow e) & \lor & (\textit \lor \lnot a) & \implies & (b \rightarrow e) \lor \lnot a & \mbox p=d \\ (7): & ((\textit \rightarrow e) \lor \lnot a) & \lor & (a \rightarrow \textit \land c) & \implies & e \lor \lnot a \lor \lnot a & \mbox p=b \\ (8): & (e \lor \lnot \textit \lor \lnot \textit) & \lor & \lnot (\textit \rightarrow e) & \implies & e & \mbox p=a \\ (9): & \lnot (a \rightarrow \textit) & \lor & \textit & \implies & \textit & \mbox p=e \\ \end For the same purpose, the Traugott rule can be used as follows : :\begin (10): & a \rightarrow b \land (\textit \rightarrow d) & \implies & a \rightarrow b \land d & \mbox p=c \\ (11): & a \rightarrow (\textit \rightarrow e) & \implies & a \rightarrow e & \mbox p=(b \land d) \\ (12): & \lnot \textit & \implies & \textit & \mbox p=(a \rightarrow e) \\ \end From a comparison of both deductions, the following issues can be seen: * Traugott's rule may yield a sharper resolvent: compare (5) and (10), which both resolve (1) and (2) on p=c. * Murray's rule introduced 3 new disjunction symbols: in (5), (6), and (7), while Traugott's rule didn't introduce any new symbol; in this sense, Traugott's intermediate formulas resemble the user's style more closely than Murray's. * Due to the latter issue, Traugott's rule can take advantage of the implication in assumption (4), using as p the non-atomic formula a \rightarrow e in step (12). Using Murray's rules, the semantically equivalent formula e \lor \lnot a \lor \lnot a was obtained as (7), however, it could not be used as p due to its syntactic form.


Non-clausal resolution in first-order logic

For first-order predicate logic, Murray's rule is generalized to allow distinct, but unifiable, subformulas p_1 and p_2 of F and G, respectively. If \phi is the most general unifier of p_1 and p_2, then the generalized resolvent is F\phi textit\lor G\phi textit/math>. While the rule remains sound if a more special substitution \phi is used, no such rule applications are needed to achieve completeness. Traugott's rule is generalized to allow several pairwise distinct subformulas p_1, \ldots, p_m of F and p_, \ldots, p_n of G, as long as p_1, \ldots, p_n have a common most general unifier, say \phi. The generalized resolvent is obtained after applying \phi to the parent formulas, thus making the propositional version applicable. Traugott's completeness proof relies on the assumption that this fully general rule is used; it is not clear whether his rule would remain complete if restricted to p_1 = \cdots = p_m and p_ = \cdots = p_n.Here, "=" denotes Term (logic)#Structural equality">syntactical term equality modulo renaming


Paramodulation

Paramodulation is a related technique for reasoning on sets of clauses where the predicate symbol is equality. It generates all "equal" versions of clauses, except reflexive identities. The paramodulation operation takes a positive ''from'' clause, which must contain an equality literal. It then searches an ''into'' clause with a subterm that unifies with one side of the equality. The subterm is then replaced by the other side of the equality. The general aim of paramodulation is to reduce the system to atoms, reducing the size of the terms when substituting.


Implementations

* CARINE *
GKC GKC may refer to: * Greater Kansas City, a metropolitan area at the Missouri/Kansas Border in the United States of America * G. K. Chesterton (1874–1936), English writer * Gesenius–Kautsch–Cowley, a Hebrew lexicon * Gorakhpur Cantonment railw ...
* Otter * Prover9 * SNARK * SPASS * Vampire
Logictools
online prover


See also

*
Condensed detachment Condensed detachment (Rule D) is a method of finding the most general possible conclusion given two formal logical statements. It was developed by the Irish logician Carew Meredith in the 1950s and inspired by the work of Łukasiewicz. Informal d ...
 — an earlier version of resolution * Inductive logic programming *
Inverse resolution Inverse resolution is an inductive reasoning Inductive reasoning is a method of reasoning in which a general principle is derived from a body of observations. It consists of making broad generalizations based on specific observations. Inductive ...
* Logic programming * Method of analytic tableaux * SLD resolution *
Resolution inference In mathematical logic and automated theorem proving, resolution is a rule of inference leading to a refutation complete theorem-proving technique for sentences in propositional logic and first-order logic. For propositional logic, systematical ...


Notes


References

* * * *


External links

* * {{MathWorld , urlname=Resolution , title=Resolution , author=Alex Sakharov 1965 introductions Automated theorem proving Propositional calculus Proof theory Rules of inference Theorems in propositional logic