% P5:

reverse([],X,X).                                % C51
reverse([0|X],Y,Z) :- reverse(X,Y,Z).           % C52
reverse([s(W)|X],Y,Z) :- reverse(X,[s(W)|Y],Z). % C53

g0 :- reverse([0,s(0),s(s(0))|X],[],Z).
