:- module(_, [append/3], [assertions, regtypes, nativeprops, rtchecks_shallow, predefres(res_steps)]). :- entry append/3 : lnum * lnum * var. :- pred append(A,B,C):(lnum(A),lnum(B),var(C)) => (lnum(A),lnum(B),lnum(C)). append([],L,L). append([A|R],S,[A|L]) :- append(R,S,L). :- regtype lnum/1. lnum([]). lnum([X|T]):- num(X), lnum(T).