% Source: http://www.cs.bgu.ac.il/cgi-bin/genaim/TerminWeb/term_check?example=permutation2

permute([],[]).
permute([X|Y],[U|V]) :- delete(U,[X|Y],W),permute(W,V).

delete(X,[X|Y],Y).
delete(U,[X|Y],[X|Z]) :- delete(U,Y,Z).
