#hide. #external hc(X,Y). #show hc(X,Y). %% input #show reached(X). %% output (can alternatively remain hidden) #domain node(X;Y). #options -d none. node(1..n). {hc(X,Y)}. %% for grounding initialnode(1). reached(Y) :- hc(X,Y), reached(X), not initialnode(X). reached(Y) :- hc(X,Y), initialnode(X). :- not reached(X).