Chere Rose,
Je vais tenter de t'expliquer (euh je te tutoie pour simplifier... désolé... tu peux en faire de même...) la solution même si expliquer du prolog sur un forum relève de l'exercice de styles sachant que je ne suis vraiment pas un spécialiste de ce langage...
donc voici le prédicat :
dernier(X, X).
dernier(X, [ _ | L ] ) :- dernier(X, L).
En fait, on fait de la récursivité, à chaque intération du couple X et LISTE on retire l'élément de tête. (seconde ligne)
Si on arrive au dernier élément la liste n'a plus qu'un élement, et si cet élément est identique à X, alors l'expression "match" la premiere ligne donc renverra TRUE .
Fais le moi savoir si tu comprends pas. Je peux essayer d'expliquer différement.
:)