Logic programming and prolog - Nilsson, Ulf (Wiley, 1997)