member(X,[X|_]). member(X,[_|T]):-member(X,T). append([],L,L). append([X|L1],L2,[X|L3]):-append(L1,L2,L3). delete(X,[X|Y],Y). delete(X,[Y|W],[Y|Z]):-delete(X,W,Z). prefix(P,L):-append(P,_,L). suffix(S,L):-append(_,S,L).