HOME
Previous article: Introduction to factorial numbers

Factorial Array Notation

Factorial Array Notation has been (and still is) a work in progress for almost a year probably over two years by now. It is my attempt to create a googological notation which is not only extremely powerful, but simple (well, as simple as it gets). Of course, I also have done a little (a little meaning a lot) of coming up with names for numbers. This is what I've currently got:

Small Beginnings

If you have read any of this website other than this sentence, it should be fairly obvious that my notations revolve around extending factorial notation. Just the factorial notation itself is a relatively powerful one: 200! has 375 decimal digits, and is approximately 9600 times larger than Skewes' number. We can call this a faxul: fa- for factorial, and -xul because... just because: it had to end in something. This number is very big: in physics, the smallest unit of space that makes any sense is the planck length, and if you were to divide the observable universe up into cubic planck lengths, there would only be around 10180 of them, compared to the faxul, which is approximately 10375. Bear in mind that this does not mean that the faxul is just over twice the size of 10180, but 10195 times larger. It can be written out precisely: 788657867364790503552363213932185062295135977687173263294742533244359449963403342920304284011984623904177212138
919638830257642790242637105061926624952829931113462857270763317237396988943922445621451664240254033291864131227
428294853277524242407573903240321257405579568660226031904170324062351700858796178922222789623703897374720000000
000000000000000000000000000000000000000000

This is a reasonably big number, but this is a site about extremely big numbers, not just something like a faxul you can actually write out! To solve this problem, we can think of what could be better than one factorial? 2 factorials! This is an already devised notation; nested factorial notation, and it is very useful when writing out an expression with a factorial applied many times to a number. The reason that the notation is necessary is primarily that n!! is already a notation: it is double factorial, and it is:

n!! = n × (n - 2) × (n - 4) × ...

Until either 2 or 1 is reached. So to write down factorial applied twice to a number, we would have to write: (n!)!, and for larger numbers of factorials, this quickly becomes very clumsy and very difficult to type out, for example, ((((n!)!)!)!)! is far longer to write than we want it to be. To solve this, we can use the nested factorial notation:

Nested Factorial Notation:
n!k+1 = (n!k)!
n!1 = n!

We can compare this system to up arrow notation. We found in the last article that for sufficiently large n, n! > nk for any integer k. Therefore, the growth rate of n! must be comparable to nn, as it is easy to show that n! < nn for all n > 1: both expand to a product of n numbers, and the numbers in the expansion of nn are clearly larger than those in the expansion of n!. So, using ≈ to indicate that two functions have comparable growth rates:

n! ≈ nn

Now, we can extend this to prove a result about nested factorial notation. To avoid having too many superscripts and making the gaps between the lines massive, I will use the symbol ^ to mean 'to the power of'. Because of the above result, we know that: n!2 ≈ (nn)^(nn). nn > n, and so n!2 ≈ n^(nn), and so:

n!2 ≈ nnn

Before I go any further, we need to use a better method of displaying 'power towers': lots of things raised to the power in a chain. To solve this problem, I will use up arrow notation (this will have its own article at some point, so I will just give the definitions here):

Tetration Up Arrow Notation:
n↑↑(k + 1) = n(n ↑↑ k)
n↑↑1 = n

What we want to do now is to prove a general result about nested factorial notation compared to up arrow notation. To rigorously and properly prove the result, I will use induction (sub-article on induction for those unfamiliar with it here). For the base case, we have already shown that n! ≈ n↑↑2. Now for the inductive step. If we assume that n!k ≈ n↑↑(k + 1), n!(k + 1) = (n!k)! ≈ n↑↑(k + 1)(n↑↑(k + 1)) < n(n↑↑(k + 1)) = n↑↑(k + 2), so n!(k + 1) ≈ n↑↑(k + 2). This means that for all n and k:

n!k ≈ n↑↑(k + 1)

To go further with our comparison, we will need to use the full up-arrow notation. This is the complete definition:

Complete Up Arrow Notation:
n↑(k + 1)(m + 1) = n↑k(n↑(k + 1)m)
n↑k1 = 1
n↑1k = nk

