私は Prolog でいくつかの単純な父/親/祖先関数を書きました。祖先以外はすべて正常に動作しています。このような ...
?- parent(abe,homer).
true.
?- parent(homer,bart).
true.
?- ancestor(abe,bart).
false.
祖先 (阿部、バート) が false を返すのはなぜですか? これが私の機能です…
%% returns true is X is an ancestor of Y, otherwise returns false
ancestor(X,Y) :-
parent(X,Z),
ancestor(Z,Y).