reverse([], []). reverse([H|T], L) :- reverse(T, L2), append(L2,H,L).