Now, we can continue with n!n ≈ n↑↑n = n↑↑↑2. To continue from here, we will need some new notation. Firstly, we can let n!n = n![2]. This is still within the realms of nested factorial notation, and is actually included in the definition. As is all of my notation up until the multi-entry arrays. Unfortunately, nested factorial notation also uses precisely the same notation as me, but I have decided to stick with square brackets for 2 main reasons. One: Hyperfactorial Array Notation (HAN), which Factorial Array Notation (FAN) is the successor of, used n![], and it was here first, and secondly, there are only 3 types of brackets which will work for Extended Factorial Array Notation: square brackets, curly braces and normal parenthesis. curly braces have become (at least in googology) synonymous with BEAF, and parenthesis have many other uses, and so using them would be even more confusing than square brackets, and so square brackets are the only choice left. The definition for n![k] is the same in both nested factorial notation and FAN, and this is it:

Single Entry Factorial Arrays:
n![k + 1] = n![k]n
n![m]k + 1 = (n![m]k)![m]

Now we have the definition, we can continue with the comparison between the two notations, again by induction. However, to induct over this more complicated rule, we need a more complicated induction. In fact, we need to induct twice: we are trying to prove that n![m]k ≈ n↑(m + 1)(k + 1), and in proving the inductive step for increasing m by 1, we have to induct over k.

We already have the base case: n!k ≈ n↑↑(k + 1), and so now we need to do the inductive step. Assume n![m] ≈ n↑(m + 1)2. We need to show that n![m + 1]k ≈ n↑(m + 2)(k + 1).
Assuming that n![m]k ≈ n↑(m + 1)(k + 1) for induction, n![m](k + 1) = (n![m]k)![m] ≈ (n↑(m + 1)(k + 1))↑(m + 1)2 = (n↑(m + 1)(k + 1))↑m(n↑(m + 1)(k + 1)) > n↑m(n↑(m + 1)(k + 1)) = n↑(m + 1)(k + 2), so n![m](k + 1) ≈ n↑(m + 1)(k + 2), and as we have the base case that n![m] ≈ n↑(m + 1)2, by induction n![m + 1]k ≈ n↑(m + 2)(k + 1). Therefore n![m + 1] = n![m]n ≈ n↑(m + 1)n = ≈ n↑(m + 2)2, so the induction is complete, and so it is true that:

n![m]k ≈ n↑(m + 1)(k + 1)

Now we can move on to the full definition of Factorial Array Notation, where my notation (finally) starts to differ from nested factorial notation:

Factorial Array Notation

The final definition for Factorial Array Notation is the result of quite a bit of thought, and it is difficult to slowly build up to it, so I will launch straight into the definition. As the definition has to represent an array of arbitrary length, some new symbols will be introduced to deal with this:
  • ◆ represents a part of an array with no restrictions at all (can even be completely empty)
  • ◇ represents a part of an array which can only consist of 1s and [s (not ]s)
  • ○ represents a part of an array consisting of only a string of 1s
  • 〚 and 〛 represent an arbitrary number of open or close brackets respectively (the unicode character comes with additional spacing. I'm not sure why.)
The symbols can also have different colours. This is to differentiate between the different parts of an array: if there are two separate parts of the array which have the same symbol, the colour shows which is which. If 2 brackets are given a colour which is not black, then they must be paired with each other. Now, on to the definition:

Factorial Array Notation Definition:
1. n![◆]k + 1 = (n![◆])![◆]k
2. n![1]◆ = (n!)!◆
3. n!〚a + 1◆] = n!〚a◆]n
4. n![◇[○1,〚a + 1◆]◆] = n![◇[[○1,〚a◆],〚1◆]◆]
5. n![◇[1]◆] = n![◇n◆]
C1. n![◆,1] = n![◆]

The rules happen in the order that they are numbered, except for the one labelled 'C', which just happens whenever they apply. All of the rules seem fairly straightforward, except for rule 4, which definitely does not. When looking at it, bear in mind that the ◆ shapes can contain ]s, and so the apparent lack of close brackets is accounted for by this. To help explain rule 4, we can explain it in English. To do this, we need quite a lot of terminology:

