list_reversed(Xs, Ys) :-
	list_reversed(Xs, Ys, []).

list_reversed([], Ys, Ys).
list_reversed([X|Xs], Ys0, Ys) :-
	list_reversed(Xs, Ys0, [X|Ys]).
:- pe list_reversed([X1,X2|Xs], Ys).
@@	list_reversed([B,C|D], A) :-
@@		'list_reversed.1'(B, C, D, A).
@@
@@	% 'list_reversed.1'(A,B,C,D):-list_reversed([A,B|C],D)
@@	'list_reversed.1'(A, B, C, D) :-
@@		list_reversed2(C, D, B, A, []).
@@
@@	% list_reversed2(A,B,C,D,[]):-list_reversed(A,B,[C,D])
@@	list_reversed2([], [A,B|C], A, B, C).
@@	list_reversed2([E|F], A, B, C, D) :-
@@		list_reversed2(F, A, E, B, [C|D]).
-----         n599 ------------------------
Somehow the spezialized predicate list_reversed2/5 looks strange. Could it be that the information provided was not used to improve the program?
**NEXT:Add another element to the list and [DO].
[logprog|GUPU|UWN]