Prolog Versus You: An Introduction to Logic Programming