1solve(until(X,Y)) :- true. 2 3range(X,V1,V2) :- between(V1,V2,X).%, write(X),nl. 4 5safeNot(C) :- when(ground(C),\+call(C)). 6 7not_(G) :- %functor(G,Name,N), 8 G =.. L, 9 functor(G,Name,N), 10 functor(G1,Name,N), 11 L=[_,X|T], 12 L1=[Y|T], 13 write(L),nl, 14 write(L1),nl, 15 dif(X,Y), 16 apply(Name,L1). 17 %_n is N+1, 18 %select(X,L,_n,L2), 19 writeln([L2,X]). 20 %arg(N,G,X),writeln(X). 21 %G =.. L, functor(G,_,N),_n is N+1, 22 %reverse(L,L1), L1=[_,X|_], writeln([L,X]), dif(X). %functor(G,L).