Prolog programming in depth - Covington, Michel A; Nute, Donald; Vellino, André (Prentice Hall, 1997)