SWAPP
Demo
append([], Xs, Xs). append([X|Xs], Ys, [X|Zs]) :- append(Xs, Ys, Zs). reverse([], []). reverse([X|Xs], Ys) :- reverse(Xs, Ys1), append(Ys1, [X], Ys).
Goal:
Solution