Take the 2-minute tour ×
Computer Science Stack Exchange is a question and answer site for students, researchers and practitioners of computer science. It's 100% free, no registration required.

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?

share|improve this question

migrated from cstheory.stackexchange.com Nov 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

1 Answer 1

up vote 0 down vote accepted

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".

share|improve this answer
    
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

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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