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