% factorial(X,R?) iff R is X!
factorial(0,1).
factorial(X,R) :- X>0, XX is X-1, factorial(XX, RR), R is RR*X.