
occurs.pl -- Finding and counting sub-terms
This is a SWI-Prolog implementation of the corresponding Quintus
library, based on the generalised arg/3 predicate of SWI-Prolog.
- See also
- - library(terms) provides similar predicates and is probably
more wide-spread than this library.
contains_term(+Sub, +Term) is semidet- Succeeds if Sub is contained in Term (=, deterministically)
contains_var(+Sub, +Term) is det- Succeeds if Sub is contained in Term (==, deterministically)
free_of_term(+Sub, +Term)- Succeeds of Sub does not unify to any subterm of Term
free_of_var(+Sub, +Term)- Succeeds of Sub is not equal (==) to any subterm of Term
occurrences_of_term(+SubTerm, +Term, ?Count)- Count the number of SubTerms in Term
occurrences_of_var(+SubTerm, +Term, ?Count)- Count the number of SubTerms in Term
sub_term(-Sub, +Term)- Generates (on backtracking) all subterms of Term.
sub_var(-Sub, +Term)- Generates (on backtracking) all subterms (==) of Term.