nats(zero).
nats(s(N)) :- nats(N).

add(zero,N,N).
add(s(N),M,s(P)) :- add(N,M,P).

mult(zero,_,zero).
mult(s(N),M,P) :- mult(N,M,Q), add(Q,M,P).

fb(zero,zero).
fb(s(zero),s(zero)).
fb(s(s(N)),F) :- fb(N,F1), fb(s(N),F2), add(F1,F2,F).

