Term1 = Term2 unifies Term1 and Term2. No occurs
check is done, i.e. this predicate does not check if a variable is unified
with a compound term containing this variable (this can lead to an infinite
loop).
= is a predefined infix operator (section 7.14.10).
unify_with_occurs_check(Term1, Term2) unifies Term1 and
Term2. The occurs check test is done (i.e. the unification fails if
a variable is unified with a compound term containing this variable).