Base: the 'n' in n![...]; the value before the '!'.
Nesting Entry: the superscript after the array denoting how many of them there are.
Entry: one of the numbers in the array, so, for example, in 3![1,2,4], '1', '2' and '4' are 'entries'.
Main entry: the first entry in an array; one directly preceded by a '['. If this is an array, then take that array's main entry.
Terminal entry: the last entry in the array; the one directly followed by a ']'
Primary array: the only array which is not contained within another array; the array with its '[' directly next to the 'n!'.
Non-commencing entry: an entry which has another entry before it in the primary array. (The reason for this name will be explained in the extended FAN page)
Active entry: The first entry which is not a '1', which is nearly always a number, and the only exception being when it is the array '[1]'. note that this is not just within the primary array, and if the first non-1 entry is an array, then the active entry is the active entry of this array.
Receiving entry: the entry before the active entry. (Note: this will only exist if the active entry is a non-commencing entry)
Deepest array (subject to some condition): the array which satisfies some condition and contains the primary array's active entry and no other array which contains the primary array's active entry and satisfies the conditions.
Active Array The deepest array (bear in mind it must contain the active entry to qualify for 'deepest')

Now we have the terminology sorted, we can proceed to the plain English rules:

Rule 1: If the nesting entry is greater than 1, decrease it by 1, and replace the base with the entire array just without the nesting entry.
Rule 2: If the primary array is only '[1]', replace n![1] with just n!.
Rule 3: If the main entry is greater than 1, reduce it by 1, and set the nesting entry to equal the base.
Rule 4: If the active array is a number greater than 1, and the receiving entry exists, replace the receiving entry with the deepest array for which the active entry is not its main entry, with the active entry reduced by 1, and then reduce the original active entry to 1.
Rule 5: If the active entry is '[1]', replace this with the base.
Constant rule 1: If the terminal entry of any array is 1 and not the main entry, remove it.

There is one key difference which sets it apart from these other notations, and that is how it deals with nested arrays: array within arrays. While other notations such as BEAF just evaluate these nested arrays, and give them a value, FAN does not. Instead, it just looks inside of them, and decomposes them. The best way to understand this is to see it in practise, so here are some examples:

3![2] = 3![1]![1]![1] = (3!)![1]![1] = 6![1]![1] = (6!)![1] = 720![1] = 720! ≈ 101747

3![1,3] = 3![[1,2],1] = 3![[1,2]] = 3![[[1,1],1]] = 3![[[1]]] = 3![[3]] = 3![[2]]![[2]]![[2]] = 3![[1]]![[1]]![[1]]![[2]]![[2]] = 3![3]![[1]]![[1]]![[2]]![[2]] = 3![2]![2]![2]![[1]]![[1]]![[2]]![[2]] ≈ 101747![2]![2]![[1]]![[1]]![[2]]![[2]] = 101747![1]![1]...![1]![2]![[1]]![[1]]![[2]]![[2]] with 101747 '![1]'s = ... very, very big.

Now we can try something in the middle of these two extremes:
3![1,2] = 3![[1]] = 3![3] = 3![2]![2]![2] = 3![1]![1]![1]![2]![2] = (3!3)![2]![2] = ... How can we write this? Well, represented nested factorial notation, 3![3] =

Now, what about a bigger array? Take 3![1,1,1,3] as an example.

