==/2
Module: builtins
==/2
— terms are identical
\==/2
— terms are not identical
FORMS
Term1 == Term2
Term1 \== Term2
DESCRIPTION
Term1
is identical to Term2
(Term1 == Term2
) if they can be unified, and variables occupying equivalent positions in both terms are identical. For atoms and variables, this is an absolute identity check. Viewing Prolog terms as trees in memory, ==/2
determines whether Term1
and Term2
are isomorphic trees whose leaves are identical. Unlike =/2
, no variables are bound inside a call to ==/2
. \==/2
fails when ==/2
succeeds, and conversely.
EXAMPLES
?- bar \== foo.
yes.
?- f(b)==f(b).
yes.
?- X==Y.
no.
?- f(X)\==f(X).
no.
?- [a,b,c]\==[a,b,c].
no.