2.06. Joyce's googol-based naming systems

(back to 2.05)

Introduction: Who is Andre Joyce?

A particularly strange set of large number prefixes and suffixes based upon some curious observations about the names "googol" and "googolplex" was invented by a mysterious figure named Andre Joyce. Who exactly is he?

Andre Joyce is the person who coined the word "googology", and his work is among the widely recognized works of googology, along with Jonathan Bowers' work, the other popular large number notations (the works of Knuth, Graham, Steinhaus, Conway, and Cockburn), and more recently the works of other googologists like Sbiis Saibian. So surely we must know who exactly he is, right? Nope, not at all. Very little is known about Andre Joyce. We don't know where or when he was born, what he looks like, whether or not he's alive, where he lives; in fact, it's pretty dubious that he ever existed! The only records of his existence are strange texts on Michael Joseph Halm's website (A, B) and on Razilee Purdue's website. From those we can gather that he is heavily involved with something called "pataphysics", a movement initiated in France by Alfred Jarry in the late 1800s.

I can't claim to know exactly what pataphysics (sometimes written 'pataphysics) really is. It's typically defined as the study of "what lies beyond metaphysics". While metaphysics attempts to answer the questions "what is ultimately there" and "what is it like", pataphysics apparently goes beyond that. But what does that mean? Perhaps pataphysics is just the study of the absurd, or maybe a parody of some sort. It seems as though the idea of what pataphysics is is intentionally confusing. I can't really say for sure; I'm probably missing something. That said, let's continue with how Joyce is involved in pataphysics.

The idea of absurdity (perhaps the main goal of pataphysics) is very prevalent in Joyce's work. An example is something called "jootsy calculus", a system Joyce invented that changes up the whole notation of numbers in some weird way such that 2+2 = 5 and other crazy stuff, and that is of course incredibly silly and easily leads to contradictions. Joyce has devised other strange systems as well, for example a whole set of extrapolations from the word "dubious", and an intentionally confusing game called "dominissimo". This suggests that pataphysics is partially about inventing such humorous absurd systems.

But Joyce's googology page, an article published by Michael Halm that is said to be a translation of Joyce's work, clashes with the absurdity that characterizes pataphysics by its very nature! While pataphysics studies the absurd, googology intends to study large well-defined numbers that ultimately must refer to mathematical soundness, not just strange nonsense, and there's no getting around that!

On the other hand, much of Joyce's text is erroneous anyway, and an old version of his googology page before it was updated in mid-2014 is even more erroneous. Sbiis Saibian went so far as to write a lengthy article on his large number site critiquing Joyce's work (the old version of the article to be specific), showing just how much of it is erroneous! Are the errors somehow part of the pataphysics, or is there just a ridiculously huge amount of errors? Nobody knows for sure.

It seems that Andre Joyce most likely doesn't exist, not only because the only texts describing him (for example his biography on Michael Halm's site) are either extremely dubious texts or themselves cite those texts, but also becase figures like Andre Joyce are commonly invented by pataphysicists. Some large number enthusiasts like Tyler Zahnke have done intensive research on pataphysics, and found that pataphysicists invent fictional people like Andre Joyce as a persona of sorts, and when they die other people compete to take on that persona. This suggests that Joyce is probably a pataphysical moniker someone took on to publish absurd works.

So if Andre Joyce didn't create his googology, who did? Most likely it was Michael Joseph Halm, who was born 1947 and is the founder of a corporation called "Hierogamous Enterprises". In that case he can be credited with coming up with the term "googology" and everything else "Joyce came up with".

In any case, Andre Joyce really is quite a mysterious figure, but that mystery and strangeness seems to be part of the nature of pataphysics. I think we're now ready to examine Joyce's system.

The Googo- Prefix

The googo- prefix is easily Joyce's most memorable creation. Although it was probably Michael Halm who created it, the prefix is typically credited to Joyce anyway, as is all the other googology on that page. Joyce starts by making a curious observation about the name "googol". He noticed that "googol" ends in L (the Roman numeral for 50), and that it can be expressed as 10050 = (2*50)50. Joyce then generalized this with a prefix googo-, which can be applied to any number n written in Roman numerals to turn it into (2*n)n. A commonly given example of this would be the googoc. Since C is 100 in Roman numberals, googoc is (2*100)100 = 200100 ~ 1.2676*10230. Joyce gives some examples of the prefix:

googoc = 200100 ~ 10230

googoci = 202101 ~ 10232

googocci = 402201 ~ 10523

googoccic = 598299 ~ 10803

googom = 20001000 ~ 103300

(note: red names are googolisms Joyce himself mentioned)

These examples all are correct and pretty easy to parse if you know Roman numerals. But the name "googoccic" is a bit of an oddity. CCIC in Roman numerals can be easily read as 100+100+(100-1) = 299, but that's technically not correct usage of the system; in proper Roman numerals, you can only put a lower-tier letter in front of a higher-tier one if the two letters are of neighboring tiers and differ by a factor of five, like I and V, X and L, or C and D. Joyce, however, allows taking such liberty with Roman numerals in his system for compactness's sake.

A notable problem with the googo- prefix is pronunciation. First off, how do you distinguish the double c's and single c's in pronunciation, like googoci vs googocci? I think it makes sense the "cc" like "ch" in "chair". This is because of the name "googocci" for 402201. Joyce himself notes that the name is Italian-like, which suggests that the cc is pronounced like "ch".

But beyond that, many of the names are impossible to pronounce at all. For example, how would you say the name:


To solve this problem, Joyce allows usage of "el" in place of L, "ex" in place of X, and "em" or "ump" (I prefer the first) in place of M. In the 2014 overhaul of Halm's page, a few more substitutions were added: "vy" in place of V, "cy" in place of C, and "dy" in place of D. Those littlehey are pronounced "vee", "see", and "dee" respectively, as in "ivy", "Nancy", or "lady". In addition, in place of II and III he allows "ij" and "ox" respectively. "ij" is sensible enough, but "ox", which comes from the Mayan word for three, is more confusing because it contains the letter X which is the Roman numeral for 10. In an early predecessor of this article, I suggested the less confusing "iji" instead, and that alternate replacement was later added to the webpage in 2014 to note that people came up with that. With that the unpronounceable number shown above might be called:

googomemdycyccexelviji (pronouncing "cc" the same way I pronounce it in "googocci")

Joyce gives some example numbers of that usage:

googolex = 12060 ~ 10124

googoxem = 1980990 ~ 103263

googomump = 40002000 ~ 107204 (alternatively can be called googomem)

and on the old verrsion of his page he gave an erroneous example:

googolmox = 20061003 ~ 103312

What's wrong with this number name? The "lmox" following the googo- prefix would be read as not 1003, but 953. A correction would be changing the name of the number to "googomox" without the L, or alternatively "googomiji". Since then the example was removed from the article.

So the googo- prefix is a pretty cool prefix alright. But Joyce gives an additional extension to his system, using a lesser-known extension to Roman numerals.

In Roman numerals, putting a bar on top of a letter or group of letters multiplies it by 1000. In typing we'll use /A where A is any letter to denote a bar on top of that letter, and for multiple letters we can use (for example) /(XV) to denote 15,000, which is XV with a bar above it. We can use two bars to multiply a number by a million, three to multiply by a billion, and in general x bars to multiply by 103x. For example /////////////////////////////////X would be X with 33 bars on top of it, which is 10*103*33 = 10100, a googol.

So how does Joyce apply this idea of bars to his googo- system? He uses "bar" after a set of letters to denote applying a bar to them, "barbar" for two bars, "barbarbar" for three bars, and so on. Those can be compacted to "dubar", "tribar", etc, using Latin prefixes. He gives some examples of the system in action:

googolbar = 100,00050,000 = 10250,000

googocbar = 200,000100,000 ~ 10530,103

googodbar = 1,000,000500,000 = 103,000,000

googombar = 2,000,0001,000,000 ~ 106,301,029

googomembar = 4,000,0002,000,000 ~ 1013,204,199

I think you get the idea. Let's move on to googolple-, the googo- prefix's more convoluted sibling.

The Googolple- Prefix

If we can have a googo- prefix, why not have a prefix based on the googolplex to go along with it? This is where the googolple- prefix comes in.

Originally Joyce defined googolple-n (n is written in Roman numerals) to be n(2n)^n. Is this a working definition like the googo- prefix is? Well, to find out we'll see if we get the right value of a googolplex in the system. Since "googolplex" ends in X and X is 10 in Roman numerals, we get:

googolplex = 1020^10 = 1010,240,000,000,000

