| |||||||||
In mathematical logic and automated theorem proving, first-order resolution is a theorem-proving technique. It condenses the traditional syllogisms of logical inference down to a single rule.
To understand how resolution works, consider the following example syllogism of term logic:
Or, more generally:
To recast the reasoning using the resolution technique, first the clauses must be converted to Conjunctive normal form. 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.
So the question is, how does the resolution technique derive the last clause from the first two? The rule is simple:
To apply this rule to the above example, we find the predicate P occurs in negated form
in the first clause, and in non-negated form
in the second clause. X is an unbound variable, while A is a bound value (atom). Unifying the two produces the substitution
Discarding the unified predicates, and applying this substitution to the remaining predicates (just Q(X), in this case), produces the conclusion:
For another example, consider the syllogistic form
Or more generally,
In CNF, the antecedents become:
(Note I renamed the variable in the second clause 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:
The resolution rule (with additional factoring) similarly subsumes all the other syllogistic forms of traditional logic.