% Factorial in prolog f(1,1). f(N,_):-N=<0,fail. f(N,F):-N>1, write(N), write('! = ?'), nl, N1 is N-1, write(' N1='), write(N1), nl, f(N1,F1), write(' F is '), write(F1), write(' * '), write(N), nl, F is F1 * N, write(N),write('! = '), write(F), nl.