An introduction to logic programming through Prolog - Spivey, J. M. (Prentice Hall international series in computers science, 1996)