This is the function I made so far, but at the moment it only has two of the intended four arguments that I want to eventually add.
*The order of priority for rules is put in order of the numbers below.*
First I need to clarify Conway chained arrows(I will try to define them as an array notation):
-For any amount of up-arrows n, 0^n0 = 1, and for any positive-integers a and b, 0^na = 0, a^n0 = 1, and a^0b = ab.
-I define a recursive function C(x) for any possibly-empty string x, of non-negative integers.
- If x is empty or x = 1 or x = 0, then C(x) = 1.
- *Apply this rule to the leftmost example* If x = #,1,#a or x = #,0,#a for (possibly empty)strings # and #a of non-negative integers, then C(x) = C(#).
- If x = a, for a non-negative integer a, then C(x) = a+1.
- If x = a,b for non-negative integers a and b, then C(x) = ab.
- If x =a,b,c for non-negative integers a, b, and c, then C(x) =
- If x = #,a,b ,for non-negative integers a, b, and a string # of two or more non-negative numbers, then C(#,a,b) = C(#,C(#,a-1,b),b-1)
-I define a notation (x)&(y) for any two non-negative integers x and y.
- If x=0 and x=0, then (x)&(y) = 1, and if x=a and y=0, then (x)&(y) = 1
- (x)&(y) = C(st(x,y))
****************************************************************************
-I define "a function , wheredenotes the set of strings of non-negative integers"
- If y=0, then st(x,y) is empty
- If y>0, then st(x,y) = st(x,y-1),x
****************************************************************************
Now for the operator function:
-I define g^i(x) for any non-negative integer i and any possibly-empty string x of non-negative integers in the following recursive way:
- If i=0 and x is empty or x = 1 or x = 0, then gi(x) = 3.
- *Apply this rule to the leftmost example* If i=0 and x = #,1,#a or #,0,#a for strings # and #a of non-negative integers, then gi(#)
- If i=0 and x = a, for a non-negative integer a, then gi(x) = (a+1)&(a+1).
- If i=0 and x = a,b for non-negative integers a and b, then gi(x) = ga+1(a-1,ga+1(a-1,b+1)).
- If i=0 and x =a,b,c for non-negative integers a, b, and c, then gi(x) = ga+1(a-1,ga+1(a-1,b+1,c+1),ga+1(a-1,b+1,c+1))
- If i=0 and x = #,a,b,c ,for non-negative integers a, b, c, and a non-empty string # of non-negative numbers, then gi(x) = ga+1(#,a,ga+1(#,a,b-1,c),c-1)
- If i>0 and x is empty, then gi(x) = gi-1(gi-1())
- If i>0 and and x is empty or x = 1 or x = 0, then gi(x) = gi-1(gi-1(x)).
- If i>0 and x=a, for a non-negative integer a, then gi(x) = gi-1(gi-1(a+1))
- If i>0 and x=#,a for a non-negative integer a, and a non-empty string # of non-negative integers, then gi(x) = gi-1(#,gi-1(#,a+1))
-I define a notation (x)&&(y), for any two non-negative integers x and y:
- If x=0 and x=0, then (x)&&(y) = 1, and if x=a and y=0, then (x)&&(y) = 1
- (x)&&(y) = g(st(x,y))
Now for the actual function:
-I define a function f(c,z) for any two non-negative integers z and c:
- f(0,z) = (z)&&(z+1)
***********************************************************************
-I define a function h for any three non-negative integers a, b, and x.
- (x+1)&( f(x+1) )
***********************************************************************