Eliminating unwanted loops in Prolog
Michael A. Covington · ACM SIGPLAN Notices · 1985
Modifications to Prolog are proposed that make it possible to express transitive and symmetrical relations and biconditionals. This is done by blocking recursion under circumstances that would lead to infinite loops.