That isn't a googolplex at all! That's a mere 1 followed by 10.24 trillion zeros, in contrast to a googol zeros! Even the decimal expansion of a googolplex dwarfs the decimal expansion of this erroneous value of a googolplex by a factor of 1087! That's more than the number of atoms in the observable universe! Suffice to say that Joyce failed to get a googolplex that way. He failed to realize that googolplex ends in X and not L, so his definition makes no sense! He didn't even coin any googolisms with that prefix.

Fortunately, it's easy to come up with an alternate interpretation of that prefix that works really nicely: googolple-n can be redefined mean nn^n^2. That definition actually works:

googolplex = 1010^10^2 = 1010^100

That said we can try some example values of the googolple- prefix:

googolplei = 11^1^2 = 1. Trivial of course. "Googolplei" (I pronounce it /goo-gol-play/) can then be seen as an alternate name for 1, just as "googoi" can be seen as an alternate name for 2.

googolpleij = 22^2^2 = 65,536. A bigger value but still not too bad.

googolpleiji = 33^3^2 = 319,683 =











































































That above is a pretty cool number. It has exactly 9392 digits, so it's much bigger than the number of atoms or Planck volumes in the observable universe. However it's still easily written out as shown above.

googolpleiv = 44^4^2 = 44^16 = 44,294,967,296 ~ 9.6304*102,585,827,972

This has 2.586 billion digits! It's possible to compute, but would require a huge amount of operations and a massive file to store it, taking up a fairly significant portion of even today's hard drives.

googolplev = 55^5^2 ~ 102.05*10^17

This has 205 quadrillion digits. It would take about 100,000 terabyte hard drives to store all those digits. Think about how much space that would take up, just to store the fifth smallest number expressible using the googolple- prefix!

We can also name numbers larger than a googolplex using that prefix. For example:

googolplem = 10001000^1000^2

= 10001000^1,000,000

= 1000(10^3)^1,000,000

= 100010^3,000,000

= (103)10^3,000,000

= 103*10^3,000,000

That's not one followed by three million zeros. It's one followed by three times "one followed by three million zeros" zeros! An unfathomable number alright.

There's a third interpretation of the googolple- prefix that is not quite in the same spirit of googo-, but is arguably more logical. That interpretatation comes not from backforming the name "googolplex", but from backforming the "-plex" suffix itself which is itself backformed from the googolplex. Since based on the name "googolplex", x-plex = 10x, and "plex" ends in X which is Roman numerals for 10, we can generalize this to x-ple-y (y is written in Roman numerals) = yx. Then googolple-n would equal n10^100.

Now that above can not only form numbers of the form googolple-x (e.g. googolpleij = 210^100 ~ 103.010*10^99 or googolplem = 100010^100 = 103*10^100), but also any number of the form googo-x-ple-y. For example:

googocpled = 500200^100 ~ 103.42*10^230

googomemeliplemeli = 10514102^2051 ~ 1010^7410

I think you get the idea.

So which system is better? I personally prefer the googolple- prefix that is similar in spirit to the googo- prefix, for its aesthetic appeal, though I have to give some credit to the -ple- infix idea as well for its simplicity.

In any case, Joyce takes this strange system a step further by extrapolating the other parts of the name "googol" in a somewhat confusing fashion ...

The Extended Googo- Prefix

