A procedure calculates permutaion of the list.
Source: Guide to Prolog Programming (on-line tutorial)
Program source code: permutation.pl
perm(List,[H|Perm]):-delete(H,List,Rest),perm(Rest,Perm). perm([],[]). delete(X,[X|T],T). delete(X,[H|T],[H|NT]):-delete(X,T,NT).