Programming in Prolog - Clocksin, William F. (Springer, 2003)