Next: mpg-ref-throw, Previous: mpg-ref-term_unify_decided, Up: mpg-bpr [Contents][Index]
term_variables/2
ISOterm_variables(+Term, -Variables)
since release 4.3
True if Variables is the list of variables occurring in Term,
without duplicates, in first occurrence order.
Any term, a cyclic term is also accepted.
The variables in the term. Must be a variable or a list.
type_error
Variables is not a variable or a list.
Please note: “first occurrence order” is not, in
general, well-defined for cyclic terms. This means that for two equal
cyclic terms the order of the list of variables returned by
term_variables/2
may differ. Sorting, e.g. with
sort/2
, can be used to obtain the ordered set of variables of a
term. The set of variables in a term will be the same for any pair of
equal terms, including cyclic terms.
| ?- term_variables(f(A, B, A), Vs). Vs = [A,B] ? yes | ?- term_variables(f(a, b, a), Vs). Vs = [] ? yes | ?- T=[A,B|T], term_variables(f(C,T), Vs). T = [A,B,A,B,A,B,A,B,A,B|...], Vs = [C,A,B] ? yes