Logic programming with prolog - Bramer, Max (Springer, 2013)