3![1,1,1,3] = 3![1,1,[1,1,1,2],1] = 3![1,1,[1,1,[1,1,1,1],1]] = 3![1,1,[1,1,[1]]] = 3![1,1,[1,1,3]] = 3![1,1,[1,[1,1,2],1]] =
3![1,1,[1,[1,[1,1,1],1]]] = 3![1,1,[1,[1,[1]]]] = 3![1,1,[1,[1,3]]] = 3![1,1,[1,[[1,2],1]]] = 3![1,1,[1,[[[1],1]]]] =
3![1,1,[1,[[3]]]] = 3![1,1,[[1,[[2]]],[[1]]]] = 3![1,1,[[[1,[[1]]],[[1]]],[[1]]]] = 3![1,1,[[[1,[3]],[[1]]],[[1]]]] =
3![1,1,[[[[1,[2]],[1]],[[1]]],[[1]]]] = 3![1,1,[[[[[1,[1]],[1]],[1]],[[1]]],[[1]]]] = 3![1,1,[[[[[1,3],[1]],[1]],[[1]]],[[1]]]] =
3![1,1,[[[[[[1,2],1],[1]],[1]],[[1]]],[[1]]]] = 3![1,1,[[[[[[[1,1],1]],[1]],[1]],[[1]]],[[1]]]] =
3![1,1,[[[[[[3]],[1]],[1]],[[1]]],[[1]]]] =
Now it starts to get really big...
3![1,[1,1,[[[[[[2]],[1]],[1]],[[1]]],[[1]]]],[[[[[[1]],[1]],[1]],[[1]]],[[1]]]] =
3![1,[1,[1,1,[[[[[[1]],[1]],[1]],[[1]]],[[1]]]],[[[[[[1]],[1]],[1]],[[1]]],[[1]]]],[[[[[[1]],[1]],[1]],[[1]]],[[1]]]] =
3![1,[1,[1,1,[[[[[3],[1]],[1]],[[1]]],[[1]]]],[[[[[[1]],[1]],[1]],[[1]]],[[1]]]],[[[[[[1]],[1]],[1]],[[1]]],[[1]]]] =
3![1,[1,[1,[1,1,[[[[[2],[1]],[1]],[[1]]],[[1]]]],[[[[[1],[1]],[1]],[[1]]],[[1]]]],[[[[[[1]],[1]],[1]],[[1]]],[[1]]]],[[[[[[1]],[1]],[1]],[[1]]],[[1]]]] =
3![1,[1,[1,[1,[1,1,[[[[[1],[1]],[1]],[[1]]],[[1]]]],[[[[[1],[1]],[1]],[[1]]],[[1]]]],[[[[[1],[1]],[1]],[[1]]],[[1]]]],[[[[[[1]],[1]],[1]],[[1]]],[[1]]]],[[[[[[1]],[1]],[1]],[[1]]],[[1]]]] = ...

I think you probably get the picture. These bigger arrays are impossible to do anything close to evaluate. Instead, what we can do is compare these systems to another system. However, we have already surpassed the end of up arrow notation, so instead, I will compare the system the ordinals and the fast-growing hierarchy (FGH). In the comparisons, I will exclude the 'function' part of FAN and the FGH, and just make direct comparisons between the arrays and the ordinals. To start off with, we can convert the earlier comparison with standard up arrow notation into one with the ordinals:

n![m]k ≈ n↑(m + 1)(k + 1) ≈ fm + 3k(n), so
[m] ≈ m + 3 (In the FGH)

Now, we can continue the comparisons by trying to prove general results comparing FAN to the FGH. To make these comparisons, we need to use a general rule about nesting one array inside another:

The FAN nesting rule:
If [◆k] ≈ τ(k) for some function τ over the ordinals
and [◆k] ≈ τ(k) implies [◆(k + 1)] ≈ τ(k + 1) i.e. the result is shown inductively
and [[]] ≈ α
then [◆[]] ≈ τ(α)

To prove this result, we will need to use something more powerful than standard induction, as this result needs to hold true for all ordinals, and standard induction only takes us up to and not including the first limit ordinal, ω. To prove this, we need to use transfinite induction. This works just like normal induction, but there is another thing we need to prove: if the statement is true for all ordinals less than a specific limit ordinal, it is true for that ordinal as well. If this statement along with the two standard induction ones can be shown to be true, then the result holds true for every ordinal. The assumptions for the FAN nesting rule include the standard induction results, but we need to extend the inductive step to successor ordinals, and show the transfinite induction step.
For the successor ordinal case: if the array [] is equivalent to a successor ordinal, then the first entry in the array must be greater than one. This means that the specific proof given for the standard induction case can also be used here.
For the limit ordinal case: Assume that the result is true for every ordinal less than some limit ordinal β, and that [] ≈ β. Consider how these would decompose when the 'n!' or FGH was added. They would decompose to an array and an equivalent ordinal less than β, no matter what the value of n (also refers to the n in fβ(n)), and we have already assumed this to work with the relation wanted. As this works for every n, it is also true that the case works for β, as the ordinal and the array work in precisely the same way.

Now we know this rule to be true, then we can continue to prove more relationships by induction, before proving a general result about any length FAN arrays. Firstly, we can show by induction that [1,k] ≈ ω.k:

The base case is that when k = 1, [1,1] = [1] ≈ ω. For the inductive step, if [1,k] ≈ ω.k, then [1,k + 1] = [[1,k],1] = [[1,k]], which, as [α] ≈ ω + α, is equivalent to ω + ω.k = ω.(k + 1). So the induction is complete, and we have:

[1,α] ≈ ω.α

