Programming in Prolog - Clocksin, W. F.; Mellish, C. S.