I want to count the number of times a custom predicate is true.
For example, I have the following code:

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

```

`X` will return `john`, then if I press semicolon it will also return `alex`, then `false`.

I want to build something like:

```
count(is_man(X), Count).

```

And this to return

```
Count = 2

```

How can I do that?