Clause and effect : prolog programming for the working programmer - Clocksin, W. F. 1955- (Springer, 1997)