:- seqex([append/3]).

nrev([],[]).
nrev([F|R], L) :- nrev(R,R1) -> append(R1,[F],L).

append([], L1, L1).
append([F|R],L1, [F|L2]) :- append(R,L1,L2).

?- nrev([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],L).

