Trouver le max dans une liste - Prolog

J'étais juste présenté à Prolog et suis en train d'écrire un prédicat qui recherche la valeur maximale d'une liste d'entiers. J'ai besoin d'en écrire un qui compare depuis le début, et l'autre qui compare de la fin. Jusqu'à présent, j'ai:

max2([],R).
max2([X|Xs], R):- X > R, max2(Xs, X).
max2([X|Xs], R):- X <= R, max2(Xs, R).

Je me rends compte que R n'a pas été initié pourtant, il est donc impossible de faire la comparaison. Ai-je besoin d'3 arguments afin de compléter cette?

InformationsquelleAutor user2796815 | 2013-11-05