fix bug in dif/2 implementation

This commit is contained in:
Mark Thom
2019-02-14 01:19:11 -07:00
parent 2af6a00ff2
commit 8958a563de

View File

@@ -35,9 +35,10 @@ verify_attributes(Var, Value, Goals) :-
% Probably the world's worst dif/2 implementation. I'm open to
% suggestions for improvement.
dif(X, Y) :- ( X \= Y -> true
dif(X, Y) :- X \== Y,
( X \= Y -> true
; term_variables(X, XVars), term_variables(Y, YVars),
( XVars == [], YVars == [] -> true
( XVars == [], YVars == [] -> false
; dif_set_variables(XVars, X, Y),
dif_set_variables(YVars, X, Y)
)