Bowers' operators

Let a{n}b = Hn(a,b), the hyperoperation.

Invented by Jonathan Bowers, the first operator is {{1}} and it's defined:

m{{1}}1 = m

m{{1}}2 = m{m}m

m{{1}}3 = m{m{m}m}m

m{{1}}4 = m{m{m{m}m}m}m

The number inside the brackets can change. If it's two

m{{2}}1 = m

m{{2}}2 = m{{1}}(m{{2}}1)

m{{2}}3 = m{{1}}(m{{2}}2)

m{{2}}4 = m{{1}}(m{{2}}3)

Operators beyond {{2}} can also be made, the rule of it is the same as hyperoperation:

m{{p}}n = m{{p − 1}}(m{{p}}(n−1))

The next level of operators is {{{ * }}}, it to {{ * }} behaves like {{ * }} is to { * }.

For every fixed positive integer q, there is an operator m{{...{{p}}...}}n with q sets of brackets. The domain of (m,n,p) is (ℤ+)3, and the codomain of the operator is +.

Another function {m, n, p, q} means m{{...{{p}}...}}n, where q is the number of sets of brackets. It satisfies that {m, n, p, q} = {m, {m, n − 1, p, q}, p − 1, q} for all integers m ≥ 1, n ≥ 2, p ≥ 2, and q ≥ 1. The domain of (m,n,p,q) is (ℤ+)4, and the codomain of the operator is +.

Numbers like TREE(3) are unattainable with Bowers' operators, but Graham's number lies between 3{{1}}63 and 3{{1}}64.