The practice of prolog - Sterling, Leon S. (MIT Press, 1990)