% -*- Prolog -*-

% $Id: 080,v 1.1 2000/07/14 03:13:04 peteg Exp $

% append/3 - concat two lists in order
append([], X, X).
append([X|Xs], Y, [X|Zs]) :-
	append(Xs, Y, Zs).

% nrev/2 - naive reverse
nrev([],[]).
nrev([X|Xs],Zs) :-
	nrev(Xs,Ys),
	append(Ys,[X],Zs).

% nrev 30 has 496 logical inferences
main :-
	nrev([1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0], X),
	write(X), nl, fail.
