Advanced prolog techniques and examples - Ross, Peter (Addison-Wesley, 1989)