An algebraic semantics of Prolog program termination - Ross, Brian J.; Smaill, Alan (1990)