プロローグで「友達の友達は私の友達」というルールを定義しようとしていますが、次のコードがあります。
friends(john,jake).
friends(mike,hans).
friends(hans,robert).
friends(robert,angela).
mutual_friendship(X,Y):-
friends(X,Y);
friends(Y,X).
friendship(X,Y):-
mutual_friendship(X,Y),!;
mutual_friendship(Y,Z), friendship(Z,X).
そして、それは非常にうまく機能し、ハンスとロバートを介してマイクとアンジェラの友情を検出することができます。問題は、たとえばジョンとアンジェラの間の友情を見つけようとするときです。無限ループ。