acote(X,Y,L) :- append(_,[X,Y|_],L). prefixe(L,L1) :- append(L,_,L1). suffixe(L,L1) :- append(_,L,L1). dernier(L,D) :- append(_,[D],L). troiscopies(L,L3) :- append(L2,L,L3),append(L,L,L2). estdans(X,L) :- append(_,[X|_],L). oter0(X,L,L1) :- append(Xs0,[X|Xs1],L),append(Xs0,Xs1,L1). oter(X,[X|Xs],Xs). oter(X,[Y|Ys],[Y|Zs]) :- oter(X,Ys,Zs). perm([],[]). perm([X|Xs],Ys):-perm(Xs,Ys1),oter(X,Ys,Ys1).