User blog:Ubersketch/Recursive system

First we will define a notation.

{x.y} = y

Note that x may be multiple variables.

{x.y}(z) repeats the function on x z times. That is {x.y}(0) = 0 and {x.y}([x]) = {{x.y}(x).y}

Secondly we will define some fundamental symbols.

[x] - This is a function which has the same properties as the successor function. It can be the successor function if you wanted it to be. The property I'm talking about is [...x...] where there are n pairs of brackets does not equal any [...x..] where there are less than n pairs of brackets. For the sake of simplicity [...0...] with n pairs of brackets shall be written as n.

0 - This is an object. It doesn't have to be anything. It's only property is that for all x, [x] =/= 0. It can be the number 0 if you wanted it to be.

x - This is a variable. It is usually the input or output of a previously defined {x.y}