Describir: Techniques of Prolog Programming :