An introduction to logic programming through Prolog - Spivey, J. Michael (Prentice Hall, 1996)