Techniques of Prolog Programming Exercies