Propositional resolution can be generalised to be applicable to predicate logic as well, though there are a few extra steps involved. Refutations and resolution proofs are the same as they were in propositional logic, however, our standard resolution rule has a few modifications.
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:
- means is a parrot
- means is beautiful
- is a constant called Polly.
- Remember that is conventionally a universally quantifiable variable, (so we take )
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: