2
likes(a,b).
likes(b,d).
likes(c,e).
likes(d,f).
likes(e,h).

likes_trans(X,Y) :- likes(X,Z),likes_trans(Z,Y).
likes_trans(X,Y) :- likes(X,Y).
listfriends(X,R) :- findall(Y,likes_trans(X,Y),R).
likes_both(X,Y,R) := listfriends(X,P), listfriends(Y,S), member(R,P), member(S,P).

最後の行'likes_both'でエラーが発生するのはなぜですか(ファイルのロード時)

節本体で終止符?再定義できません

どんな提案でも大歓迎です、私はここで基本的な何かが欠けていることを知っています。

4

1 に答える 1

4

最後の行を次のよう:=に置き換える必要があるようです:-

likes_both(X,Y,R) :- listfriends(X,P), listfriends(Y,S), member(R,P), member(S,P).
/*  Here ---------^^ */
于 2012-10-30T12:42:17.190 に答える