# Resolution and incomplete Knowledge Base

Assume I have an incomplete knowledge base, for example:

(rich(dave), poor(dave))  // dave is either poor or rich

(not rich(dave), not poor(dave))  // dave is not poor and rich at the same time.


My questions are: 1. If I do resolution on the above clauses, will I get the empty clause? and 2. If Yes, Does that mean my knowledge base is inconsistent?

-

## migrated from cstheory.stackexchange.comNov 5 '12 at 16:45

This question came from our site for theoretical computer scientists and researchers in related fields.

All the resolution tutorials I have found only resolve one predicate at a time, and I don't know how to handle the above. – Aida T. Nov 5 '12 at 2:27

The theory is not inconsistent and trivially admits two different models :

• a first one in which dave is rich but not poor;
• a second one in which dave is poor but not rich.

You're maybe confusing the "empty clause" which contains no literal, thus being always false, with the "true clause" which contains both a literal and its negation, thus being always true. Applying resolution leads to the "true clause" resolvent, not the "empty clause".

-
Thank you. Does this mean in resolution, ALWAYS one predicate is resolved in each step, right? – Aida T. Nov 17 '12 at 17:47
Understanding "resolved" as "deleted" : yes. en.wikipedia.org/wiki/… – Romuald Nov 18 '12 at 19:20