Comment ajouter des listes dans Prolog?

Comment puis-je ajouter des listes en Prolog? J'ai cherché sur Internet et j'ai trouvé ceci (à partir de http://www.csupomona.edu/~jrfisher/www/prolog_tutorial/2_7.html)

append([X|Y],Z,[X|W]) :- append(Y,Z,W).  
append([],X,X).

De sorte qu'il devient le Z en supprimant les éléments de [X|Y] dans [X|W]. Mais comment puis-je ajouter deux listes ensemble?

Exemple,

appendlist([1,2],[3,4,5],X).

Le résultat sera X = [1,2,3,4,5].

Aussi je ne sais pas ce qui se passe dans la récursivité. (J'ai tracé, mais n'en est pas à comprendre)

EDIT: Ce que je veux savoir, c'est comment il doit être codé de manière à fonctionner comme le prédéfinies append() en Prolog.

source d'informationauteur Zik