Now, we can also show by induction that [1,1,k] ≈ ωk = ω↑k. For the base case, we have that when k = 1, [1] ≈ ω1 = ω. For the inductive step, if [1,1,k] ≈ ω↑k, then [1,1,k + 1] = [1,[1,k],1] = [1,[1,k]], which, as [1,α] ≈ ω.α, is equivalent to ω.(ω↑k) = ω↑(k + 1). So the induction is complete, and we have:

[1,1,α] ≈ ω↑α

Now, we can move on the general result. As usual, we will prove it by induction. Firstly, for the base, [1,1,α] ≈ ω↑α = ω↑1α. Now, assume that [○,α] ≈ ω↑kα (there will be k + 1 '1's in the ○). Therefore, [○,1,2] = [○,[1]] ≈ ω↑kω = ω↑k + 12. This is the base case for a smaller induction. The inductive step for this is to assume that [○,1,m] ≈ ω↑k + 1m. Therefore [○,1,m + 1] = [○,[○,1,m]] ≈ ω↑k(ω↑k + 1m) = ω↑k + 1(m + 1). This means that [○,1,α] ≈ ω↑k + 1α, and so the larger induction is complete. Now, we have a general result:

If ○ represents a string of k + 1 '1's, [○,α] ≈ ω↑kα

In the Veblen function, a reasonably common ordinal function (at least in googology), ω↑k + 1α = φk(α), and so the limit of factorial array notation is φω(0).

Factorial array notation numbers

It has become almost a tradition for anyone who makes up a notation to make a large number of named numbers to accompany their notation. So, I have come up with a few (reads: I have come up with a lot) As has also become the norm, I will divide the numbers up into groups:

The Faxul Group

This is the smallest group. A lot of these numbers were defined in my old notation, hyperfactorial array notation, and this group has a large amount of overlap with nested factorial notation. I have also devised a new suffix for a number: in the same way that -plex means 10^ of the number, the suffix -enek means the number factorial. The numbers which would fit into this group are:

Faxul = 200![1] = 200!
Faxulenek = 200![1]2 = (200!)!
Faxulduenek = 200![1]3 = ((200!)!)!
Faxultrienek = 200![1]4 = (((200!)!)!)!
Faxulquadrienek = 200![1]5 = ((((200!)!)!)!)!
Faxulquinquenek = 200![1]6 = (((((200!)!)!)!)!)!
Faxulsexaenek = 200![1]7 = ((((((200!)!)!)!)!)!)!
Faxulseptienek = 200![1]8 = (((((((200!)!)!)!)!)!)!)!
etc.

A quick pronunciation note: the intended pronunciation of these numbers is with the numerical suffix to -enek and the -enek to be pronounced seperately: "-trienek" is pronounced "tri-enek".
These numbers are already far larger than anything that could ever realistically be used in comparison to the real world: using the very rough approximation that for large n, n!k ≈ n↑↑(k + 1), a faxulseptienek is approximately 200↑↑9.

The Graxul Group

If we take the numbers in the faxul group, they form a sequence: faxul, faxulenek, faxulduenek, faxultrienek, faxulquadrienek, and so on, and googologists like sequences, because we can just jump to a large step in them. In this case, we can jump straight to the 200th term in the sequence. in the faxul numbering sequence, this would be called a faxulducentienex, but as the faxul naming system is basically at its limit, we can make a new naming system. We can call the faxulducentienex the gand faxul, or graxul for short, and use the ![2] notation to represent it. We can also define a new suffix: -dyex, meaning apply ![2] to the number. Now we can continue with the numbers:

Graxul = 200![2]
Graxuldyek = 200![2]2 = 200![2]![2]
Graxuldudyek = 200![2]3 = 200![2]![2]![2]
Graxultridyek = 200![2]4 = 200![2]![2]![2]![2]
Graxulquadridyek = 200![2]5 = 200![2]![2]![2]![2]![2]
Graxulquinquedyek = 200![2]6 = 200![2]![2]![2]![2]![2]![2]
Graxulsexadyek = 200![2]7 = 200![2]![2]![2]![2]![2]![2]![2]
Graxulseptidyek = 200![2]8 = 200![2]![2]![2]![2]![2]![2]![2]![2]

These numbers are truly enormous. This is not a representation of a graxultridyek, but a slightly smaller (and unnamed) number:

