Availability:built-in
[det]size_abstract_term(+Size,
+Term, -Abstract)The size of a term is defined as the number of compound subterms (function
symbols) that appear in term. Abstract is an abstract
copy of Term where each argument is abstracted by copying
only the first Size function symbols and constants. Excess
function symbols are replaced by fresh variables.
This predicate is a helper for tabling where Term is the
ret/N
answer skeleton that is added to the
answer table. Examples:
Size | Term | Abstract |
0 | ret(f(x), a) | ret(_,
a) |
1 | ret(f(x), a) | ret(f(x), a) |
1 | ret(f(A), a) | ret(f(A), a) |
1 | ret(f(x), x(y(Z))) | ret(f(x),
x(_)) |