Recursive definition of sum of two numbers in terms of the successor function This is a question from the book Data structures using C and C++ by Tenenbaum. Not a homework problem but self-study.


  Recursive definition of a+b, where a and b are non-negative integers, in terms of successor function succ defined as
  
  succ(int x)
      {
          return(x++);
      }


I have been thinking how is it possible? Can I change the function? I am not sure from the problem definition in the book. So how can this be done?
Here is a hint:


  a + 3 = succ(succ(succ(a)))


Also, by definition, every natural number is either 0 or the successor of some (smaller) natural number.