:- use_module(library(dif)).(can be autoloaded)
This predicate behaves as if defined by
dif(X, Y) :- when(?=(X,Y), X \== Y). See also ?=/2.
The implementation can deal with cyclic terms.
predicate is realised using attributed variables associated with the
dif. It is an autoloaded predicate that is defined
in the library