Introduction to Bird's array notation

Bird's array notation is a sibling of BEAF created by Chris Bird. This article serves as a walkthrough of the notation for newcomers.
Linear array notation behaves exactly like BEAF. For a walkthrough to BEAF, see Introduction to BEAF.
== Dimensional Array Notation ==
Bird's dimensional array notation is the first section of his notation that differs in any way from its Bowerian counterpart. It's similar to BEAF except that the separator \([x]\) in Bird's notation is synonymous with the separator \((x-1)\) in Bowers' notation, and that angle brackets can be used to create placeholders for repeating arrays as follows:
\(\{a\langle 1\rangle b\} = \{\underbrace{a,a,a,a...a,a,a}_b\}\)
\(\{a\langle 2\rangle b\} = \{\underbrace{a\langle 1\rangle b[2]a\langle 1\rangle b...a\langle 1\rangle b[2]a\langle 1\rangle b}_b\}\)
\(\{a\langle 3\rangle b\} = \{\underbrace{a\langle 2\rangle b[3]a\langle 2\rangle b...a\langle 2\rangle b[3]a\langle 2\rangle b}_b\}\)
and in general \(\{a\langle n+1\rangle b\} = \{\underbrace{a\langle n\rangle b[n+1]a\langle n\rangle b...a\langle n\rangle b[n+1]a\langle n\rangle b}_b\}\) and \(\{a,b[n]c\} = \{a\langle n-1\rangle b[n]c-1\}\)
For example:
{4,3[3]3}
= {4<2>3[3]2}
= {4<1>3[2]4<1>3[2]4<1>3[3]2}
= {4<1>3[2]4<1>3[2]4<1>3[3]2}
= {4,4,4[2]4,4,4[2]4,4,4[3]2}
This is almost identical to Bowers' notation.
== Hyper-Dimensional Array Notation (Can be improved) ==
=== First Definition ===
The angle brackets can now be linear arrays and have their own rules.
Rule 1: If the angle bracket ends with 1, the 1 can be removed.
Rule 2: If the angle bracket starts with 0, subtract 1 from the first entry greater than 1 and make all the entries before that the number after the angle bracket.
Otherwise, the first entry behaves as the main entry.
For example: {5,3[3,3]2}
= {5<2,3>3}
= {5<1,3>3[2,3]5<1,3>3[2,3]5<1,3>3}
= {5<0,3>3[1,3]5<0,3>3[1,3]5<0,3>3[2,3]5<0,3>3[1,3]5<0,3>3[1,3]5<0,3>3[2,3]5<0,3>3[1,3]5<0,3>3[1,3]5<0,3>3}
= {5<3,2>3[1,3]5<3,2>3[1,3]5<3,2>3[2,3]5<3,2>3[1,3]5<3,2>3[1,3]5<3,2>3[2,3]5<3,2>3[1,3]5<3,2>3[1,3]5<3,2>3}
As you see, the length of the expression grows exponentially.
This is almost identical to the behavior of Bowers' superdimensional arrays.
=== Second Definition ===
You can also think of it this way. {10, n [1,2] 2} is the same as {10, 10 [n] 2}. {10, n [2,2] 2} means {10, 10 [n+1] 2}, {10, n [3,2] 2} is {10, 1010 [n+2] 2}, And so on.
Next is {10, n [1,3] 2} which becomes {10, 10 [n,2] 2} or {10, 10 [2n-1] 2}. Then theres {10, n [1,4] 2} which is {10, 20 [n,3] 2} or {10, 10 [3n-1] 2}, And so on.
If you do {10, n [1,1,2] 2} you get {10, 10 [n,n] 2} which ends up as {10, 10 [(n^2)-1] 2}. Do {10, n [2,1,2] 2} you get {10, 10 [n^2] 2}. {10, n [1,2,2] 2} turns into {10, 10 [n^2+n-1] 2}, You can even do {10, n [1,1,3] 2} which turns into {10, 10 [2(n^2)-1] 2}.
You can add a 4th entry to make it even stronger. {10, n [1,1,1,2] 2} makes {10, 10 [n,n,n] 2} or {10, n [(n^3)-1] 2}. 5 entry arrays are even stronger. {10, n [1,1,1,1,2] 2} is equal to {10, 10 [n,n,n,n] 2} or {10, 10 [(n^4)-1] 2}.
You can even go as far as {10, n [n,n,n,...n,n,n] 2} with n n's in the dimension. This is like saying {10, 10 [(n^n)-1] 2} This is also known as {10, n [1[2]2] 2} which moves into the next area.
== Nested Array Notation ==
=== First Definition ===
Nested array notation is like hyper-dimensional array notation but it allows you to put arrays in the brackets or angle brackets, including other nested arrays.
For example, 
{4,4[1[1[1[2]2]2]2]2}
={4<0[1[1[2]1]1]1>4[1[1[1[2]2]2]2]1}
={4<0[1[1[2]2]2]1>4}
={4<4<4<1[2]2>4[1[2]2]1>4>4}
={4<4<4<1[2]2>4>4>4}
={4<4<4<4<1>4[2]1>4>4>4}
={4<4<4<4<1>4>4>4>4}
={4<4<4<4,4,4,4>4>4>4}
={4<4<4<3,4,4,4>4[4,4,4,4]4<3,4,4,4>4[4,4,4,4]4<3,4,4,4>4[4,4,4,4}4<3,4,4,4>4>4>4}
={4<4<4<2,4,4,4>4[3,4,4,4]4<2,4,4,4>4[3,4,4,4]4<2,4,4,4>4[3,4,4,4]4<2,4,4,4>4[4,4,4,4]4<2,4,4,4>4[3,4,4,4]4<2,4,4,4>4[3,4,4,4]4<2,4,4,4>4[3,4,4,4]4<2,4,4,4>4[4,4,4,4]4<2,4,4,4>4[3,4,4,4]4<2,4,4,4>4[3,4,4,4]4<2,4,4,4>4[3,4,4,4]4<2,4,4,4>4[4,4,4,4}4<2,4,4,4>4[3,4,4,4]4<2,4,4,4>4[3,4,4,4]4<2,4,4,4>4[3,4,4,4]4<2,4,4,4>4>4>4}
The expressions get pretty long.
=== Second Definition ===
Again, you can also think of it this way. {10, n [1[2]2] 2} means {10, n [n,n,n,....n,n,n] 2} with n n's. Next is {10, n [2[2]2] 2} which is like {10, n [1,1,1....1,1,2] 2} with n+1 entries. This is equal to {10, n [n^n] 2}. Then theres {10, n [3[2]2] 2} which becomes {10, n [2,1,1,...,1,1,2] 2} with n+1 entries, which becomes {10, n [(n^n)+1] 2} And so on. You can even do {10, n [1,2[2]2] 2}. This is equal to {10, n [n[2]2] 2} or {10, n [(n^n)+n-2] 2}. You can even have {10, n [1,1,2[2]2] 2} which is {10, n [n,n[2]2] 2} or {10, n [(n^2)-1[2]2] 2} or {10, n [(n^n)+(n^2)-3] 2}. The next milestone is {10, n [1[2]3] 2}.
This means {10, n [n,n,n,....n,n,n[2]2] 2} with n n's. This becomes {10, n [(n^n)-1[2]2] 2} or {10, n [2(n^n)-3] 2}.Theres {10, n [1[2]4] 2} or {10, n [n,n,n,....n,n,n[2]3] 2} which is {10, n [3(n^n)-5] 2}, {10, n [1[2]5] 2} or {10, n [n,n,n,....n,n,n[2]4] 2} which is {10, n [4(n^n)-7] 2}, And so on. {10, n [1[2]x] 2} is equal to {10, n [x-1(n^n)+3-2x] 2}. After is {10, n [1[2]1,2] 2}. This is simply equal to {10, n [1[2]n] 2} which using the previous role is equal to {10, n [n-1(n^n)+3-2n] 2}. You can even have 3 entrys or more as the second number. e.g. {10, n [1[2]1,1,2] 2} equals {10, n [1[2]n,n] 2}, {10, n [1[2]1,1,1,2] 2} equals {10, n [1[2]n,n,n] 2}, etc. Then the next mile stone is {10, n [1[2]1[2]2] 2}.
==== Multiple Dimensions ====
{10, n [1[2]1[2]2] 2} is equal to {10, n [1[2]n,n,n...n,n,n] 2} with n n's. You can even do {10, n [1[2]1[2]1[2]2] 2} which expands into {10, n [1[2]1[2]n,n,n,...n,n,n] 2} with n n's, {10, n [1[2]1[2]1[2]1[2]2] 2} which is {10, n [1[2]1[2]1[2]n,n,n...n,n,n] 2} with n n's, And so on. Then we have {10, n [1[3]2] 2}. This is equal to {10, n [1[2]1[2]1[2].....1[2]1[2]2] 2} with n 1[2]'s. You can even do {10, n [1[4]2] 2} which turns into {10, n [1[3]1[3]1[3].....1[3]1[3]2] 2}, And so on. Our next milestone is {10, n [1[1,2]2] 2}, Which is equal to {10, n [1[n]2] 2}. You can do {10, n [1[1,1,2]2] 2} for {10, n [1[n^2]2] 2}, {10,n [1[1,1,1,2]2] 2} for {10, n [1[n^3]2] 2}, And so on.
We can even have {10, n [1[1[2]2]2] 2}. This is equal to {10,n [1[n,n,n...n,n,n]2] 2} with n n's which is {10, n [1[(n^n)-1]2] 2}. You can have {10, n [1[1[1,2]2]2] 2} which is {10 ,n [1[1[n]2]2] 2}, You can even have {10, n [1[1[1[2]2]2]2] 2} which is {10, n [1[1[n,n,n,....,n,n,n]2]2] 2} with n n's or {10, n [1[1[(n^n)-1]2]2] 2}. You can nest these arrays like this. You can even do it n times. (Which looks like this: {10, n [1[1[....1[1[2]2]2....2]2] 2} with n layers) This is equal to the next milestone, {10, n [1\2] 2}.
*Note that when i say "{a, n [b+1] 2}" Im referring "{a, n 1[b]1[b]1[b]1...[b]1[b]1[b] 2}" when b=Litteraly Anything
== Hyper-Nested Array Notation ==
This notation now adds the backslash sign (\). The backslash sign means nesting.
1\2 means iterating dimensional separator, 1\n means repeating m\n-1 over n.
A new angle bracket rule is needed for this.
<0\a...>=Sbb\m-1...> where a and b are the first and second entries of the main array respectively.</span>
Sn when n>1 = <bSn-1b\m-1...>
S1=b
This rule works until we hit two backslashes. This can be changed to work for multiple backslashes.
<0\1\1...1\m> = b</sub>b\m-1>
Sn when n>1 = <b\b\b...\bSn-1b\m-1...>
S1=b
Next, we introduce multiple levels of backslashes.
{a,b[1\\2]2}= {ab} with b b's,
{a,b[1\\\2]2}= {a<R\\R...R\\R>b} with b r's where R= b\b...b\b with b b's.
The [n]\ class of separators and corresponding angle bracket separators, <n>\ can represent ordinal level backslashes, where [1]\ represents backslash. These separators behave just like regular separators.
For example, 
{5,3[1\2]3}
={5,3<0\2>3}
={5,3<3<3>3>3}
={5,3<3<2>3[3]3<2>3[3]3>3}
={5,3<3,3,3[2]3,3,3[2]3[3]3<2>3[3]3>3}
== Nested Hyper-Nested Array Notation ==
== External links ==
*Bird's linear array notation
*Bird's multi-dimensional array notation
*Bird's hyper-dimensional array notation
*Bird's nested array notation
*Bird's Beyond Nested Arrays I
Category:Introduction articles
Category:Notations