The Greaxul Group

Now, we can move on to the next group of numbers in a similar way to before: we can rename the graxulducentidyex the greaxul (short for "great faxul"), represent it using ![3], and define a new suffix -triek for ![3], and then continue with:

Greaxul = 200![3]
Greaxultriek = 200![3]2 = 200![3]![3]
Greaxuldutriek = 200![3]3 = 200![3]![3]![3]
Greaxultritriek = 200![3]4 = 200![3]![3]![3]![3]
Greaxulquadritriek = 200![3]5 = 200![3]![3]![3]![3]![3]
Greaxulquinquetriek = 200![3]6 = 200![3]![3]![3]![3]![3]![3]
Greaxulsexatriek = 200![3]7 = 200![3]![3]![3]![3]![3]![3]![3]
Greaxulseptitriek = 200![3]8 = 200![3]![3]![3]![3]![3]![3]![3]![3]

As you would expect, these numbers are even more ridiculously big than the previous ones. This is a diagram of a number slightly smaller than a greaxultritriek:

The Vaxul Group

We can continue to the next group: the vaxul (short for "vast faxul") group, using -tetrek as the new suffix:

Vaxul = 200![4]
Vaxultetrek = 200![4]2 = 200![4]![4]
Vaxuldutetrek = 200![4]3 = 200![4]![4]![4]
Vaxultritetrek = 200![4]4 = 200![4]![4]![4]![4]
Vaxulquadritetrek = 200![4]5 = 200![4]![4]![4]![4]![4]
Vaxulquinquetetrek = 200![4]6 = 200![4]![4]![4]![4]![4]![4]
Vaxulsexatetrek = 200![4]7 = 200![4]![4]![4]![4]![4]![4]![4]
Vaxulseptitetrek = 200![4]8 = 200![4]![4]![4]![4]![4]![4]![4]![4]

This is a representation of a number, again, slightly smaller than a vaxultritetrek:

These are getting really big!

The Coloxul Group

Now onto the coloxuls (short for "colossal faxul"). This time, the suffix is -pentek:

Coloxul = 200![5]
Coloxulpentek = 200![5]2 = 200![5]![5]
Coloxuldupentek = 200![5]3 = 200![5]![5]![5]
Coloxultripentek = 200![5]4 = 200![5]![5]![5]![5]
Coloxulquadripentek = 200![5]5 = 200![5]![5]![5]![5]![5]
Coloxulquinquepentek = 200![5]6 = 200![5]![5]![5]![5]![5]![5]
Coloxulsexapentek = 200![5]7 = 200![5]![5]![5]![5]![5]![5]![5]
Coloxulseptipentek = 200![5]8 = 200![5]![5]![5]![5]![5]![5]![5]![5]

Now for the representation of a number slightly smaller than a Coloxultripentek:
These representations are really pushing the limits of what can be made with paint in less than 5 minutes!

The Maxul Group

Finally (for this lot at least), we come to the maxul group (short for "maximal faxul", as this is the largest part of the entire -xul collection). The suffix is -hexek, and so the numbers are:

Maxul = 200![6]
Maxulhexek = 200![6]2 = 200![6]![6]
Maxulduhexek = 200![6]3 = 200![6]![6]![6]
Maxultrihexek = 200![6]4 = 200![6]![6]![6]![6]
Maxulquadrihexek = 200![6]5 = 200![6]![6]![6]![6]![6]
Maxulquinquehexek = 200![6]6 = 200![6]![6]![6]![6]![6]![6]
Maxulsexahexek = 200![6]7 = 200![6]![6]![6]![6]![6]![6]![6]
Maxulseptihexek = 200![6]8 = 200![6]![6]![6]![6]![6]![6]![6]![6]

These numbers are extremely big, and comparison to any number which could actually be used in the universe would be fruitless, as these numbers are really impossible to compare to anything real.

I have made a representation of a number slightly smaller than a maxultrihexek, but it's too large to fit onto this page, so I have given it it's own page here

You may have noticed that these groups are forming a sequence, and as already mentioned, googologists like sequences. So, we can jump straight to the 200th term of the sequence, and into the next group...

The Faxothol Group Plane

