selectSort(X, Y) :- permutation(X, Y),
			  sorted(Y).
sorted([]).
sorted(H.[]).
sorted(F.S.T) :- lesseq(F, S),
		     sorted(S.T).

lesseq(F, S) :- F=S.
lesseq(F, S) :- F<S.

permutation([], []).
permutation(H.T, F.R) :- delete(F, H.T, Z),
				  permutation(Z, R).

delete(H, H.T, T).
delete(X, H.T, H.U):- delete(X, T, U).
