Advanced Prolog : techniques and examples - Ross, Peter. (Addison-Wesley, 1989)