This module provides basic term manipulation.
X and Y unify.
Usage:ISOX\=Y
X and Y are not unifiable.
Usage 1:arg(ArgNo,Term,Arg)
Usage 2:arg(ArgNo,Term,Arg)
Usage 3:ISOarg(ArgNo,Term,Arg)
Argument ArgNo of the term Term is Arg.
Usage 4:arg(ArgNo,Term,Arg)
Usage 1:ISOfunctor(Term,Name,Arity)
Usage 2:ISOfunctor(Term,Name,Arity)
The principal functor of the term Term has name Name and arity Arity.
Usage 3:functor(Term,Name,Arity)
Usage:ISOTerm=..List
The functor and arguments of the term Term comprise the list List.
Usage:ISOcopy_term(Term,Copy)
Copy is a renaming of Term, such that brand new variables have been substituted for all variables in Term. If any of the variables of Term have attributes, the copied variables will have copies of the attributes as well. It behaves as if defined by:
:- data 'copy of'/1. copy_term(X, Y) :- asserta_fact('copy of'(X)), retract_fact('copy of'(Y)).
Usage:copy_term_nat(Term,Copy)
Same as copy_term/2, except that attributes of variables are not copied.
Usage 1:C(S1,Terminal,S2)
Usage 2:C(S1,Terminal,S2)
S1 is connected by the terminal Terminal to S2. Internally used in DCG grammar rules. Defined as if by the single clause: 'C'([X|S], X, S).
list_functor([A|B]) :- term(A), term(B).
Usage:non_empty_list(A)
A list that is not the empty list [].
Usage:cyclic_term(T)
True if T is cyclic (infinite).