File "cyclic"

While the Dogelog Player Prolog system can meanwhile deal with cyclic terms in its binary predicates such as (=)/2, (==)/2, etc.. and in its unary predicates such as copy_term/2, term_variables/2, etc.. it appears nevertheless necessary to have additional predicates such as acyclic_term/1 and acyclic_factorized/2 to detect respectively produce acyclic terms.

The following cyclic term predicates are provided:

unify_with_occurs_check(S, T): [ISO 8.2.2]
The built-in succeeds when the Prolog terms S and T unify with occurs check, otherwise the built-in fails.
occurs_check(S, T): [ISO 7.3.3]
The built-in succeeds when the Prolog variable S occurs in the Prolog term T, otherwise the built-in fails.
acyclic_term(T): [TC2 8.3.11]
The predicate succeeds when the Prolog term T is an acyclic term, otherwise the built-in fails.
acyclic_decompose(L, R):
The built-in succeeds in R with skeleton and substitution list cells so that the substitions applied to the skeletons gives identical the elements of the Prolog list L.

Use Privacy (c) 2005-2026 XLOG Technologies AG