Verifique se a frequência de algum elemento está acima de um limite

Quero resolver um problema que é: tenho uma lista de elementos do Prolog. Se alguma frequência do elemento for maior queN então false é return. Minha expectativa como abaix

?- frequency([1,2,2,2,5],3).
true.

?- frequency([1,2,2,2,2,5],3).
false.

Eu tenho um código para obter frequência de elemento específico. Alguma idéia para o problem

count(_, [], 0) :-
   !.
count(X, [X|T], N) :-
   count(X, T, N2),
   N is N2 + 1.
count(X, [Y|T], N) :-
   X \= Y,
   count(X, T, N).

questionAnswers(3)

yourAnswerToTheQuestion