(defun append(list1 list2) (cond ((null list1) list3) ((null list2) list1) (t (cons (car list1) (append (cdr list1) list2))))) append([], X, X). append(X, {}, X). append([X1 | X2], Y, [X1 | Z]) :- append(X2, Y, Z).