Terms.md @master — view markup · raw · history · blame
Operations on Terms
is_atom(t)
True iff t is an atom (is not a variable and has no subterms), false otherwise.
is_ground(t)
True iff t contains no variables, false otherwise.
replace(t, old, new)
Returns a new term which is like t except every subterm of t which equals old has been replaced with new.
match(pattern, t, unifier)
Attempts to match t to the given pattern. Where there is a variable in the pattern, that part of t is assigned to the variable in the unifier, unless it is already bound to something different in the unifier.
subst(t, unifier)
Returns a new term which is like t except all the variables in t have been replaced with the terms those variables are associated with in the unifier.
resolve_substs(t, unifier)
Returns a new term which is like t but contains no embedded Substitutors; instead, each of those Substitutors is applied to the term it contains, with the given unifier, and that result replaces the Substitutor.
collect_atoms(t, set)
Adds all atoms in t to the given set.