# Difference between revisions of "Bird's array notation"

Bird's array notation is a parallel notation to BEAF.

## Linear arrays

• Rule 1. With one or two entries, we have $$\{a\} = a$$, $$\{a,b\} = a^b$$.
• Rule 2. If the last entry is 1, it can be removed: $$\{\#,1\} = \{\#\}$$.
• Rule 3. If the second entry is 1, the value is just the first entry: $$\{a,1 \#\} = a$$.
• Rule 4. If the third entry is 1:
$$\{a,b,\underbrace{1,1,\cdots,1,1}_n,c \#\} = \{\underbrace{a,a,a,a,\cdots,a}_{n+1},\{a,b-1,\underbrace{1,1,\cdots,1,1}_n,c \#\},c-1 \#\}$$
• Rule 5. Otherwise:
$$\{a,b,c \#\} = \{a,\{a,b-1,c \#\},c-1 \#\}$$

Limit: $$\{n,n[2]2\}$$ has growth rate $$\omega^\omega$$

### Example

\begin{eqnarray*} \{3,3,1,2\} &=& \{3,3,\{3,2,1,2\},1\} \\ &=& \{3,3,\{3,3,\{3,1,1,2\},1\}\} \\ &=& \{3,3,\{3,3,3\}\} \\ &=& \{3,3,\{3,\{3,2,3\},2\}\} \\ &=& \{3,3,\{3,\{3,\{3,1,3\},2\},2\}\} \\ &=& \{3,3,\{3,\{3,3,2\},2\}\} \\ &=& \{3,3,\{3,\{3,\{3,2,2\},1\},2\}\} \\ &=& \{3,3,\{3,\{3,\{3,\{3,1,2\},1\}\},2\}\} \\ &=& \{3,3,\{3,\{3,\{3,3\}\},2\}\} \\ &=& \{3,3,\{3,7625597484987,2\}\} \\ &=& 3\uparrow^{3\uparrow\uparrow7625597484987}3 \end{eqnarray*}

## Multidimentional arrays

• Rule M1. If there are only two entries, $$\{a, b\} = a^b$$.
• Rule M2. If $$m < n$$, we have $$\{\# [m] 1 [n] \#^*\} = \{\# [n] \#^*\}$$. (This also removes ones from the end of an array.)
• Rule M3. If the second entry is 1, we have $$\{a,1 \#\} = a$$.
• Rule M4. If there is a non-zero entry immediately after batch of unfilled separators:
$$\{a,b [m_1] 1 [m_2] \cdots 1 [m_x] c \#\} = \{a \langle m_1-1 \rangle b [m_1] a \langle m_2-1 \rangle b [m_2] \cdots a \langle m_x-1 \rangle b [m_x] (c-1) \#\}$$
• Rule M5. If there is a non-zero entry after batch of unfilled separators and a 1.
$$\{a,b [m_1] 1 [m_2] \cdots 1 [m_x] 1,c \#\} = \{a \langle m_1-1 \rangle b [m_1] a \langle m_2-1 \rangle b [m_2] \cdots a \langle m_x-1 \rangle b [m_x] \{a,b-1 [m_1] 1 [m_2] \cdots 1 [m_x] 1,c \#\},c-1 \#\}$$
• Rule M6. Rules M1-M5 don't apply.
$$\{a,b,c \#\} = \{a,\{a,b-1,c \#\},c-1 \#\}$$
• Rule A1. If $$c = 0$$, we have $$\textrm a \langle 0 \rangle b = a \textrm'$$.
• Rule A2. If $$b = 1$$, we have $$\textrm a \langle c \rangle 1 = a \textrm'$$.
• Rule A3. Otherwise, $$\textrm a \langle c \rangle b \textrm' = \textrm a \langle c - 1 \rangle b [c] a \langle c \rangle (b - 1) \textrm'$$.

Limit: $$\{n,n[1,2]2\}$$ has growth rate $$\omega^{\omega^\omega}$$

### Example

\begin{eqnarray*} \{3,2[3]2\} &=& \{3 \langle 2 \rangle 2[3]1\} \\ &=& \{3 \langle 1 \rangle 2[2]3 \langle 1 \rangle 2\} \\ &=& \{3,3[2]3,3\} \\ &=& \{3,3,3[2]2,3\} \\ &=& \{3,\{3,2,3[2]2,3\},2[2]2,3\} \\ &=& \{3,\{3,3,2[2]2,3\},2[2]2,3\} \\ &=& \{3,\{3,\{3,2,2[2]2,3\}[2]2,3\},2[2]2,3\} \\ &=& \{3,\{3,\{3,3[2]2,3\}[2]2,3\},2[2]2,3\} \\ &=& \{3,\{3,\{3,\{3,\{3,3[2]1,3\}[2]1,3\},2[2]1,3\}[2]2,3\},2[2]2,3\} \end{eqnarray*}

## Hyperdimentional arrays

• Rule M1. If there are only two entries, $$\{a, b\} = a^b$$.
• Rule M2. If $$m < n$$, we have $$\{\# [m] 1 [n] \#^*\} = \{\# [n] \#^*\}$$. (This also removes ones from the end of an array.)
• Rule M3. If the second entry is 1, we have $$\{a,1 \#\} = a$$.
• Rule M4. If there is a non-zero entry immediately after batch of unfilled separators:
$$\{a,b [m_1 \#_1] 1 [m_2 \#_2] \cdots 1 [m_x \#_x] c \#\} = \{a \langle m_1-1 \#_1 \rangle b [m_1 \#_1] a \langle m_2-1 \#_2 \rangle b [m_2 \#_2] \cdots a \langle m_x-1 \#_x \rangle b [m_x \#_x] (c-1) \#\}$$
• Rule M5. If there is a non-zero entry after batch of unfilled separators and a 1.
$$\{a,b [m_1 \#_1] 1 [m_2 \#_2] \cdots 1 [m_x \#_x] 1,c \#\} = \{a \langle m_1-1 \#_1 \rangle b [m_1 \#_1] a \langle m_2-1 \#_2 \rangle b [m_2 \#_2] \cdots a \langle m_x-1 \#_x \rangle b [m_x \#_x] \{a,b-1 [m_1 \#_1] 1 [m_2 \#_2] \cdots 1 [m_x \#_x] 1,c \#\},c-1 \#\}$$
• Rule M6. Rules M1-M5 don't apply.
$$\{a,b,c \#\} = \{a,\{a,b-1,c \#\},c-1 \#\}$$
• Rule A1. If $$c = 0$$, we have $$\textrm a \langle 0 \rangle b = a \textrm'$$.
• Rule A2. If $$b = 1$$, we have $$\textrm a \langle A \rangle 1 = a \textrm'$$.
• Rule A3. If the first entry in the angle brackets is zero, and there exists a non-zero entry after it:
$$\textrm a \langle 0,\underbrace{1,1,\cdots,1,1}_n,c \# \rangle b \textrm' = \textrm a \langle \underbrace{b,b,b,\cdots,b,b}_{n+1},c-1 \# \rangle b \textrm'$$
• Rule A4. Otherwise, $$\textrm a \langle c \# \rangle b \textrm' = \textrm a \langle c - 1 \# \rangle b [c \#] a \langle c \rangle (b - 1) \textrm'$$.

Limit: $$\{n,n[1[2]2]2\}$$ has growth rate $$^4 \omega$$

### Example

\begin{eqnarray*} \{3,2[1,1,2]2\} &=& \{3 \langle 0,1,2 \rangle 2\} \\ &=& \{3 \langle 2,2 \rangle 2\} \\ &=& \{3 \langle 1,2 \rangle 2[2,2]3 \langle 1,2 \rangle 2\} \\ &=& \{3,3[2]3,3[1,2]3,3[2]3,3[2,2]3,3[2]3,3[1,2]3,3[2]3,3\} \end{eqnarray*}

## Nested arrays

• Rule M1. If there are only two entries, $$\{a, b\} = a^b$$.
• Rule M2. If $$m < n$$, we have $$\{\# [m] 1 [n] \#^*\} = \{\# [n] \#^*\}$$. (This also removes ones from the end of an array.)
• Rule M3. If the second entry is 1, we have $$\{a,1 \#\} = a$$.
• Rule M4. If there is a non-zero entry immediately after batch of unfilled separators:
$$\{a,b [m_1 \#_1] 1 [m_2 \#_2] \cdots 1 [m_x \#_x] c \#\} = \{a \langle m_1-1 \#_1 \rangle b [m_1 \#_1] a \langle m_2-1 \#_2 \rangle b [m_2 \#_2] \cdots a \langle m_x-1 \#_x \rangle b [m_x \#_x] (c-1) \#\}$$
• Rule M5. If there is a non-zero entry after batch of unfilled separators and a 1.
$$\{a,b [m_1 \#_1] 1 [m_2 \#_2] \cdots 1 [m_x \#_x] 1,c \#\} = \{a \langle m_1-1 \#_1 \rangle b [m_1 \#_1] a \langle m_2-1 \#_2 \rangle b [m_2 \#_2] \cdots a \langle m_x-1 \#_x \rangle b [m_x \#_x] \{a,b-1 [m_1 \#_1] 1 [m_2 \#_2] \cdots 1 [m_x \#_x] 1,c \#\},c-1 \#\}$$
• Rule M6. Rules M1-M5 don't apply.
$$\{a,b,c \#\} = \{a,\{a,b-1,c \#\},c-1 \#\}$$
• Rule A1. If $$c = 0$$, we have $$\textrm a \langle 0 \rangle b = a \textrm'$$.
• Rule A2. If $$b = 1$$, we have $$\textrm a \langle A \rangle 1 = a \textrm'$$.
• Rule A3. If $$[A] < [B]$$, $$\textrm a <\# [A] 1 [B] \#^*> b \textrm' = \textrm a <\# [B] \#^*> b \textrm'$$.
• Rule A4. If the first entry in the angle brackets is zero, and there exists a non-zero entry after it:
$$\textrm a \langle 0 [x_1 \#_1] 1 [x_2 \#_2] \cdots 1 [x_n \#_n] c \# \rangle b \textrm' = \textrm a \langle b \langle x_1-1 \#_1 \rangle b [x_1 \#_1] b \langle x_2-1 \#_2 \rangle b [x_2 \#_2] \cdots b \langle x_n-1 \#_n \rangle b [x_n \#_n] c-1 \# \rangle b \textrm'$$
$$\textrm a \langle 0,\underbrace{1,1,\cdots,1,1}_n,c \# \rangle b \textrm' = \textrm a \langle \underbrace{b,b,b,\cdots,b,b}_{n+1},c-1 \# \rangle b \textrm'$$
• Rule A5. Otherwise, $$\textrm a \langle c \# \rangle b \textrm' = \textrm a \langle c - 1 \# \rangle b [c \#] a \langle c \rangle (b - 1) \textrm'$$.

### Example

\begin{eqnarray*} \{3,2[1[2]2]2\} &=& \{3 \langle 0[2]2 \rangle 2\} \\ &=& \{3 \langle 2 \langle 1 \rangle 2 \rangle 2\} \\ &=& \{3 \langle 2,2 \langle 2\} \\ &=& \{3,3[2]3,3[1,2]3,3[2]3,3[2,2]3,3[2]3,3[1,2]3,3[2]3,3\} \end{eqnarray*}