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?

  • $\begingroup$ All the resolution tutorials I have found only resolve one predicate at a time, and I don't know how to handle the above. $\endgroup$ – 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".

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.