Prolog cuenta el número de veces que un predicado es verdadero

Quiero contar la cantidad de veces que un predicado personalizado es verdadero. Por ejemplo, tengo el siguiente código:

is_man(john).
is_man(alex).
?:-is_man(X).

X devolverá a john, luego, si presiono punto y coma, también devolverá alex, luego falso.

Quiero construir algo como:

count(is_man(X), Count).

Y esto para devolver

Count = 2

¿Cómo puedo hacer eso

Respuestas a la pregunta(3)

Su respuesta a la pregunta