Most of Joyce's googologisms, including his googolisms (his named numbers), are extrapolations of some sort, and his crazy extended googo- prefix is a great example. He in fact has two versions of that system, an old version (on the old version of Halm's article) and a new version (on the current version of Halm's article).

Joyce's g-function

Before we can learn about the extensions to the googo- prefix, we need to learn about a variant Ackermann function of Joyce's invention that's popularly known as the g function. He represents many of his numbers not with conventional notation, but with that strange function, making his pages a little hard to read.

The function's definition is pretty loose but easy to see what it means:

g(0,a,b) = b+a

g(1,a,b) = b*a

g(2,a,b) = ba

g(3,a,b) = b^^a

g(a,b,c) = g(a-1,g(a-1,b,c),c)

From that loose definition we can gather that when n ≥ 2, g(n,a,b) = b^n-1a, so really the 3-argument function is just Knuth's up-arrow notation in disguise. He gives a further rather ad-hoc polyadic extension of his function, loosely defining it for 4, 5, and 6 arguments (only the 6-argument version actually produces significantly larger numbers!). Sbiis Saibian discusses that function in depth in his large number site.

Old Version

Joyce observed that:

googo-x = g(2,x,g(1,x,2))

and concluded that just as the letter(s) after googo- refer to x, the "oo" must refer to the red 2, the "o" to the 1, and the number of g's to the blue 2. In other words, in Joyce's idea "oo" means 2 and "o" means 1. That means that (for example) we can swap the "oo" and "o" around to get:

gogool = g(1,50,g(2,50,2)) = (250)*50 = 56,294,995,342,131,200

That's about 56 quadrillion, so it's much smaller than a googol. Still smaller would be:

gogol = g(1,50,g(1,50,2)) = (2*50)*50 = 100*50 = 5000

That's even smaller than a gogool. It's not even that impressive of a number in day-to-day life.

NOTE: A gogol is also the name of a googolism by Sbiis Saibian equal to 1050, the square root of a googol. We'll examine Sbiis Saibian's googolisms in detail in section 3.

We can also make numbers larger than a googol, for example:

googool = g(2,50,g(2,50,2)) = (250)50 = 250*50 = 22500 ~ 3.7583*10752

or googooc = g(2,100,g(2,100,2)) = (2100)100 = 210,000 ~ 1.9951*103010

and also an ambigious name, googoox. Is it googo-ox = (2*3)3 = 216, or googoo-x = (210)10 ~ 1.2676*1030? This is why I prefer the unambiguous "iji" in place of "iii".

Joyce also decided to make some sort of g-repeating scheme to add on to this weird system, defining:

googgo-x = g(2,x,g(1,x,3)) = (3x)x

googggo-x = g(2,x,g(1,x,4)) = (4x)x


We can of course change around the "o" and "oo" as well.

With that Joyce named two googolisms:

googgol = g(2,50,g(1,50,3)) = 15050 ~ 6.7362*10108

This number is relatively close to the googol itself. It's 674 million times larger, but that's pretty close on this scale.

googgool = g(2,50,g(2,50,3)) = (350)50 = 32500 ~ 6.3553*101192

This is a lot larger than a googol. It's bigger than a googol to the eleventh power.

These are weird, but I'll admit they're pretty cool. One problem with those is pronunciation: how do you distinguish "googol", "googgol", and "googgool" in speech? I myself pronounce them /goo-gol/, /goo-guh-gol/, and /goo-guh-gool/ respectively.

We can also have bigger amounts of g's, for example:

googggool = g(2,50,g(2,50,4)) = (450)50 = 42500 ~ 1.4125*101505

I pronounce this /goo-guh-guh-gool/.

This system isn't all that impressive size-wise, but Joyce's further extensions allow for a pretty cool system.

So apparently we now have "o" as a vowel for 1, and "oo" as a vowel for 2. What about vowels for 3, 4, 5, etc? In a seemingly random pattern Joyce gives us:

ee = 3, or = 4, ie = 5, i = 6, e = 7, ei = 8

If you peruse the text, however, it mentions that the sounds came from the English names for the numbers "three", "four", "five", "six", "seven", and "eight". On the old version of the page there were only a few Joycian googolisms that can be named with that system listed:

geegeel = g(3,50,g(3,50,2)) = (2^^50)^^50 ~< 2^^100 [Knuth Arrow Theorem]

geeggeel = g(3,50,g(3,50,3)) = (3^^50)^^50 ~< 3^^100 [Knuth Arrow Theorem]

NOTE: The Knuth Arrow Theorem, a theorem proven by Sbiis Saibian, states that for all a ≥ 2, b and c ≥ 1, and n ≥ 2, (a^nb)^nc ~< a^n(b+c). We'll be making heavy use of it in the next article.

Now we're talking! Those go WAY beyond all those googo- and googolple- numbers, or any numbers using only "o" and "oo" as vowels. These numbers fall in the high tetrational range, and I pronounce them /gee-geel/ and /gee-guh-geel/ respectively.

geiggeil = g(8,50,g(8,50,3)) = (3^^^^^^^50)^^^^^^^50 ~< 3^^^^^^^100 [Knuth Arrow Theorem]

geiggeim = g(8,1000,g(8,1000,3)) = (3^^^^^^^1000)^^^^^^^1000 ~< 3^^^^^^^2000 [Knuth Arrow Theorem]

These are MUCH larger than the previous two numbers. These don't just use tetration, but the much harder-to-understand hyper-operation, enneation! I pronounce these /gay-guh-gail/ and /gay-guh-game/ respectively because that's the way "ei" is pronounced in the word "eight" it's derived from.

To better understand this system here are some more example numbers:

gorgel = g(4,50,g(7,50,2)) = (2^^^^^^50)^^^50

This is "two octated to fifty" pentated to 50. It's a strange salad number since it is made by applying an operator to a number way beyond numbers formed with that operator. It isn't even bigger than 2^^^^^^51! It's easy to see why:


< (2^^^^^(2^^^^^^49)^^^50

< (2^^^^^(2^^^^^^49)^^^^^50

< (2^^^^^(2^^^^^^49 + 50) [Knuth Arrow Theorem]

< (2^^^^^(2 * 2^^^^^^49)

< (2^^^^^(2^^^^^(2^^^^^^49))

< (2^^^^^(2^^^^^^50)

< 2^^^^^^51 [Knuth Arrow Theorem]

Even that is a massive overestimate.

Another example:

giggeemel = g(6,1050,g(3,1050,3)) = (3^^1050)^^^^^1050

This is three tetrated to 1050, heptated to 1050. It's another weird number that is not quite as much of a salad number as a "gorgel", but still less than 3^^^^^1052. To see why consider this:


< (3^^^^^2)^^^^^1050

< 3^^^^^1052

NOTE: To prove that 3^^1050 < 3^^^^^2, consider this:


< 3^^(3^^3)

= 3^^^3

< 3^^^(3^^^3)

= 3^^^^3

= 3^^^^(3^^^^1)

= 3^^^^^2

Hopefully you get the idea of this whole crazy vowel scheme.

New Version

The Joycian googol-extrapolation system was recently changed to a different version that is somewhat more sensible than the old version, but in my opinion it doesn't have the same strange mix of sheer whimsy and charming appeal the old version has.

In this version, Joyce made observations about the form of a googol written as:


In this new system, it seems that "oo" and "o" still mean 2 and 1 respectively, but here the "oo" refers to the red 2 and "o" refers to the blue 1. Once again we can swap stuff around to get numbers like:

gogol = (1*50)(1*50) = 5050 ~ 8.8818*1084

This is much larger than the value of a "gogol" in the old version of the system, or the old "gogool" or even Sbiis Saibian's gogol (1050).

gogool = (1*50)(2*50) = 50100 ~ 7.8886*10169

Note that unlike the value of "gogool" in the old system, this is larger than a googol.

And also:

googool = (2*50)(2*50) = 100100 = 10200

This number is in fact smaller than the value of a googool in the old system.

So as you can see, so far this system is pretty different from the previous system.

In Joyce's further extensions, "ee", "or", etc, mean 3, 4, etc, like previous, but here they are used in the same way "oo" and "o" are used in this system.

For example, in this system:

geegeel = (3*50)(3*50) = 150150 ~ 2.5923*10326

This is much less than the value of a geegeel in the old system, (2^^50)^^50.

A larger number would be:

geigeil = (8*50)(8*50) = 400400 ~ 6.6680*101040

Hmm, these values are pretty disappointing compared to the values that can be created with all those vowels in the old system.

So how do we get higher hyper-operators using this weird system? Well, in this system the g-count indicates the hyper-operator. For example, while googol = (2*50)50 = 10100, googgol in this system is (2*50)^^50 = 100^^50, googggol in this system is (2*50)^^^50 = 100^^^50, etc.

For further understanding of how the new system works, let's compare numbers the two systems produce in a table:

* Here I'm borrowing Jonathan Bowers' operator notation (we'll examine it in section 3), where {a} means a up-arrows.

As you can see, the new version of the system is probably more sensibly designed than the new one. However, I personally don't enjoy it as much as the old system, which more easily produces large numbers.


Joyce's crazy system is, if anything, weird. It is something quite different from the modern goal of googology, made with some sort of weird extrapolations. But I'll admit, I think it's pretty cool. It largely has a special spirit of whimsicality, something that is thought by some as a relevant part of googology but by others as trivial. In any case, I think we're done with looking at that system. Up next for us to look at is another one of the popular large number notations, Steinhaus-Moser notation.

2.07. Steinhaus-Moser Notation