Prolog で、例えば eq という同値関係を記述するのに
eq(X, X).
eq(X, Y) :-
 eq(Y, X).
eq(X, Z) :-
 eq(X, Y),
 eq(Y, Z).
としたのですが、この関係を満たさない質問を Prolog に与えると無限ループに陥ります。
例えば
?- eq(a,a).
yes
ですが
?- eq(a,b).
(無限ループ)
となってしまいます。