%% Copy rules and delete rules % Schema %------- database({g(X:string, Y:string, C:integer)}). %Derivated predicates and rules %------------------------------ solved(0, 'a'). % nodes solved so far prim(I+1, aleast<(X, Y, C)>) <- solved(I, X), g(X, Y, C), ~solved(I,Y). solved(I, Y) <- prim(I, (X, Y, C)). solved(I+1, X) <- solved(I, X). single(aleast,(X,Y,C), (X,Y,C)). multi(aleast,(X1,Y1,C1),(X2,Y2,C2),(X2,Y2,C2)) <- C2 < C1. multi(aleast,(X1,Y1,C1),(X2,Y2,C2),(X1,Y1,C1)) <- C2 >= C1. export prim(I, X).