Programming in Prolog Using the ISO Standard writer William Clocksin Christopher S. Mellish translator Abdolreza Mirzaei Elahe Rashedi