%% Recursion and Transitive closure % Schema %------- database({parent(any, any)}). %Derivated predicates and rules %------------------------------ ancestor(X, Y) <- parent(X, Y). ancestor(X, Y) <- parent(X, Z), ancestor(Z, Y). export ancestor(X, Y).