myappend([], Y, Y). myappend([H|X], Y, [H|Z]) :- myappend(X, Y, Z). myconcat([], []). myconcat([Xs|Xss], Ys) :- myappend(Xs, Zs, Ys), myconcat(Xss, Zs). /* try myappend(Xs, Ys, [1,2,3]). ; ; ; ; */