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


Main article: Array notation

These arrays are linear, arranged {a1,a1,...,an-1,an}. 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.


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

Inline, the array



is written {a1,a2,...,an-1,an(1)b1,b2,...,bm-1,bm}

Planar / 2-Dimensional

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


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 XX2X+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.


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)


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: {A1 / A2 / ... / An-1 / An} 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

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.