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

Usage:ISOacyclic_term(T)

True if T is acyclic (finite).

    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.

      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.

        PREDICATEcyclic_term/1

        Usage:cyclic_term(T)

        True if T is cyclic (infinite).

          PREDICATEcyclic_term/1

          Usage:cyclic_term(T)

          True if T is cyclic (infinite).

            PREDICATEcyclic_term/1

            Usage:cyclic_term(T)

            True if T is cyclic (infinite).

              Documentation on imports

              This module has the following direct dependencies: