Unification with STO detection
问题 In ISO Prolog unification is defined only for those cases that are NSTO (not subject to occurs-check). The idea behind is to cover those cases of unifications that are mostly used in programs and that are actually supported by all Prolog systems. More specifically, ISO/IEC 13211-1:1995 reads: 7.3.3 Subject to occurs-check (STO) and not subject to occurs-check (NSTO) A set of equations (or two terms) is "subject to occurs- check" (STO) iff there exists a way to proceed through the steps of the