(非常に) 奇妙な話: 私は娘 (D) を持つ未亡人 (W) と結婚しました。私の父(F)は継娘(D)と結婚しました。私の妻は息子(s1)を出産しました。父の妻(継娘)にも息子(s2)がいました。
このプロジェクトの目標は、入力することです。
grandfather(i,i).
yes
プロローグに戻ります。
これが私がこれまでに持っているものです:
%facts
father(f,i).
husband(i,w).
husband(f,d).
mother(w,d).
mother(w,s1).
father(i,s1).
mother(d,s2).
father(f,s2).
%rules
father(X,Y) :- f_in_law(X,Y).
father(X,Y) :- husband(X,Z),mother(Z,Y).
f_in_law(X,Y) :- husband(Z,Y),father(X,Z).
b_in_law(X,Y) :- husband(Z,Y),brother(X,Z).
%brother(X,Y) :- b_in_law(X,Y).
uncle(X,Y) :- father(Z,Y),brother(X,Z).
grandfather(X,Y) :- father(Z,Y),father(X,Z).
私はそれをたどって、何が間違っていたのかを確認しました。father(f,i)
本当だからいい!しかしfather(i,f)
、間違っていると考えられています。これを修正する方法に関する提案/アイデアはありますか? 私はプロローグにかなり慣れていないので、どんな意見でも感謝します。