add z N N. add (s A) B (s C) :- add A B C. nat z. nat (s N) :- nat N.