Prolog
l Appending two lists to produce a third:
     append([],Y,Y).
     append([X|L],Y,[X|Z]) :- append(L,Y,Z).
l query:      append(A,B,[1,2]) ?
l answers:    A=[]    B=[1,2]
            A=[1]   B=[2]
            A=[1,2] B=[]