From here on the numbers start going beyond the kind of thing you can represent with just basic factorial and some basic knowledge of paint. These numbers start to get huge. That's not just a bit huge, like the numbers before, but huge. The italics make it better. This group is actually a group plane: it deals with 2 entry arrays, which could be though of like the coordinates in a plane. The first row could be thought of as faxul, graxul, etc. The second row is:

Faxothol = 200![1,2]
Graxothol = 200![2,2]
Greaxothol = 200![3,2]
Vaxothol = 200![4,2]
Coloxothol = 200![5,2]
Maxothol = 200![6,2]

The third row is:

Faxodithol = 200![1,3]
Graxodithol = 200![2,3]
Greaxodithol = 200![3,3]
Vaxodithol = 200![4,3]
Coloxodithol = 200![5,3]
Maxodithol = 200![6,3]

A quick pronunciation note: the -di- should always be pronounced seperately from what comes after it, for example, vaxodithol should be pronounced vaxo-die-thol, not vaxo-dith-ol. This is the same for other prefixes. Now, onto the fourth row:

Faxotrithol = 200![1,4]
Graxotrithol = 200![2,4]
Greaxotrithol = 200![3,4]
Vaxotrithol = 200![4,4]
Coloxotrithol = 200![5,4]
Maxotrithol = 200![6,4]

And the fifth row:

Faxotetrathol = 200![1,5]
Graxotetrathol = 200![2,5]
Greaxotetrathol = 200![3,5]
Vaxotetrathol = 200![4,5]
Coloxotetrathol = 200![5,5]
Maxotetrathol = 200![6,5]

The sixth row:

Faxopentathol = 200![1,6]
Graxopentathol = 200![2,6]
Greaxopentathol = 200![3,6]
Vaxopentathol = 200![4,6]
Coloxopentathol = 200![5,6]
Maxopentathol = 200![6,6]

The seventh row:

Faxohexathol = 200![1,7]
Graxohexathol = 200![2,7]
Greaxohexathol = 200![3,7]
Vaxohexathol = 200![4,7]
Coloxohexathol = 200![5,7]
Maxohexathol = 200![6,7]

Obviously, this could be extended basically indefinitely, but I'm only going to write out these numbers due to Google Sites being annoyingly limited to finite websites.

The Faxoduol, -triol, -tessarol and Group Space

We can now jump straight into the final part of this naming system: Group space. The array with any number of entries could be thought of as coordinates in space with an infinite number of dimensions: because n![◆] = n![◆,1,1,1,1,...], a number can be thought of as being in position 1 of dimensions past what is specified in the array. To name positions in higher dimensions, we can use the suffixes -duol, -triol, -tessarol, -pentarol, -hexarol and so on, along with the suffix-prefixes (a prefix of a suffix) -di-, -tri-, -tetra-, -penta-, -hexa- (The first suffix-prefix should be -uni-, but this can be omitted. If one suffix is missed out, it's corresponding value in the array is 1). These can be combined to specify any array, and are always listed from least to most powerful. Here are some examples of this system being used:

Faxoduol = 200![1,1,2]
Faxotholduol = 200![1,2,2]
Faxoditholduol = 200![1,3,2]
Faxotholdiduol = 200![1,2,3]
Faxotritholhexaduol = 200![1,4,7]
Faxotriol = 200![1,1,1,2]
Faxotessarol = 200![1,1,1,1,2]
Faxopentarol = 200![1,1,1,1,1,2]
Faxohexarol = 200![1,1,1,1,1,1,2]

Of course, we could also have extremely complex number names, such as...

Faxotholdiduoltritriol = 200![1,2,3,4]
Faxotholdiduoltritrioltetratessarol = 200![1,2,3,4,5]
Faxotholdiduoltritrioltetratessarolpentapentarol = 200![1,2,3,4,5,6]
Faxotholdiduoltritrioltetratessarolpentapentarolhexahexarol = 200![1,2,3,4,5,6,7]
Faxotholdiduoltritrioltetratessarolpentapentarolhexahexarolheptaheptarol = 200![1,2,3,4,5,6,7,8]

For now, at least, this is the end of basic factorial array notation. I will probably extend and improve this article at some point, but for now we can proceed past the sense of order created in FAN, and onto extended factorial array notation: EFAN. It is unpredictable, pretty esoteric, strange, counter-intuitive, quite controversial, but most importantly it is, even by googological standards, unbelievably powerful.

Next article: Extended factorial array notation