An Introduction To Programming In Prolog by Patrick Saint Dizier