1.we define a set BCS (bracket-comma string):

(1)any nonnegitive integer is in BCS

(2)if a_1 and a_2 and ... and a_n is in BCS,then the string a_1,a_2,...,a_n is in BCS

(3)if a_1 and a_2 and ... and a_(n+1) and x_1 and x_2 and ... and x_n is in BCS,then the string a_1[x_1]a_2[x_2...[x_n]a_(n+1) is in BCS for any integer n

2.we recursive define an order on BCS:

for BCS x and y

(1)if x has "outside" comma more than y,then x>y

(2)if both have the same number of "outside" comma,let x=u,v y=s,t if u>s then x>y if u=s and v>t then x>y

(3)if both don't have outside comma,write x as the from in 1.(3),let the biggest x_i be u,the biggest x_i of y be v.if v is empty and u is not then x>y. if u>v then x>y. if u=v , write x=a[u]b , y=c[u]d , both a and c do not have the substring [u] "in outside",if a>c then x>y,if a=c and b>d then x>y.

(4)if x,y both are integer and x>y then x>y.

3.we recursive define a map cz (means clean zero):BCS->BCS

(1)if x has outside comma,x=a_1,a_2,...,a_n and cz(a_1)=0,then cz(x)=cz(a_2,a_3,...,a_n)

(2)if a_1≠0,then cz(x)=cz(a_1),cz(a_2),...,cz(a_n)

(3)if x doesn't have outside comma,x=a_1[x_1]a_2...[x_n]a_(n+1) and a_1=0,then cz(x)=cz(a_2[x_2]...[x_n]a_(n+1))

(4)if x doesn't have outside comma , a_1≠0 and for some i>1 we have cz(x_(i-1))>cz(x_i) and a_i=0,

then cz(x)=cz(a_1[x_1]...a_(i-1)[x_(i-1)]a_(i+1)[x_(i+1)]...[x_n]a_(n+1))

(5)if x doesn't have outside comma and that kind of a_i doesn't exist,then

cz(x)=a_1[cz(x_1)]...[cz(x_n)]a_(n+1)

(6)for integer x,cz(x)=x

4.we define an operator f on BCS:

if n is positive integer,x is in cz(BCS) ,we can put f(n) into leftmost of x,or at a symbol "[" or "," 's right, then we can get another element of BCS.

if x is an element of BCS,y is a substring of x,y is in BCS such that y=x or [y] is a substring of x,then we call y to be a bracket substring of x.

for BCS x in the image of cz,let y to be a string which is f(m) put into x.

let z=a_1,a_2,...,a_n (n might be 1) to be a bracket substring of x such that the respect substring of y is

a_1,a_2,...,f(m)a_k,a_(k+1),...,a_n

if some of a_(k+1),a_(k+2),...,a_n is not 0,then define y=x.

if a_k=0,define y=x

if k=n and right most number of a_k is not 0,define y=x

if right most number of a_k is 0,let a_k =b_1[x_1]...[x_l]b_(l+1)

let i to be the largest number such that b_i ≠ 0.

if x_i=0,minus b_i by 1,and change b_(i+1) to m,define y to be this changed x.

if x_i≠0,and right most number of x_i is not 0,minus b_i by 1,and change b(i+1) to this thing

3[x_i-1]0[x_i-1]0...0[x_i-1]0 (the number of 0 is m,x_i-1 is x_i minus right most number by 1)

define y to be this changed x.

if x_i≠0,and right most number of x_i is 0,minus b_i by 1,and change b(i+1) to be 3[f(m)x_i]0

define y to be this changed x

in this step if b_i=1 and x_(i-1) doesn't exist or bigger than x_i,delete b_i-1 (=0) and [x_i] after it.

if k≠n and right most number of a_k is not 0,we find a bracket substring h of x includes z,such that

h=h_1,h_2,...,h_n=a_1,a_2,...,a_k-1,M,0,...,0

and for any bracket substring j of h includes z,either j=z or j>h.

if such h exists,if m=1,plus a_(k+1) by 1.if m>1,let M=Sf(m)T,here S and T is substrings of h,change a_(k+1) to be Sf(m-1)T.then minus right most number of a_k by 1,and define y to be this changed x.

if such h don't exist,if m=1,change z to be a_1,a_2,..,a_k-1,1[a_1,a_2,..,a_k,0,..,0]0,0,..,0 , keeps number of outside comma of z to be n-1 and here a(k+1)=1[before changed z]0.if m>1,change z to be a_1,a_2,...,a_k-1,1[f(m-1)a_1,a_2,...,a_k+1,0,...,0]0,0,...,0.

define y to be this changed x.

in this step,if k=1,a_1=1,delete first two symbol "0," of the place of z.

5. we define a function A on a subset of BCS.

now let x is BCS without outside comma,change x to cz(x).

if x is an integer,define A(x)=x+1

if right most number of x is 0,and x=M[u]N,right most number of M is not 0 and every outside number of N is 0,define A(x)=A(M-1[u]N+1).

if right most number of x is k>0,define A(x)=A(f(A(x-1))x-k)

6.some examples.

A(a[0]b)=Ackermann(a,b)

A(1[1]n) has level ω^ω

A(1[1[1,0]0]n) has level ε[0]

A(1[1[1,1[1[1,0]0[1,0]1]0]0]n) is the limit of BEAF

A(1[1[1,1[2,0]0]0]n) has level ψ(ψ[1](0))

A(1[1[2,0]0]n) has level ψ(Ω[ω])

A(1[1[1[1,0]0,0]0]n) is the limit of Bird's notation

A(1[1[1,1[1[2,0]0,0]0]n) has level ψ(I)

the growth level of this notation is too confusing.I have another version of this notation,it's more clear and faster but much more complex.

please wait me.

and my distribution is confusing too.Is there anyone want to rewrite this to get a clear difition?thanks.