A skeleton for a functor f/n is a structure of the form
f(
,...,
) where each
is a distinct
variable. Similarly the skeleton of a term is the skeleton formed
from the principal functor of the term, so that skeletons from the
terms f(1,2) and f(A,B) are the same. A return
skeleton is a specific application of this notion to answer
returns. From it, one may discern the size of the template for a
given subgoal. Finally, we assume that a predicate specification for
a predicate p and arity n, represented as
PredSpec below, can be given either using the notation
p/n or as a skeleton, p(
,...,
).