Many notations, such as BEAF, Bird's array notation, and Hyperfactorial array notation use structures called **arrays**. They are helpful for generating fast-growing functions. Usually, they are delimited by curly brackets (i.e. { }) and contain different elements separated by delimiters, most often commas ",". Note that it is also possible to use other kinds of brackets (for example hyperfactorial array notation uses "[" and "]" brackets).

## Array types Edit

### Bowers' arrays Edit

**Linear**

*Main article: Array notation*

These arrays are linear, arranged {a_{1},a_{1},...,a_{n-1},a_{n}}. They are the simplest kind of array.

These are usually defined using the following rules:

- {a} = usually a
- {a,b} = some base case
- {a,b,...,y,z,1} = {a,b,...,y,z} - almost all array-based notations have this rule
- {a,b,c,...} = {a,{a,b-1,c,...},c-1,...}
- {a,b,1,1,...,1,1,c,...} = {a,a,a,a,...,a,{a,b-1,1,1,...,1,1,c,...},c-1,...}

The function f(n) = {n,n,1,1,1,...,1,1,2} with n entries is comparable to f_{ωω}(n) in the fast-growing hierarchy.

**Two-row**

These arrays have two rows. In BEAF, they have a growth rate of ω^{ω*2}.

Inline, the array

/a_{1},a_{2},...,a_{n-1},a_{n}\

\b_{1},b_{2},...,b_{m-1},b_{m}/

is written {a_{1},a_{2},...,a_{n-1},a_{n}(1)b_{1},b_{2},...,b_{m-1},b_{m}}

**Planar / 2-Dimensional**

These arrays can have any number of rows. In BEAF, they have a growth rate of ω^{ω2}.

**Multidimensional**

*Main article: Extended Array Notation*

These arrays can have multiple dimensions. In BEAF, they have a growth rate of ω^{ωω}

**Tetrational / Nested**

These arrays' sizes are determined by tetrational expressions, like X^{X2X+1}. They are the largest arrays in BEAF that are fully known how they work, and they have a growth rate of ε_{0} in BEAF. In Bird's array notation, they are called nested arrays.

**Pentational**

These arrays use pentational expressions, starting from X↑↑X. Bowers provides no notation for these arrays except the array of operator. Since he didn't properly defined pentational arrays, his notation at this point and higher isn't well-defined.

**Higher operation**

These arrays use higher operations, like hexation, heptation, and so on. They end at {X,X,X} structures. (Keep in mind that none of these arrays are properly defined in BEAF)

**Expandal**

These arrays nest the operator to get things like {X,X,{X,X,{X,X,X}*2}+1}, or anything between {X,X,X} and {X,X,1,2}.

**Higher sublegion**

Multiexpandal, powerexpandal, explosal, etc. arrays. Eventually we get to arrays that need arrays to describe their sizes (linear, multidimensional, tetrational, expandal, and those who need arrays to describe them).

**Simple legion arrays**

These arrays have a new and even bigger kind of structure: a legion. Denoted by the separator "/", a legion array at its simplest form is {a,b / 2}, which evaluates to a&a&a&...&a&a with b a's. Then there can be multidimensional, tetrational, etc. arrays before the legion mark, and then the part after the legion mark can be affected. {a,b / 3} = {a&a&...&a&a / 2} with b a's. We don't just have to have two legions we can have multiple legions: {A_{1} / A_{2} / ... / A_{n-1} / A_{n}} where each array is an array that can be anything up to but not including a legion array.

**Arrays of legions**

Now legions can form array structures higher than linear. The first separator after / is (/1), which separates a row of legions. We can even have a legion of legions, denoted by //, and an arbitrary number of /'s.

**Arrays of legion marks**

Then legion marks themselves can form structured arrays.

**Array notation on legions**

Then we can have {L,n}_{a,b} = {a,b //...// 2} with n /'s. L represents the legion structure. Array notation can then be applied on legions.

**Lugions, ligions, lagions, and beyond**

Then {L,L / 2} is now a new type of structure, a lugion. Lugions are represented with \ or L2. Then a ligion (| or L3) is {L2,L2 | 2}, and a lagion (- or L4) is {L3,L3 | 2}. Then there's L5, L6, ..., L100, ..., L(gongulus).

**LX, LL, LLL, and beyond**

Then there's LX, L(X+1), L(X↑↑X), LL, LLL, LLLL, and so on.

**Arrays of L's**

Then the L's themselves can form arrays like LL(1)LL(2)LL(1)LL. These arrays can be dimensional, tetrational, legiattic, lugiattic, ..., L100-attic (as in the meameamealokkapoowa oompa), ..., L(gongulus)-attic, ..., LL(1)LL(2)LL(1)LL-attic, ....

### Chris Bird's arrays Edit

Chris Bird, on the other hand, creates a more abstract idea of the workings of these arrays. Bird chooses to denote separators [...] and use 1 as the default value of separators instead of 0.

**Beyond nested arrays I**

Instead of creating names that describe the workings of the arrays, everything beyond nested (Bowers calls them tetrational) arrays "Beyond nested arrays X". In this part of Bird's array notation, a few things happen:

- First, a second layer of separators [[...]] are introduced, then a third ([[[...]]]), and a fourth (you can guess), and so on.
- Next, [[...[[#]]...]] with n pairs of brackets is turned into [# \ n]. Then n is turned into an array. \ is a hyperseparator, a separator that has to be in another separator (i.e. {a,b\2} is invalid but {a,b[1\2]2} is valid).
- After that, separators can have multiple \'s in them.
- Multiple \'s like \\ and \\\...
- Finally \\...n...\\ is turned into [n]\, allowing turning n into an array.

**Beyond nested arrays II**

- Now [#]\ is turned into [#¬2]. ¬ is a 2-hyperseparator, meaning it has to go in a hyperseparator.
- You guessed it, multiple ¬'s in an array

**Beyond nested arrays III**

- 3-hyperseparators (♦ is the first) (you can probably guess what they are) are introduced so that [#♦2] is the so-called [#]¬, following the same rules as \ and ¬.
- Then the 4-hyperseparator ☼ (the sun) is introduced.
- Then ¬ becomes \
_{2}, ♦ becomes \_{3}, and ☼ \_{4}. This is generalized to \_{n}.

**Beyond nested arrays IV**

Oddly, BNAIV is not an extension of BNAIII, but rather an alternate extension of BNAII. Instead, it is an alternate extension of BNAII. \ becomes /, \_{n} becomes /_{n}, and ¬ becomes ~. It combines different hyperseparator levels.

**Beyond nested arrays V**

The all new circle hyperseparator (●) is in the beginning. Then multiple levels of ● are introduced. Finally there are arrays in the subscript of /. Finally the S function is introduced, marking the limit of BAN as a whole.

## See also Edit

- Array notation/Extended Array Notation/BEAF
- Bird's array notation
- Hyperfactorial array notation
- Many others, most which only appear in GWiki blog posts/user subpages or external sites