Resolution Rule

In predicate logic, the resolution rule depends on unification of two formula.

Let and be unifiable atomic predicates having a unifier . Then, for any two disjunctive clauses, and we have the resolution rule:

It helps to rename any same variables in and to different ones.

For example, take:

We know that and are unifiable with

So we use the resolution rule:

resulting in a final clause (remember to apply the renaming!)

Resolution Requires Resolution Rule and Factoring

Sometimes a resolution rule is not sufficient to obtain a refutation, and requires factoring as well.

For example, take the two clauses:

we can easily apply a resolution rule to eliminate or , but not both! Because the rule specifies elimination of atomic predicates, we can only eliminate one predicate at a time.

So we could do, for example and use the resolution rule to obtain:

Now what? We only have a single clause. We need to factor the clause by using :

Formal Definition

Explanation

The extra steps for resolution come from substituting variables to terms, in order to ensure two different formulae are talking about the same objects.

For example, take the formulae:

Then if we ‘fix’ , (and this is possible because implicitly, we have something that applies for all values of ) we have:

Now, our predicates are essentially propositions,(because they are being done over a constant). What we have actually done is unification.

We can then use our resolution rule to evaluate it

This action of remapping is the keystone of resolution in predicate logic.

The main steps of resolution in predicate logic are: