`dif/2`

`dif(`

`+X`,`+Y`)

Constrains `X` and `Y` to represent different terms i.e.
to be non-unifiable.

`X`*term*`Y`*term*

Calls to `dif/2`

either succeed, fail, or are blocked depending
on whether `X` and `Y` are sufficiently instantiated. It is
defined as if by:

dif(X, Y) :- when(?=(X,Y), X\==Y).

None.

Send feedback on this subject.