Cyclic terms handling

Author(s): Daniel Cabeza, Remy Haemmerle.

This module implements predicates related to cyclic terms. Cyclic (or infinite) terms are produced when unifying a variable with a term which contains that variable.

Usage and interface

Documentation on exports

PREDICATE

Usage:ISOacyclic_term(T)

True if T is acyclic (finite).

    PREDICATE

    Usage:uncycle_term(T,U)

    Given a term T, U is a finite representation of T as an acyclic term. This representation can be converted back to T using recycle_term/2.

      PREDICATE

      Usage:recycle_term(U,T)

      Given U, a finite representation of a term as an acyclic term as uncycle_term/2 produces, T is the represented term. U is modified by the predicate, thus to maintain it untouched copy_term/2 should be used.

        PREDICATE

        Usage:cyclic_term(T)

        True if T is cyclic (infinite).

          PREDICATE

          Usage:cyclic_term(T)

          True if T is cyclic (infinite).

            PREDICATE

            Usage:cyclic_term(T)

            True if T is cyclic (infinite).