Previous Contents Next
6.2 Term unification

6.2.1 (=)/2 - Prolog unification

Templates

=(?term, ?term)
Description

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 6.14.10).

Errors

None.

Portability

ISO predicate.

6.2.2 unify_with_occurs_check/2

Templates

unify_with_occurs_check(?term, ?term)
Description

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).

Errors

None.

Portability

ISO predicate.

6.2.3 (\=)/2 - not Prolog unifiable

Templates

\=(?term, ?term)
Description

Term1 \= Term2 succeeds if Term1 and Term2 are not unifiable (no occurs check is done).

\= is a predefined infix operator (section 6.14.10).

Errors

None.

Portability

ISO predicate.


Copyright (C) 1999,2000 Daniel Diaz

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

More about the copyright
Previous Contents Next