% Append two lists
append([], L, L).
append([H|T], L, [H|R]) :- append(T, L, R).

% Length of a list
length([], 0).
length([_|T], N) :- length(T, N1), N is N1 + 1.

% Member check
member(X, [X|_]).
member(X, [_|T]) :- member(X, T).
