没有兄弟姐妹的叔叔或阿姨

  • 本文关键字:兄弟姐妹 prolog
  • 更新时间 :
  • 英文 :


我在想,如果不使用sibling事实作为prolog,我怎么能在家谱中调用侄子或侄女呢?我想不出直接给他叔叔打电话的办法。

例如:

parent(elli, lisa).
parent(kelly, lisa).
parent(ben, claire).
parent(lisa, claire).
grandparent(X, Y) :- parent(X, Z), parent(Z, Y).

由于ellie或kelly是ben的侄女,我有这样的规则,当grandparent(X, claire).调用时,将把elli和kelly作为claire的孙子。我要如何制定规则才能调用niece(ben, X).,这样它就会列出本的所有侄女。我想不出只有父母事实的方法,唯一的方法就是包括兄弟事实但有没有办法不包含兄弟事实呢?

我是一个新手,差不多一个星期前,所以如果我不太理解,请原谅。

brother(X, Y) :- male(X), parent(X, Z), parent(Y, Z), X = Y.
uncle(X, Y) :- brother(X, Z), parent(Y, Z).

最新更新