#show in/2. %in(X,Y) :- edge(X,Y), not out(X,Y). %out(X,Y) :- edge(X,Y), not in(X,Y). {in(X,Y)} :- edge(X,Y). :- in(X,Y), in(X,Z), Y!=Z. :- in(X,Z), in(Y,Z), X!=Y. reached(X) :- in(1,X). reached(Y) :- reached(X), in(X,Y). :- vtx(X), not reached(X).