fib(N,[F,F1,F2|L]) :- N > 1, N1 is N - 1, N2 is N - 2, fib(N1,[F1,F2|L]), fib(N2,[F2|L]), F is F1 + F2,!. fib(0,[0]) :- !. fib(1,[1,0]).