特定の人に関係するすべての人のリストを返す方法に頭を悩ませています。したがって、親戚(A、B)と言うと、Aは人であり、Bはその人に関連するすべての人のリストです。これを支援するために必要な追加のルールを書くことができます。これが私がこれまでに持っているものです。
man(joe).
man(tim).
man(milan).
man(matt).
man(eugene).
woman(mary).
woman(emily).
woman(lily).
woman(rosie).
woman(chris).
parent(milan, mary).
parent(tim, milan).
parent(mary, lily).
parent(mary, joe).
parent(mary, matt).
parent(chris, rosie).
parent(eugene, mary).
parent(eugene, chris).
cousins(A, B) :- parent(C, A), parent(D, B), parent(E, C), parent(E, D), not(parent(C, B)), not(parent(D, A)), A \=B.
paternalgrandfather(A, C) :- man(A), man(B), parent(B, C), parent(A, B).
sibling(A, B) :- parent(C, A), parent(C, B), A \= B.
誰かが私がこれをどのように行うかについて私を導くことができますか?ありがとう。