Конечно, вы можете вычислить среднее из списка чисел, и предикат будет выглядеть так:
average(List, Result) :- length(List, Len), sum(List, Sum), Result is Sum / Len.
sum([], 0).
sum([H|T], Sum) :- sum(T, Temp), Sum is Temp + H.
Тогда вы получите:
?- average([1, 2, 3], X).
X = 2.