number(zero). number(X) :- X = next(Y), number(Y). less(0, X):-X\=0. less(X, next(X)). less(X, Z) :- Z = next(Y), less(X, Y). less(next(X),X):-fail.