
fact(0,1).

fact(X,Y) :-  W is (X - 1), fact(W,Z), Y is (X*Z).



Notare come, scrivendo la seconda clausola come

fact(X,Y) :-  W is (X - 1), Y is (X*Z), fact(W,Z).

l'interprete dia errore.
