%input :- [reachin1000]. % one way of reading input facts :- include(reachin1000). % 2nd way of reading input facts % Way 1 %reach(X) :- source(X). %reach(Y) :- reach(X), edge(X,Y). % Way 2 %reach(Y) :- reach(X), edge(X,Y). %reach(X) :- source(X). % Way 3 %reach(X) :- source(X). %reach(Y) :- edge(X,Y), reach(X). % Way 4 reach(Y) :- edge(X,Y), reach(X). reach(X) :- source(X). :- table reach/1. printReach :- reach(X), write(X), write(' '), fail. printReach. %timeReach :- cputime(X), input, printReach, cputime(Y), T is Y-X, write(T). %timeReach :- input, cputime(X), printReach, cputime(Y), T is Y-X, write(T). timeReach :- cputime(X), printReach, cputime(Y), T is Y-X, write(T). source(3).