bird(sparrow) si puo' dimostrare utilizzando un numero arbitrario di
     volte l'ultima regola.

   animal(lion).
   animal(sparrow) :- !.
   animal(X) :- bird(X).
   has_feathers(sparrow).
   bird(eagle).

   bird(X) :-
     animal(X),
     has_feathers(X).

oppure, meglio.

   animal(lion).
   animal(sparrow).
   animal(X) :- bird(X),!.
   has_feathers(sparrow).
   bird(eagle).

   bird(X) :-
     animal(X),
     has_feathers(X).

