insert(X,[],[X]). insert(X,[H|T],[X,H|T]) :- X < H. insert(X,[H|T],[H|L]) :- X >= H, insert(X,T,L). isort([],[]). isort([H|T],X) :- isort(T,Y), insert(H,Y,X).