4 ms·
It seems that the missing piece here is that John does not know that Phone(Mary) = Phone(Bill), and thus he (or we) cannot draw the conclusion Knows(John, Phone
by warkdarrior 10y ago
It seems that the missing piece here is that John does not know that Phone(Mary) = Phone(Bill), and thus he (or we) cannot draw the conclusion Knows(John, Phone(Bill)). In order words, inference of items under Knows(.) must use only items under Knows(.) .
- lisper 10y ago> In order words, inference of items under Knows(.) must use only items under Knows(.) Yes, but it's trickier than that. For example, you want the knowledge scoped not only by the predicate Knows, but also by who knows it. From Knows(A, P->Q) and Knows(B, P) you do not want to be able to deduce Knows(A, Q) or Knows (B, Q) unless A=B. There are other issues. For example, suppose John and Mary have never met but John passes Mary on the street and hears her say, "My phone number is 555-1212." Now if you asked John, "Do you know Mary's phone number?" he would say no. But if you pointed to Mary and asked, "Do you know that person's phone number?" he would say yes. That is why it is useful to distinguish between Mary and "Mary". Exists(X): Knows(John, phone-of(Mary, X)) is true, but Knows(John, Name-of(Mary, "Mary")) is not.