User blog:Mh314159/FOX notation updated

Here is everything so far, up to the structure [S1]‹S2›(x) where the S's represent strings. I have more structures that go beyond this but don't want to get ahead of myself.

I have made some simplifications of the earlier functions and abandoned some ideas that were not precisely defined. I hope this is all valid so far. There are probably more examples than necessary; the actual rules are pretty short. But for me, the examples are part of the fun.

for all functions F, Fn(x) = Fn-1x(x) and F0(x) = F(x)

f0(x) = f(x) = x+1

f‹0›(x) = fx(x) (ω growth rate)

f‹n› and f‹S› are functions and are iterated by powers; n is a natural number and S is a comma-separated string of natural numbers with a nonzero initial term.

f‹n›(x) = f‹n-1›f‹n›(x-1)(x) where f‹n›(0) = f‹n-1›(n)

f‹S›(x) = f‹T›f‹S›(x-1)(x) where T is S with its first term reduced by 1.

f‹S›(0) = f‹T›(s) where s is the final term in S.

Zero replacement rules for string where the first one or more terms is zero.

Y is any string of terms including possibly empty and Z is a string of n zeroes:

f‹Z,a,Y›(x) = f‹N,(a-1),Y›(x) where N is a string of n terms where each term = f‹X,a-1,Y›(x) where X is a string of n x's

Example:

f‹0,1,2›(3) = f‹ f‹3,0,2›(3) ,0,2›(3)

f‹0,0,1,2›(3) = f‹f‹3,3,0,2›(3),f‹3,3,0,2›(3),0,2›(3)

f‹0›(1) = f1(1) = 2

f1(2) = f2(2) = 4

f‹0›(2) = f2(2) = f12(2) = f1(4) = 8

f‹0›(3) = f3(3)

f‹1›(1) = f‹0›f‹1›(0)(1) = f‹0›2(1) = f‹0›(2) = f2(2) = 8

f‹1›(2) = f‹0›f‹1›(1)(2) therefore 8 iterations

f‹1›(3) = f‹0›f‹1›(2)(2)

f‹2›(1) = f‹1›f‹2›(0)(1) = f‹1›f‹1›(2)(1)

f‹0,1›(2) = f‹f‹2›(2)›(2)

f‹1,1›(1) = f‹0,1›f‹1,1›(0)(1) = f‹0,1›f‹0,1›(1)(1) = f‹0,1›f‹f‹1›(1)›(1)(1)

f‹1,1›(2) = f‹0,1›f‹1,1›(1)(2)

f‹0,2›(1) = f‹f‹1,1›(1),1›(1)

Next:

replace f with [1], g with [2], etc

[n] and [n]m and [n]‹S› are functions

[n]0(x) = [n](x) = [n-1]‹S›(x) where S is a string of [n](x-1) x's

[n](0) = [n-1]‹n›(n)

[n]‹0›(x) = [n]x(x)

[n]‹n›(x) = is recursed using the same rule as f‹n›(x), treating [n] as f.

Ex: g(1) = f‹S›(1) where S is a string of 1's with g(0) = f‹2›(2) terms

g‹0›(1) = g1(1) = g(1)

g1(2) = g(g(2)) = f‹S›(g(2)) where S is a string of length g(g(2)-1)

g‹0›(2) = g2(2) = g12(2) = g1(g1(2)) = gp(g1(2)) where p = g1(2)

g‹1›(1) = g‹0›g‹1›(0)(1) = g‹0›g‹0›(1)(1) so this iterates g(1) times

g‹1›(2) = g‹0›g‹1›(1)(2)

g(2) = [2](2) = [1]‹S›(2) where S is a string of 2's with [2](1) terms

[3]‹0›(1) = [3]1(1) = [3](1) = [2]‹S›(1) = where where S is a string of 1's with [3](0) = [2]‹3›(3) terms

[3]1(2) = [3]2(1) = [3]([3](1))

[3]‹0›(2) = [3]2(2) = [3]12(2) = [3]1([3]1(2)) = [3]1([3]([3](1)))

[3]‹1›(1) = [3]‹0›[3]‹0›(1)(1) iterates the [3]‹0› function [3]‹0›(1) times

[3]‹0,1›(1) = [3]‹[3]‹1›(1)›(1)

[3]‹1,1›(1) = [3]‹0,1›[3]‹1,1›(0)(2) = [3]‹0,1›[3]‹0,1›(1)(2) = [3]‹0,1›[3]‹[3]‹1›(1)›(1)(2)

For a bracket string S1: For any string Sn, Tn is that string with the first term decreased by one.

[S1]‹0›(x) = [[T1]‹S1›x(x)]‹S1›x(x) (pulling a strong function into the brackets, growing the function number)

Use previous recursion rules treating [A] as f for all expressions A

[S1]‹S2›(x) = [S1]‹T2›undefinedp(x) = [S1]‹T2›p-1([S1]‹T2›(x)) where p = [S1]‹S2›(x-1) (iterating the growth of the expression in brackets)

[S1]‹S2›(0) = [S1]‹T2›(s) where s is the last term in S2

Ex: [1,1]‹1,1›(1) = [1,1]‹0,1›p(1) = [1,1]‹0,1›([1,1]‹0,1›(....1)) with [1,1]‹1,1›(0) = [1,1]‹0,1›(1) iterations.

By zero replacement, [1,1]‹0,1›(1) = [1,1]‹[1,1]‹1›(1)›(1) and this will eventually recurse to a huge number of iterations of [1,1]‹0›(1) where [1,1]‹0›(1) = [[0,1]‹1,1›(1)]‹1,1›(1) = [[[[1]‹1,1›(1)]‹1,1›(1)]‹1,1›(1)]‹1,1›(1)