recursion Prolog presentation modified