/*  path(X,Y,Path) :-
		Path is a path between two nodes X and Y in the
		DAG defined by the relation edge/2
*/
     path(X,X,[X]).
     path(X,Y,[X|P]) :- edge(X,N), path(N,Y,P).

%	Program 14.9: Finding a path by depth-first search
