unifies two terms, where the occurs check will be taken in account.
'='/2 succeeds when Term1 and Term2 are unifiable
in such a way that they are identical and fails if they are not unifiable
The difference to =/2 is that the predicate fails, if
you try to create an inifite term.
|Succeeds with substitution X <- 1.
This predicate is part of the ISO-Prolog Standard.