>>11435591>nothing wrong with recursive definitionsRecursion only works if you have a base case.
e.g. If you defined an operator "addition" with:
A) addition(x,0) = x
B) addition(x,S(y)) = S(addition(x,y))
Where S is the successor function that returns the smallest integer greater than its integer input (e.g. S(4) = 5)
Then that works fine since:
1. addition(7,3)
2. = S(addition(7,2))
3. = S(S(addition(7,1)))
4. = S(S(S(addition(7,0))))
5. = S(S(S(7)))
6. =S(S(8))
7. =S(9)
8. =10
But if you were to get rid of rule A and tried to define addition as only:
addition(x,S(y)) = S(addition(x,y))
Then you wouldn't get to go from step 4 to step 5 above and would have no way of resolving to an actual answer.