Programming In Prolog by William F Clocksin