Micro-PROLOG : Programming in logic. - Clark, K. L.