% -*-Prolog-*- ==> fact(0,1). ==> fact(1,1). ==> fact(2,2). fact(N,M) <- {N>0,N1 is N-1}, fact(N1,M1), {M is N*M1}. ==> fib(1,1). ==> fib(2,1). fib(N,M) <- {N>2,N1 is N-1,N2 is N-2}, fib(N1,M1), fib(N2,M2), {M is M1+M2}.