protocol
Prolog term utility predicates protocol.
Paulo Moura
1.31
2010/6/9
static
(no dependencies on other files)
True if the depth of Term is Depth. The depth of atomic terms is zero; the depth of a compound term is one plus the maximum depth of its sub-terms.
static
depth(Term,Depth)
depth(@term,?integer) – zero_or_one
True if the argument is ground.
static
ground(Term)
ground(@term) – zero_or_one
Creates a new term instance (if meaningful).
static
new(Term)
new(-nonvar) – zero_or_one
True if the variable occurs in the term.
static
occurs(Variable,Term)
occurs(@var,@term) – zero_or_one
The first term subsumes the second term.
static
subsumes(General,Specific)
subsumes(?term,@term) – zero_or_one
The first term is a subterm of the second term.
static
subterm(Subterm,Term)
subterm(?term,+term) – zero_or_more
Term is valid.
static
valid(Term)
valid(@nonvar) – zero_or_one
Checks if a term is valid. Throws an exception if the term is not valid.
static
check(Term)
check(@nonvar) – one
Each term is a variant of the other (i.e. they are structurally equivalent).
static
variant(Term1,Term2)
variant(@term,@term) – zero_or_one
Returns a list of all term variables (ordered as found when doing a depth-first, left-to-right traversal of Term).
static
variables(Term,List)
variables(@term,-list) – one
Returns a list of all term singleton variables (ordered as found when doing a depth-first, left-to-right traversal of Term).
static
singletons(Term,Singletons)
singletons(@term,-list) – one
(none)
(none)