The art of prolog : advanced programming techniques - Sterling, Leon (MIT press series in logic programming, 1986)