これはen:User_blog:P進大好きbot/List_of_Common_Failures_in_Googologyの和訳です。


巨大数を定義するうえでよくある失敗をまとめました。巨大数論に現れるよくある間違いも参照してください。


目次

タイプミス

タイプミスは、巨大数論者であれば誰もが一度は経験するものです。ブログ記事を投稿すれば、たくさんのタイプミスを発見するでしょう。自分の表記を拡張すれば、新しいタイプミスを発見するでしょう。タイプミスを修正すれば、その修正で新しいタイプミスが生まれているのを発見するでしょう。最小の弱タイプミス基数を、高階の到達不能タイプミスの対角化として用いることができます。最小の弱タイプミス基数を最小の再帰的タイプミス順序数に置き換えて、\(\textrm{ZFC}\)集合論内で機能するようにしても良いでしょう。

この分ば。タイ゜フスミスのイ列です、 (訳注: この文は、タイプミスの例です。)


曖昧さ

定義は曖昧さがあまりない、簡潔な文章で書かれなければなりません。もちろん、自然言語の定義文というのは大抵ある程度の曖昧さを持つ語句を含みます。しかし、もし曖昧過ぎる定義文を書いた場合、エラーを正確に指摘するのが困難になります。例えば、定義文DがA、B、Cの3つの定義に解釈できるとします。AにXというエラーが、BにYというエラーが、CにZというエラーがそれぞれあるとしましょう。私たちが「DにXというエラーがあるよ。」と指摘すれば、あなたはたぶん「いや、DはAという意味じゃないよ。」と答えるでしょう。次に私たちが「ああ、ならDにYというエラーがあるよ。」と指摘すれば、あなたはたぶん「いや、DはBという意味じゃないよ。」と答えるでしょう。最終的に私たちが「分かった、ならDにZというエラーがあるよ。」と指摘したところで、あなたはたぶん「分かった!ありがとう!」と答えるでしょう。このような流れの議論は時間の無駄と言えます。もし他人に定義を正しく理解してもらいたい、エラーを正確に指摘してもらいたいと思うなら、定義文はできるだけ明確に書くのがあなたのためになるでしょう。

以下は、曖昧な定義文による問題の例です。


定義域の明示の欠如

「カッコ表記を次のように再帰的に定める: \((a,b) = a^b\)、 \((a,b,0) = (a,b)\)、 \((a,b,c+1) = (a,(a,b,c),c)\)。\(N = (0,(0,(0,0),0),0)\)とする。」

この文は、定義域(つまりどんな値の組み合わせを代入できるか)の正確な定義を加筆しない限り、\(N\)を定義しません。第一に、表記というものは項書き換えを用いる関数です。関数は定義域と値の定め方の組として定義されます。従って定義域の固定されていない関数は、値の定め方を固定していない関数と同程度にill-definedです。だからこの表記がill-definedだというわけです。

(部分)関数や関数論理式の定義域を明記するためには、代入する値を表す変数全てを量化し、代入する値の組み合わせに課されているすべての条件を明示する必要があります。定義域を明記する標準的な方法の例を列挙します。これらを値の定め方より前に明記しましょう:

  1. カッコ表記\((x)\)を正整数の任意の列\(x\)に対し以下のように再帰的に定める:
  2. カッコ表記\((x)\)を非負整数の任意の列\(x\)に対し以下のように再帰的に定める:
  3. カッコ表記\((x)\)を整数の任意の列\(x\)に対し以下のように再帰的に定める:
  4. カッコ表記\((x)\)を実数の任意の列\(x\)に対し以下のように再帰的に定める:
  5. カッコ表記\((x)\)を任意の文字列\(x\)に対し以下のように再帰的に定める:
  6. カッコ表記\((x)\)を正整数の任意の非空列\(x\)に対し以下のように再帰的に定める:
  7. カッコ表記\((x)\)を非負整数の任意の非空列\(x\)に対し以下のように再帰的に定める:
  8. カッコ表記\((x)\)を整数の任意の非空列\(x\)に対し以下のように再帰的に定める:
  9. カッコ表記\((x)\)を実数の任意の非空列\(x\)に対し以下のように再帰的に定める:
  10. カッコ表記\((x)\)を任意の非空文字列\(x\)に対し以下のように再帰的に定める:
  11. カッコ表記\((x)\)を正整数の長さ\(3\)以下の任意の非空列\(x\)に対し以下のように再帰的に定める:
  12. カッコ表記\((x)\)を非負整数の長さ\(3\)以下の任意の非空列\(x\)に対し以下のように再帰的に定める:
  13. カッコ表記\((x)\)を整数の任意長さ\(3\)以下の非空列\(x\)に対し以下のように再帰的に定める:
  14. カッコ表記\((x)\)を実数の任意長さ\(3\)以下の非空列\(x\)に対し以下のように再帰的に定める:
  15. カッコ表記\((x)\)を長さ\(5\)以下の任意の非空文字列\(x\)に対し以下のように再帰的に定める:
  16. カッコ表記\((x)\)を正整数とコンマのみからなる長さ\(5\)以下の任意の非空文字列\(x\)に対し以下のように再帰的に定める:
  17. カッコ表記\((x)\)を正整数とコンマとカッコ\((\)と\()\)のみからなる長さ\(15\)以下の任意の非空文字列\(x\)に対し以下のように再帰的に定める:

定義域の定義の具体的な例を読んだ後なら、元の書き方が以下に曖昧だったか分かるでしょう。

ill-defined性の問題を置いておいて、定義域の省略が以下に曖昧さを生むかを説明します。許容される表現式を明示しなければ、ネストした表現式\((0,(1,2),3)\)が長さ\(11\)の許容された表現式なのか、それとも表現式\((0,n,3)\)の\(n\)が\((1,2)\)の場合として得られるものなのか、誰も分からないということになります。このようなネストされた表現式の問題の解決方法はかなり曖昧なものとなります。なぜなら、ネストされた表現式そのものを許容される表現式として扱う表記がたくさんあるからです。定義域を明示することは、大まかには自分の表記の中でそれが許容される表現式であるという状況を正確に明示することになります。初心者は大抵計算ルールが定義域を特徴付けると思いがちですが、それは間違いです。もし定義域が明示されていなければ、計算ルールの適用方法ですら明確になるとは限らないのです。

定義域の明示の欠如による同様の問題は、\(3 \triangleleft 2 \triangleleft 4\)のような中置記法の表記を優先順位の明示をせずに扱っている場合も生じます。\(3 \triangleleft 2 \triangleleft 4\)が長さ\(5\)の許容された表現式なのか、それとも表現式\(n \triangleleft 4\)の\(n\)が\(3 \triangleleft 2\)の場合として得られるものなのか、それとも表現式\(3 \triangleleft m\)の\(m\)が\(2 \triangleleft 4\)の場合として得られるものなのか、誰にも分からないということになります。

定義域を固定せずに指摘された個々の問題を解決するだけでは不十分であることを覚えておいて下さい。私(訳注:p進大好きbot)が定義域の欠如の問題を指摘した時、初心者はその問題によって生じる不具合を尋ねる傾向にあります。そこで不具合の具体例を指摘すると、その人達は私が指摘した不具合以外には問題がないと思い込んでしまい定義域の問題を解決せずに指摘された具体例だけを修正しようとしてしまいがちです。不具合の例というのは単に例に過ぎず、それらを修正したとしても、定義域の欠如の問題を解決師な限りは他の不具合が残るでしょう。重要な点は、表記に定義域が定まっていない以上、あなたが不具合を見つけることが出来ないとしてもそれはill-definedなままであるということです。


もちろん定義域を明確にした後も曖昧さの問題は残るかもしれません。これらの曖昧さを排除するためには、すべての変数を定義全体を通して量化する必要があります。もし量化について知らなければ、この失敗集の変数の量化の欠如の項を参照してください。複雑な制限を各変数にでなく変数の組に対して行おうとしている場合、各変数の量化のみではあなたの関数の定義域を特徴付けないことに注意してください。

例えば、\(a\)と\(b\)が自然数、\(s\)が文字列で、\(a+b\)が\(s\)の長さよりも大きいような変数の組\((a,b,s)\)に対して関数を定義したい場合、ただ各変数を「いかなる自然数\(a\)と\(b\)と文字列\(s\)に対しても、\(a(s)b = \)...」と量化するのでは、変数の組\((a,b,s)\)に想定している状況の説明が明らかに欠けていて定義として不十分なことが分かるでしょう。

ではどうすれば良いのかというと、単純に「\(a+b\)が\(s\)の長さよりも大きいようないかなる自然数\(a\)と\(b\)と文字列\(s\)に対しても、自然数\(a(s)b\)を...として定める。」や「自然数\(a\)と\(b\)、文字列\(s\)に対し、『\(a+b\)が\(s\)の長さよりも大きい』が成り立つとする。自然数\(a(s)b\)を次のように定める:」のように宣言すれば良いのです。入力する変数の組の正確な状況をすべて書き下すことによって、定義域の明示が達成されるのです。これは、読み手に定義の問題を正確に指摘させやすくします。例えば、「ルール4で\(a(s)b-1\)を想定しているけど、変数の組\((a,b-1,s)\)は表記の定義域から外れてしまう可能性があるよ。」のような感じです。

部分関数を定義する場合は「...が成り立つ」や「...を満たす」といった追加の条件文を書く必要はありません。しかし、その場合であっても「部分関数\(a(s)b\)を変数の組\((a,b,s)\)を用いて定める。\(a\)と\(b\)は自然数、\(s\)は文字列である。」のように、実際の定義域を含む領域は明示しなければなりません。もし新たに表記を作るのに慣れていないなら、表記を部分関数として定めようとするのではなく定義域を明示する方が、あなたにも読み手にもエラーを見つけさせやすくするでしょう。

この曖昧さは、初心者が定義の先頭に「すべての記号は正整数である。」のようなことを書いて、正確な説明を省こうとする場合によく起こります。彼らはもしかすると「言った通り、式は全部正の数だ!だから\(a-b\)という式が出てきたらそれは自動的に私が普通に自明な状況『\(a\)は\(b\)より大きい』を想定していることになる!」というかもしれませんが、これは筋が通りません。繰り返しますが、数学における関数の概念は定義域のデータとその対応として定義されるため、定義域無しの関数の定義というのは対応無しの関数の定義を同じくらいill-definedなものとなります。


変数の量化の欠如

「項書き換えを次のように再帰的に定める: \((n) = n+1、 (0,s) = ((s))、 (n,s) = (n-1,(n-1,s))、 (0,0,s) = ((s),(s))\)。\(N = (0,0,0,0,0)\)とする。」

この文は\(N\)を定めることができていません。なぜなら、変数\(n\)と\(s\)を完全に量化していないからです。読み手には\(n\)が自然数なのか正整数なのか分かりませんし、\(s\)が自然数なのか文字列なのか自然数の配列なのか分かりません。\(((s))\)という文字列は文字通り「\(((s))\)」という意味なのか、それとも\((s)\)の結果として得られる\(n\)を使って「\((n)\)」と表される文字列という意味なのか、これも良く分かりません。

このような事態を避けるには、各展開ルール内のすべての変数を量化する必要があります。例えば「\((n) = n+1\)」は、「いかなる自然数\(n\)に対しても、\((n) = n+1\)である。」や、「\(3\)で割って\(100\)より小さい、いかなる正整数\(n\)に対しても、\((n) = n+1\)である。」、「\(n\)を、\(n^2+1\)の最後の桁が\(7\)であるような自然数とする。\((n)\)を\(n+1\)として定める。」などのように、様々に量化することができます。量化による変数の束縛具合によって、そのルールが与えられた式に適用可能かどうかが変わってきます。うまく設定しなければ、an incomplete case classificationan overlapping case classificationといった問題が起きてしまうでしょう。実際にこれらの問題が発生しているかどうかは書かれていない量化の意図に大きく依存するため、量化の欠如は読み手にこれらの問題を指摘させるのをとても難しくしてしまいます。

この曖昧さは頻繁に発生します。なぜなら、変数が動く正確な範囲を明示することの重要性に気付くのは、簡単なことではないからです。未定義な対象を扱う場合、そのような対象すべてについて、最初に現れた段階で量化するよう心がけましょう。the common failure due to an undefined substitution新しい対象を定義するためのガイドラインも参照してください。

加えて、単純に変数を量化するだけでは十分ではありません。なぜなら、「各変数の範囲」は、「各変数の組の範囲」を特徴付けないからです。例えば、\((n,m)\)を\(n+m > 3\)を満たすような自然数の組として定めたいとします。この場合、\(n\)と\(m\)を「すべての変数は自然数である」と量化するだけでは不十分です。詳細については、定義域の明示を参照して下さい。


同じ記号の多重使用

「\(n\)を自然数とする。項書き換えを次のように再帰的に定める: \((0,0) = 1, (n+1,0) = (n,(n,0)), (n,n+1) = (n-1,(n,n))\)。\(N = (10,10)\)とする。」


この文は\(N\)を定めることができていません。なぜなら、\((n,n+1)\)の計算ルールは\((0,2)\)に適用可能ではないからです。一つの等式内に現れる同じ記号は、自動的に同じ値であるとみなされなければなりません。したがって、「\((n,n+1)\)」は「\((n_1,n_2+1)\)を満たす自然数\(n_1\)と\(n_2\)」とは解釈されません。もしこのような解釈が許される場合、読み手には\(n\)という式が右手側に出てきたときにこれが左手側の最初の\(n\)なのか、それとも二番目の\(n\)なのかを決定するのは不可能となります。この曖昧さは自然数ではあまり起こりませんが、文字列を表す記号ではよく起こります。

これは定数や変数に限った話ではありません。例えば、「=」や「+」などの記号を用いると、二つ以上の意味がこれらの記号に付加されることになるため深刻な曖昧性が発生してしまいます。このill-defined性は巨大数論者が表記を定義するときに非常によく起こります。彼らは「=」を文字列の厳密な同一性の意味で用い、異なる文字列同士を「同一視」する未定義な関係として用い、項書き換え則として用います。彼らは「+」を与えられた展開規則に関して文字列を計算した結果の通常の和としても用い、新たな表記における表現式に現れる文字記号としても用います。詳細については、等号の多重定義による問題演算子記号と演算子の混同による問題を参照してください。


等号の多重定義

「表記\(T\)を…として定める。基本列の再帰的構成を次のように定める。いかなる\(t = (s)\)を満たす\(t,s \in T\)に対しても、\(t[n] = (s[n])\)である。…\(T\)の項間の同一性を次のように定める。いかなる\(t,s \in T\)に対しても、同一性\(t = s\)はもし…ならば成り立つ。項書き換えを次のように定める: \(t + 0 = t\)、 \(t \times 1 = t\)、 …」

この定義文はあなたの望み通りには機能しません。なぜなら、等号「\(=\)」を異なる意味で用いているからです。具体的には、文字列の厳密な同一性と、等号の多重定義と、項書き換えに用いています。同じ記号の多重使用による問題も参照してください。

「\(=\)」と同じ記号を使って等号を多重定義することは極めて曖昧となります。なぜなら、読み手には通常の数学で用いられる等号と多重定義された方の等号とで見分けがつかないからです。多重定義された等号は\(\equiv\)や\(==\)などの他の記号に置き換えられるべきです。もちろん、もし多重定義された等号が使いたいなら、明確に定義を行うべきです。例えば、何らかの関係「<」を「何らかの多重定義された等号を用いて」順序の機能として定義したときでさえも、それは多重定義された等号の定義を自動的には与えません。多重定義された等号の正確な定義の欠如は深刻な問題で、なぜならそれはただ未定義な同一性を使っていることになるからです。the issue on undefined comparison#Circular Reference of Comparison and Strengthも参照してください。

加えて、等号と同じ記号「\(=\)」を用いて項書き換えを表すのも極めて曖昧となります。項書き換えは\(\mapsto\)や\(\to\)などの他の記号を用いて書かれるべきです。少なくとも、"\(A = B\)"という項書換えを書いた場合に"\(A\)を\(B\)に変換する"という意味を持たせる慣習には従ったほうが良いでしょう。変換の方向を一般的な向きに固定することは読者が意図通りの挙動を推測するために役立つからです。項書き換えを定義することを忘れることはめったにありませんが、項書き換えがいつ適用されるべきかを書くのを忘れることはよくあります。例えば、項書き換えと展開ルールの両方を定義したくて、展開ルールよりも先に項書き換えを適用させたいならば、そのような順番で適用することを明示するべきです。そう明示したならば、項書き換えを展開ルールの後や任意の展開の計算中の部分など、定義された範囲外で適用することは許されなくなります。もし項書き換えを与えられた文字列の部分文字列に適用したいなら、どのように適用するのかを明確にすべきです。項書き換えの部分文字列への適用は大抵エラーを起こします。よくあるのは、一つの表現式に対して二つ以上の適用方法が存在するというエラーです。この場合、項書き換えの結果が一意ではなくなる可能性があるため、表記のシステムもill-definedになりえます。

等号の多重定義に関連した一つの典型的な失敗は、長さ\(3\)の文字列「\(X+0\)」と長さ\(1\)の文字列「\(X\)」の混同です。平均的な巨大数論者は長さ\(3\)の文字列と長さ\(1\)の文字列を混同しないかもしれませんが、これは初心者が順序数表記を、文字列の同一性と文字列の多重定義された不明瞭な同一性の違いを理解せずに模倣しようとする際に頻繁に発生します。実際に、この誤解によるill-definedな表記はたくさん存在します。これは小さな問題のように見えるかもしれませんが、this exampleで説明されているような循環論法などの問題を引き起こします。演算子記号と演算子の混同による問題も参照してください。


演算子記号と演算子の混同

「集合\(T\)を次のように定める: [ルール 1] \(\{\} \in T\)である。 [ルール 2] いかなる\(a,b \in T\)に対しても、\(a+b, a \times b \in T\)である。\(\{\} + \{\} + \{\} \times \{\}\)が\((\{\} + \{\} + \{\}) \times \{\}\)ではなく\(\{\} + \{\} + (\{\} \times \{\})\)の意味となるように、ルール適用の優先順位を\(+ < \times\)として定める。 」


この定義文はあなたの望み通りには\(T\)を定めません。なぜって? 第一に、\(T\)に対して何通りかの解釈が存在してしまっています:

  1. \(T\)はある集合で、\(+\)と\(\times\)は演算子である。
  2. \(T\)は木構文の集合で、\(+\)と\(\times\)は演算子記号である。
  3. \(T\)は文字列の集合で、\(+\)と\(\times\)は演算子記号である。

一つ目の解釈は機能しません。なぜなら演算子はつまるところ写像であり、写像は事前に定義しておかなければならないからです。特に、写像の定義域については should be defined before you define \(T\)を定義する前に. If you insist that the domains are \(T^2\), then it causes a circular logic. For more details, see [#Circular_Reference_of_Domain_and_Function|the issue on the circular reference ofdomains and functions]]. Also, you need to define the values \(a+b\) and \(a \times b\) for any \(a,b \in T\) without circular logic.

The second interpretation does not work, either, because \(\{\} + \{\} + (\{\} \times \{\})\) is quite ambiguous. It can be either \((\{\} + \{\}) + (\{\} \times \{\})\) or \(\{\} + (\{\} + (\{\} \times \{\}))\). You might insist that \(+\) is associative, but it has an obvious problem. Since you have not clarified the way to encode the expression \(a+b\) into a tree, one of the most natural interpretation is the tree whose entries are \(+\), \(a\), and \(b\), for which the associativity does not hold. Therefore you need to specify the way to encode the expression \(a+b\) into a tree so that the associativity actually holds. Instead, you can set a left (resp. right) associative convention. It means that \(a + b + c\) is just an abbreviation of \((a + b) + c\) (resp. \(a + (b + c)\)). However, it does not imply the associative law \((a + b) + c = a + (b + c)\), and hence does not work if you actually require the associativity law. As the examples show, trees are much more difficult than formal strings. Therefore if you are not familiar to trees, then it is better not to use it because you might not even understand errors pointed by others.

The third interpretation does not work, either, because "the priolity order of the application" does not make sense. Two expressions \(\{\} + \{\} + X\) with \(X = \{\} \times \{\}\) and \(Y \times \{\}\) with \(Y = \{\} + \{\} + \{\}\) precisely concide with each other as formal strings, and hence you cannot distinguish them.

The biggest failure is the ambiguity of the meanings of \(T\) and the symbols \(+\) and \(\times\). If you clarified from the beginning that \(T\) is a set of formal strings or something like that, and that \(+\) and \(\times\) are just operator symbols or something like that, then you might notice this issue by yourself. Moreover, since you omit those clarifications, it is hard for others to point out the issue, because they should mention all the possibilities. If you want not to bother others who give you feedbacks, it is much better to remove the ambiguity so that you can notice problems by yourself and other can easily point out errors.

One typical failure related to the confusion of an operator symbol and an actual operator is the confusion of the formal string "\(1+1\)" of length \(3\) and the formal string "\(2\)" of length \(1\). Although an average googologist might not confound a formal string of length \(3\) and a formal string of length \(1\), the confusion frequently occurs when a beginner try to imitate an ordinal notation without understanding the difference between an equality of formal strings and an overloaded undefined equality of formal strings. Indeed, there are so many ill-defined notations based on this misconception. See also the issue on overloaded equalities.


Infinite Loop

When you define a new term \(t\) using a given recursive system \(T\), the recursion should actually terminate. If it does not terminate, then the computation process is roughly said to include an infinite loop. One of the most elementary infinite loops is an actual loop, i.e. the recursive function \(f(x)\) called in the system \(T\) calls \(f(x)\) with the same input \(x\). Even if the non-termination is not due to an actual loop, it is often also called an infinite loop in googology.

Here are examples of infinite loops. For details, see the section of circular logics.


Self Loop

"I define a function \(f(x)\) as \(f(x)^2\)."

This sentence does not define \(f\), because the computation of \(f(1)\) refers to \(f(1)\) itself. This ill-definedness sometimes occurs when a googologist simply forgets to check the behaviour for the easiest cases. It is the simplest example of a circular logic.


Diverging Loop

"I define a function \(f(x)\) in the following recursive way: \(f(x) = 2^{f(x-1)}\). Put \(N = f(10^{100}).\)"

This sentence does not define \(f\) or \(N\), because the computation of \(f(x)\) yields the divergence of the inputs. This ill-definedness sometimes occurs when a googologist simply forgets to set the start point of the recursion or the system is too complicated to check the behaviour.


Complicated Loop

"In the following, \(x\) denotes a natural numer, and \(s\) denotes an array of natural numbers, which can be empty. I define a function \(f\) in the following way: \(f() = 1, f(s,0) = f(s)+1, f(s,x+1) = f(\underbrace{s,x,\ldots,s,x}_{x+2})\). Put \(N = f(10^{100})\)."

This sentence does not define \(f\) or \(N\), because the computation of \(f(10^{100})\) calls \(f(s,1)\) infinitely many times. This ill-definedness often occurs when a googologist tries to imitate or extend an existing notation by the wrong belief that replacing the rule sets by similar ones would not change the termination.


Infinite Searching

"I define \(<\) as the binary relation on the notation system \(T\) defined above characterised by the following: (1) For any \(s \in T\), \(s < s\) is false. (2) For any \(s,t \in T\), if \(s < t\), then \(t < s\) is false. (3) For any \(s,t,u \in T\), \(s < t\) and \(t < u\) implies \(s < u\). (4) For any \(s,t \in T\), \(s < s+t\). (5)…"

This sentence does not give an explicit algorithm to compute \(<\), and hence might not be used in computable googology. Indeed, if you directly try to interprete those restrictions into algorithms, the transitivity (3) gives you an infinite searching: In order to check that \(s < u\) does not hold, you need to check that \(s < t\) and \(t < u\) does not simultaneously hold for any \(t \in T\). (If you forget to avoid the case \(t = u\), then your algorithm will include a self loop. Even if you reject the case \(t = u\), then you need to search infinitely many \(t\).)

Similarly, use of an unbounded quantifier in a case classification causes the same issue. For example, if you try to define a function using "If \(\exists i \in \mathbb{N}\) such that...", then the direct implementation of the case classification yields an infinite loop if there is no such an \(i\), and hence does not actually give an implementation of the characterising formula.

Of course, the use of characterising formulae itself is ok as long as your regulation allowed a computable function without an explicitly written algorithm to compute it. However, then your regulation would allow "the constant function which outputs Rayo's number", because it is computable. Therefore the regulation is not sound. If you are working in computable googology, which should require an algorithm to compute all relations and functions to define a large number, then the use of a characterising formula without an explicitly written algorithm will be problematic.


Lack of the Well-foundedness

"I define \(<\) as the binary relation on the notation system \(T\) defined above in the following recursive way. Then the system is terminating, because for any \(A \in T\) and \(n \in \mathbb{N}\), we have \(A[n] < A\) as long as \(A \neq 0\)."

This argument is incorrect, because you have never show the well-foundedness of \(<\). The most difficult part in a proof of the termination of a notation system is to show the well-foundedness of an order compatible with the expansion rule, and hence omitting the well-foundedness does not solve the issue. If \(<\) is not well-founded, then the notation system might include an infinite loop, even if the expansion rule is compatible with the order.


Non-Existing Reference

When you use a new term \(t\), then you need to do either one of the following:

  1. Define \(t\) only using other existing terms, i.e. terms which have already been defined or quantified and other free variables in the current scope.
  2. Quantify \(t\), and declare the range in which \(t\) runs through.
  3. Declare \(t\) as a free variable in the current scope.

Otherwise, \(t\) is ill-defined. In addition, if \(t\) depends on another term \(s\) which is non-constant in the context, then it is better to clarify the dependence in order to avoid the ambiguity. For example, it is better to denote \(t\) by something like \(t_s\) or \(t(s)\).

Here are examples of references to non-existing objects.


Incomplete Case Classification

"Let \(x\) and \(y\) be a natural number. Define \(f(x,y)\) in the following way: \(f(0,y) = 2^y\), \(f(x+1,0) = f(x,x)\), and \(f(x,2y) = 2^{f(x,y)}\). Put \(N = f(2,2)\)."

This sentence does not define \(N\) unless you add the rest case classification, i.e. the definition of \(f(x,y)\) for the case where \(x \neq 0\), \(y \neq 0\), and \(y\) is an odd number. This ill-definedness sometimes occurs when a googologist simply does not check the completeness of case classifications or the case classification itself is too complicated to check because it contains massive appearance of "\(\ldots\)"-type abbreviations. Also, beginners tend to believe that they can omit "obvious" rules by saying something like "why should I write such a trivial rule? It is obvious that \(g(x,0,1) = g(x,1)\) is assumed for any positive integer \(x\) !" when we point out that there is no rule applicable to \(g(x,0,1)\) for their own function \(g\). Unfortunately, such an excuse does not make sense, because no rule which exists only in their mind is assumed. We can only assume the written rules.


Incomplete Partial Specialisation

"Using the function \(g(x)\) defined above, I define another function \(f(x)\) on a natural number \(x\) by \(f(0) = 1\) and \(f(g(x)+g(s)) = x^{x+s+1}\)."

This sentence does not define a function \(f\), unless \(s\) is already defined (or appropriately quantified) and satisfies that every \(x \neq 0\) in the domain of \(f\) admits precisely one \((y,s)\) such that \(x = g(y) + g(s)\). This ill-definedness sometimes occurs because terms appearing in an expression of the input look similar to indeterminates. See also the issue on overlapping partial specialisation and the guideline to avoid partial specialisation.


Ill-defined Value

"I denote Meameamealokkapoowa oompa by \(M\), and BIG FOOT by \(BF\). Put \(N = M^{BF}\)."

This sentence never defines \(N\) because \(M\) and \(BF\) refer to ill-defined natural numbers. This ill-definedness sometimes occurs when a googologist uses googological stuffs without understanding their definitions.


Undefined Value

"Let \(x\) be a natural number. Put \(f(x) = x^s\)."

This sentence does not define a function \(f\) unless \(s\) is a term which has already been defined or quantified or is a free variable in the current scope. You are not allowed to use an undefined and unquantified object in the definition of a new object. For example, we frequently observe the following failure:

  1. Defining a number as a result of an expression including undefined and unquantified objects.
  2. Defining a function by case classifications whose conditions include undefined and unquantified objects.

This ill-definedness sometimes occurs by forgetting to write down the definition which is regarded as a "trivial" one by the author.


Undefined Comparison

"I define a notation \(T\) as …. I define a cofinality as …. I define a recursive system of fundamental sequences. For any \((t,s) \in T^2\), if \(t < \textrm{cof}(s)\), then \(\psi_t(s)[0] = \psi_t(s[t])\) and \(\psi_t(s)[n+1] = \psi_t(s[\psi_t(s)[n]])\)."

This sentence does not define a recursive system of fundamental sequences unless you explicitly define the inequality \(<\). I note that the use of fundamental sequences in the definition of \(<\) often causes a circular logic because of the lack of the well-foundedness. This ill-definedness sometimes occurs when a googologist tries to imitate an ordinal notation without understanding the definition of the notion of an ordinal notation.

Another typical example of an undefined comparison is the use of an undefined \(\leq\) when \(<\) is defined. The relation \(x \leq y\) can be defined in several ways, e.g. "\(x < y\) or \(x = y\)", "\(x < y\) or \(x \equiv y\)" using some non-trivial equivalence relation \(\equiv\), and "the negation of \(y < x\)", and hence the abbreviation of the definition of \(\leq\) is quite ambiguous. See also the issue on overloaded equation and the issue on circular reference of comparison and correspondence to ordinals.


Undefined Operation

"I define a notation \(T\) as …. I define a recursive system of fundamental sequences. For any \((s,t) \in T^2\), if \(s+t\) is greater than…."

This sentence does not define a recursive system of fundamental sequences unless the concatenation of s, "+", and t is a valid expression in the notation or you explicitly define the operation \(+\) as a map whose domain is \(T^2\). This ill-definedness sometimes occurs when a googologist tries to imitate an ordinal arithmetic without understanding that an extension of arithmetic operators to formal strings is not unique. See also the issue on multiple use of the same symbol.


Undefined Transfinite Extension

I define my ordinal \(\alpha\) as \(f_{\Omega \uparrow^{\Omega} \Omega}(\Omega)\).

This sentence does not define an ordinal \(\alpha\) unless the transfinite hyperoperator and the transfinite FGH are precisely defined. Since there are so many candidates which have distinct reasonabilities, we do not have a single common agreed-uopon choice.

Further, when people use them and others point out this issue, they tend to explain that \(a \uparrow^b c\) and \(f_a(b)\) are simply defined as the same rule as the usual ones. But the point is that the transfinite iteration of a function also has so many candidates, and that is why the resulting functions have so many candidates. Therefore such an explanation is meaningless. They should precisely define the functions instead of saying "\(\omega \uparrow \uparrow (\omega+1)\) is \(\omega^{\varepsilon_0+1}\) by definition" or "\(f_1(\omega) = 2 \omega\) by definition" without fixing precise definitions. Although those equations do not hold for many natural formulations, they somewhy believe that they do not have to write down the precise definitions in their mind.

This ill-definedness frequently occurs when beginners do not understand what the domain of a function means. Given a function whose domain is originally given as \(\mathbb{N}\), we are not allowed to use it as a function whose domain is the class of all ordinals unless we fix a precise definition of a transfinite extension, because the behaviour of the original function does not characterise its extension.

See also the issue on lack of the declaration of the domain, the issue on undefined substitutions, and the guideline on how to define a new object.


Undefined Substitution

"For positive integers \(a\) and \(b\), I define \(f(a,b) = a^{f(a,b-1)}\). I put \(N = f(100,100)\)."

This sentence does not define \(N\) because \(N\) refers to \(f(100,1)\), which refers to the expression \(f(100,0)\) with undefined substitution. More awfully, when people define \(N\) in this way and others point out the error, they sometimes say "\(f(a,0) = a\) by definition" or something like that. Unfortunately, we are not talking about unwritten rules which exist only in their minds, but are talking about the written rules.

This ill-definedness frquently occurs when a googologist applied unspecified hyper operators to ordinals or formal strings. See also the issue on lack of the declaration of the domain, the issue on undefined transfinite extensions, the guideline on how to define a new object.


Undefined Truth Predicate

"Let \(L\) denote the formal language define in…. Let \(T\) denote the truth predicate for \(L\)-formulae."

This sentence does not define \(T\) unless you give an explicit formalisation of the truth of \(L\)-formulae in the domain of the base theory. For example, if you are working in \(\textrm{ZFC}\) set theory, you need to define the truth of \(L\)-formulae in \(V\). This ill-definedness frequently occurs when a googologist without the knowledge of set theory tries to imitate Rayo's number.


Unprovability

"I work in \(\textrm{ZFC}\) set theory, and assume its consistency. I denote by \((M_n)_{n \in \mathbb{N}}\) the enumeration of Turing machines given by the universal Turing machine, and by \(N\) the least natural number such that there exists a system of fundamental sequences below \(\textrm{PTO}(\textrm{ZFC})\) for which \(M_N\) coincides with the FGH along \(\textrm{PTO}(\textrm{ZFC})\)."

This sentence does not define \(N\), because the existence of such an \(N\) is meta-theoretically provable to be unprovable in \(\textrm{ZFC}\) set theory. It is not an intuition-based argument such as "The existence is actually true, but just is not provable", but is a mathematical argument which ensures that there exists a model of \(\textrm{ZFC}\) set theory in which \(N\) does not exist. This ill-definedness sometimes occurs when a googologist who refers to provability, consistency, and \(\textrm{PTO}\) without understanding their precise definitions tries to imitate the least transcendental integer.


Contradiction

"I denote by \(\alpha\) the least ordinal such that for any (Goedel number of a) formula \(P\), \(P \leftrightarrow V_{\alpha} \models P\) holds."

This sentence does not define \(\alpha\), because the existence of such an \(\alpha\) contradicts \(\textrm{ZFC}\) set theory. I note that if you do not clarify the base theory, then you are traditionally supposed to work in \(\textrm{ZFC}\) set theory. Therefore statements like "No. I can weaken the set theory so that my definition works." are not reasonable unless you explicitly specify what axioms you employ from the beginning. This ill-definedness sometimes occurs when a googologist who uses notions without understanding their precise definitions of notions tries to imitate Rayo's number.


Non-Unique Reference

When you introduce a new term \(t\), then the definition of \(t\) should be precisely one formula. More precisely speaking, it is required that there exists at least one defining formula applicable to \(t\) and for any defining formulae \(F_1\) and \(F_2\) applicable to \(t\), \(F_1\) and \(F_2\) defines the same term, i.e. the equality between . those two terms can be provable under the base theory. Otherwise, \(t\) is ill-defined.

Here are examples of multiple references.


Overlapping Case Classification

"Let \(x\) and \(y\) be a natural number. If \(x < y\), then put \(f(x,y) = \frac{1}{y-x}\). If \(x^3 > y\), then put \(f(x,y) = \frac{1}{x^3-y}\). Put \(N = f(2,3)\)."

This sentence does not define \(N\) unless you set an order of the priority to apply the case classification. When you write expansion rules of a given computable notation without clarifying the order, you are automatically supposed to set the order following the numbering of the lines. Namely, the first line should be applied if possible. Otherwise, the second line should be applied if possible. Therefore this ill-definedness rarely occurs. On the other hand, if you implicitly intend another order, then other googologists will not follow what you intend. You might claim that the order should be "trivially" the same as what you intend, but it is wrong. In order to avoid such troubles, you need to explicitly clarify the order if it does not follow the numbering of lines.


Overlapping Partial Specialisation

"I define a set \(T\) of formal strings in the following recursive way: \(0 \in T\), \(\omega^a \in T\) for any \(a \in T\), and \(a+b \in T\) for any \(a,b \in T\). I define a fundamental sequence \([] \colon T \times \mathbb{N} \to \mathbb{N}\) by \(0[n] = 0\), \(\omega^0[n] = 0\), \(\omega^a[n] = \omega^{a[n+1]}\) for any \(a \in T \setminus \{0\}\), \(a + 0[n] = a[n+1]\) for any \(a \in T\), and \((a+b)[n] = a+(b[n+1))\) for any \(a \in T\) and \(b \in T \setminus \{0\}\)."

This sentence does not define a function \([]\), because the partial specialisation \((a+b)[n] = a+(b[n])\) is not solvable in a unique way. For example, when you compute \(\omega^{0}+\omega^{0}+\omega^{0}[n]\), the rule is applicable to it in two distinct ways, i.e. \((a,b) = (\omega^{0}+\omega^{0},\omega^{0})\) and \((a,b) = (\omega^{0},\omega^{0}+\omega^{0})\). This ill-definedness frequently occurs when beginners heavily use partial specialisations without understanding what a partial specialisation means.

As a related topic, a sentence like "I define \(h(x)\) by \(h(g(x)) =\) (an expression including \(g(x)\)) for any function \(g(x)\)" is also a combination of partial specialisation. It can be justified only when the right hand side does not include an undefined term other than \(g(x)\). In that case, it is better to define \(h(x)\) by the expression replacing \(g(x)\) by x without partial specialisation. If the right hand side includes an undefined term \(t\) such as \(g(x+1)\), then it is just ill-defined because \(g(x)\) does not characerise other values of \(g\). See also the issue on incomplete partial specialisation and the guideline to avoid partial specialisation.


Non-Unique Substring Searching

"Let \(s\) be a string. If there is a substring \(t\) of the form \((\#)\), where \(\#\) is any string, replace \(t\) in \(s\) by \((\#,t)\). Denote by \(X\) the result of the application of this rule to \(((),((),()))\)."

This sentence does not define the resulting string \(X\) unless you set an order of the priority of \(t\) to apply this replacement, because you have two candidates \(()\) and \(((),())\) of \(t\). This ill-definedness frequently occurs when a googologist tries to write rule sets applicable to any substrings without setting a reasonable syntax helpful to determine an explicit substring to apply those rules to.


Non-Unique Division into Substrings

"Let \(s\) be a string. If it is of the form \((\#_1,(\#_2))\), where \(\#_1\) and \(\#_2\) are any strings, replace \(s\) by \((\#_1,(\#_1,\#_2))\). Denote by \(X\) the result of the application of this rule to \(((),((),()))\)."

This sentence does not define the resulting string \(X\) unless you set an order of the priority of \((\#_1,\#_2)\) to apply this replacement, because you have two candidates \(( \ \ (() \ \ , \ \ (),()) \ \ )\) and \(( \ \ (),(() \ \ , \ \ () \ \ )\) of \((\#_1,\#_2)\). Basically, division into substrings including two or more wildcards frequently cause this problem.

One simplest example of a non-unique division into substrings is the decomposition into an "addition expression". For example, consider the following rule to compute \(s[n]\) for a formal string \(s\) and a natural number \(n\): "If \(s\) can be expressed as \(A+B\) using substrings \(A\) and \(B\), then \(s[n]\) is defined as \(A+(B[n^2])\)." It does not work, because this rule uses two wildcards \(A\) and \(B\). For example, this rule is applicable to \(s = X+X+X\) in two distinct ways. One is the application with respect to the division by \(A = X\) and \(B = X+X\), and the other one is the application with respect to the division by \(A = X+X\) and \(B = X\). Since the result of the computation of \(s[n]\) heavily depends on the way to apply the rule to it, \(s[n]\) is ill-defined.

This ill-definedness frequently occurs when a googologist tries to write rule sets using explicit expressions with substrings without setting a reasonable syntax helpful to determine explicit substrings to apply those rules to. For example, googologists who the ordinal notation associated to Cantor normal forms but actually do not know the definition of an ordinal notation tend to make this kind of mistakes.


Non-Unique Expression

"I define a function \(f(\alpha)\) of any ordinal \(\alpha\) in the following way: If \(\alpha = \beta + \gamma\) for some ordinals \(\beta\) and \(\gamma\), then \(f(\alpha) = f(\beta) \times f(\gamma)\). If \(\alpha = f(\beta)\) for some ordinal \(\beta\), then ..."

This sentence does not define \(f\) unless you add a condition to uniquely characterise \(\beta\) and \(\gamma\) using \(\alpha\), because a pair \((\beta,\gamma)\) satisfying \(\alpha = \beta + \gamma\) is not unique. Even if you add such a condition, the case classification can be overlapping if \(f(\beta)\) in the second case can be expressed as a sum satisfying the condition. Even if it is not an overlapping, the second case does not work unless you fix a well-ordering \(R\) on the class of all ordinals (such as \(\in\)) and add the condition \(\beta R \alpha\) because the reference of the value of \(f\) for any input in the definition of \(f(\alpha)\) refers to the value of \(f(\alpha)\) itself, and causes a circular reference. Such ill-definedness frequently occurs when a googologists who comfound an ordinal with its expression to create a new function or a new fundamental sequence. See also the issue on intuitive normal forms.


Unspecified Fundamental Sequences

"Let \(\alpha\) denote the countable ordinal defined as …. Put \(N = f_{\alpha}^{100}(10^{100})\)."

This sentence does not define \(N\) unless you give an explicit system of fundamental sequences below \(\alpha + 1\). This ill-definedness sometimes occurs when a googologist who does not understand ordinals but just heard names of large ordinals tries to use large ordinals such as \(\textrm{PTO}(\textrm{ZFC} + \textrm{I}0)\).


Unspecified Large Ordinals

"Let \(T\) denote a sufficiently large ordinal. For an ordinal \(\alpha\), I define \(\psi(\alpha)\) as the least ordinal which does not belong to the closure of \(\{0,T\}\) with respect to …."

This sentence does not define \(\psi\) unless you explicitly fix \(T\). Stating something like "\(T\) can be taken as the least ordinal greater than any value of \(\psi\)" is a circular logic. This ill-definedness sometimes occurs when a googologist wants to remove the occurrence of large cardinals in the definition of an OCF so that it becomes definable in \(\textrm{ZFC}\) set theory.


Unspecified OCF

"I define a natural number \(N\) as \(f_{\psi(\Omega_{I_{M_{K+1}+1}+1})(10)}\), where \(\psi\) is the normal OCF."

This sentence does not define \(N\) unless you specify the \(\psi\). Beginners tend to use an ill-defined OCF like UNOCF without understanding the issue, or an unspecified OCF without understanding the ambiguity. When we ask what OCF they are using, then they frequently answer "normal OCF". When we ask the definition of a "normal OCF", then they answer that they do not know the definition, or they answer that it is Buchholz's OCF or Rathjen's OCF, even though those OCFs behave in a completely different way. Readers should be careful that beginners tend to refer to Buchholz's OCF and Rathjen's OCF without knowing their definitions and spread wrong information about them. Anyway, the magical word "normal OCF" is meaningless, because there is no actual definition. When a googologist refers to a "normal OCF" without specifying the definition, then it is good to suspect that it is ill-defined.


Intuition-Based Description

When you define a term \(t\), then you need to describe its definition. Since a definition is a formula, no occurrence of an intuition-based stuff which is not formalised in mathematics is allowed.

Here are examples of intuition-based description.


Intuitive Pattern Matching

"I define \(f(0) = \epsilon_0\), \(f(1) = \zeta_0\), and \(f(2) = \psi_{\chi_0(0)}(\psi_{\chi_{\varepsilon_{M+1}}(0)}(0))\). Repeat this pattern. Put \(\alpha = f^{100}(100)\)."

This sentence does not define \(f\) or \(\alpha\) unless the "pattern" is clearly formulated in terms of a mathematical formula. This ill-definedness frequently occurs when a googologist who likes "\(\ldots\)"-type abbreviations tries to imitate the use of ordinals without understanding the precise definition. This failure is mainly due to the wrong belief that finitely many examples uniquely characterise a function, which is based on the lack of the knowledge of the precise definition of the notion of a function or a map. See also #定義域の明示の欠如 and #Incomplete Case Classification.


Intuitive Use of Expressions

"I define \(f(\alpha)\) for any ordinal \(\alpha\) in the following way: If \(\alpha\) is written as \(\beta + \gamma\), then \(f(\alpha) = \varphi_{\beta}(\gamma)\). If \(\alpha\) is written as \(\varphi_{\beta}(\gamma)\), then \(f(\alpha) = \beta + \gamma\)."

This sentence does not define \(f\) because the predicate "written as" refers to a property on an expression rather than an ordinal itself. This ill-definedness frequently occurs when a googoligist who does not understand the definition of the notion of an ordinal and comfound an ordinal with an expression try to define an ordinal function.

Even an "expression" does not make sense unless you specify a translation map from a set of formal strings to a set of ordinals. Even an epression is not unique for a fixed translation map unless it is injective. You can solve the issue to define the subset of "standard" expression to which the restriction of the translation map is injective. Also, you can avoid the use of an expression by defining the notion of a "normal form" as a predicate on a tuple of ordinals giving "normal forms". For example, the \(3\)-ary relation \(\alpha =_{\textrm{NF}} \varphi_{\beta}(\gamma)\) on a tuple \((\alpha,\beta,\gamma)\) of ordinals is frequently defined as \(\{\beta,\gamma\} \subset \alpha = \varphi_{\beta}(\gamma)\). See also the issue on a non-unique expression and the issue on the intuitive use of normal forms.


Intuitive Normal Forms

"I define the normal form of an ordinal \(\alpha\) in the following way: If \(\alpha = 0\), then its normal form is \(0\). If \(\alpha = 1\), its normal form is \(\varphi_0(0)\). ..."

This sentence does not define a correct notion of a normal form as intended. For example, since \(\omega^{0+0} = \varphi_0(0)\). \(\omega^{0+0}\) is the "normal form" of \(1\) with respect to the inappropriate formulation of the normal form above. In order to design the notion of a normal form in an appropriate way, we need to formalise a predicate like \(\alpha =_{\textrm{NF}} \varphi_{\beta}(\gamma)\) on three ordinals \(\alpha\), \(\beta\), and \(\gamma\) with formal separators \(=_{\textrm{NF}}\) and \(\varphi\), which should be distinguished from the actual function \(\varphi\).

This failure frequently occurs when googologists who do not understand the difference between ordinals and their expressions try to imitate the definition of normal forms following wrong explanation by other googologists. See also the issue on non-unique expressions and the issue on the intuitive use of expressions.


Intuitive Conversion of Growth rates and Ordinals

"For each function \(F \colon \mathbb{N} \to \mathbb{N}\), I define a stronger function \(F^{\uparrow} \colon \mathbb{N} \to \mathbb{N}\) as the function with the growth rate \(\omega^{\alpha+1}\), where \(\alpha\) is the orginal given as the growth rate of \(F\)."

The sentence does not define the correspondence \(F \mapsto F^{\uparrow}\), because of the following two typical problems:

  1. The growth rate does not characterise a unique function, because there are two distinct functions with that growth rate.
  2. "The ordinal corresponding to (the growth rate) a function" is ill-defined, because it can be just used in analyses in a context where a system of fundamental sequences below a fixed countable ordinal is explicitly fixed and the corresponding FGH actually gives a linear hierarchy.
  3. The FGH \(f_{\omega^{\alpha+1}}\) itself is ill-defined because no specific choice of a system of fundamental sequences up to \(\omega^{\alpha+1}\) is fixed.

The problem 1 occurs when beginners talk about growth rates without understanding the definition of (eventual) domination. See also the issue on the lack of the unique existence.

The problem 2 and the problem 3 occur when beginners talk about ordinals without understanding the definition of FGH and regard it as a magical tool to scale all functions using countable ordinals. See also the issue on unspecified fundamental sequences and the issue that a larger ordinal does not necessarily correspond to a greater function.


Intuitive Translation of Notations

"I verify the termination of my notation \(T\) with the system of fundamental sequences defined as …. This expands in this way, and hence very similar to another system \(T'\) which is known to terminate. Therefore it terminates."

This sentence does not define a conversion from \(T\) to \(T'\) satisfying several compatibility which ensures the termination of \(T\). This ill-definedness frequently occurs when a googologist without the knowledge of mathematical proofs tries to imitate proofs.


Confusion of Distinct Notions

Googologists tend to confound two distinct notions. The failure frequently occurs when they talk about what they do not know the precise definitions of.


Confusion of Ordinals and Expression

Ordinals are not formal strings. See #Intuitive Use of Expressions and 巨大数論に現れるよくある間違い#基数は文字に過ぎませんか?.


Confusion of Ordinals and Functions

Ordinals are not functions. See #Intuitive Conversion of Growth Rates and Ordinals.


Confusion of Ordinals and Growth Rate

Ordinals are not growth rates. See #Intuitive Conversion of Growth Rates and Ordinals.


Confusion of Distinct OCFs

Two OCFs are not necessarily the same. See also #Unspecified OCF and en:Buchholz's function#Common misconceptions.


Confusion of Ordinal Functions and Ordinal Notations

Ordinal functions such as OCFs are not ordinal notations. See also en:User blog:P進大好きbot/Relation between an OCF and an Ordinal Notation.


Confusion of Ways to Write Ordinals and Ordinal Notations

An ordinal notation does not mean a way to write ordinals. See also en:User blog:P進大好きbot/Relation between an OCF and an Ordinal Notation.


Confusion of Expansion Rules and Ordinal Notations

An ordinal notation does not mean a notation with an expansion rule. See also en:User blog:P進大好きbot/Relation between an OCF and an Ordinal Notation.


Intuition-Based Interpretation

When you use notions in formal logic, you should follow the precise definition of them, or should precisely redefine them by yourself. However, googologists tend to use "their own intuition-nased interpretations" of formal logic.

Here are examples of the intuition-based interpretation.


Intuitive Oracle

"Let \(T\) denote the \(\textrm{ZFC}\) set theory augmented by an oracle which can solve any problem in \(\textrm{ZFC}\) set theory."

This sentence is non-sense, because \(\textrm{ZFC}\) set theory is not a computation model. This ill-definedness frequently occurs when a googologist without the knowledge of an oracle or set theory tries to imitate Busy beaver function.


Intuitive Inconsistency

"For a natural number \(n\), I define \(f(n)\) the greatest natural number definable by less than or equal to \(n\) symbols in \(\textrm{ZFC}\) set theory which does not cause contradiction or Berry's paradox."

This sentence is meaningless, because the intuitive predicate like "its existence does not cause a contradiction" or "its definition does not cause Berry's paradox" is not actually a formalised predicate on a natural number. Namely, the predicate itself is ill-defined in \(\textrm{ZFC}\) set theory. (If a statement like "It avoids contradiction" actually avoids contradiction, then everybody would write so without making an effort to create a consistent notion.)

The same holds even when you replace "\(\textrm{ZFC}\) set theory" by a natural language, because the corresponding definability is unformalisable. For example, consider the sentence "one plus the greatest natural number definable by less than or equal to one hundred symbols in English which does not cause contradiction or Berry's paradox". It "defines" a natural number \(N\) in your convention, which satisfies both \(N \leq f(100)\) and \(N > f(100)\), i.e. you are contradicting. A related concept is "the least natural number \(N\) greater than any ill-defined natural numbers". If \(N\) is ill-defined, then it satisfies \(N > N\) and hence causes contradiction. Does it mean that \(N\) is well-defined? No. It is just ill-defined because it is unformalisable. It does not cause contradiction in any formal theory, and just you are contradicting if you allow such an intuition-based description.

Similarly, defining a computable large function \(f(n)\) as the Busy Beaver function except for avoiding Turing machines with undecidable problems is invalid, because the predicate referring to the undecidability itself is ill-defined in the realm of computable functions, i.e. uncomputable.

This ill-definedness frequently occurs when a googologist tries to avoid a diagonalisation problem such as Berry's paradox and the halting problem without understanding the actual issue.


Intuitive Truth Predicate

"Let \(\Sigma\) denote the set of true formulae in \(\textrm{ZFC}\) set theory of length \(< 10^{100}\)."

This sentence does not define \(\Sigma\) unless the truth predicate is defined. This ill-definedness frequently occurs when a googologist without the knowledge of set theory tries to imitate Rayo's number.


Intuitive Definability

"Let \(N\) denote the least natural number greater than any natural numbers definable by formulae of length \(< 10^{100}\)."

This sentence does not define \(N\) unless a formal language \(L\) with precise definitions of the syntax and the semantics is explicitly written and the definability of a natural number in the base theory by an \(L\)-formula is formalised. This ill-definedness frequently occurs when a googologist without the knowledge of the difference of the meta theory and the base theory or even what formalisation means tries to imitate Rayo's number or variables of transcendental integers using a programming language.

It does not matter if you replace the definablity by words like namability, nameability, being named, describability, being described, being mentioned, being coined, or whatevery you want to use to intuitively refer to the intuitive status of numbers without formalisation, and the language \(L\) by words like English, people's actual conversation, people's imagination, all possible intelligences, or whatever you want to use to intuitively describe numbers. As long as you drop the formalisability, the resulting number is as ill-defined as a number causing Berry's paradox, even if you yourself are unable to find any error.


Incomplete Original Logic

We can abbreviate the formal theory in which we work, only when we are assumed to be working in the traditional formal theory, i.e. \(\textrm{ZFC}\) set theory. Therefore when you use another formal theory especially in uncomputable googology, you need to declare what axioms you employ. Otherwise, even the notion of a natural number is ill-defined. See also the explanation of the necessity of an axiom to define a natural number.

Here are examples of the use of intuition-based original logic.


Lack of Base Theory

"I define a new set theory \(T\) stronger than \(\textrm{ZFC}\) as …. I defined \(N\) as the least natural number greater than any natural numbers definable by formulae in \(T\) of length \(< 10^{100}\)."

This sentence does not define \(N\), because you are refering to the intuitive definability of a natural number in the base theory by formulae in \(T\). You need to fix the base theory, in which \(T\) and the definability of a natural number by formulae in \(T\). This ill-definedness sometimes occurs when a googologist without the knowledge of formal logic imitates Utter Oblivion and confound the base theory and a coded theory. See also the issue on intuitive truth predicate and the issue on intuitive definability.


Formal Languages without Axioms

"I work in a new set theory \(T\) defined as \(\textrm{FOST}\) augmented by all symbols corresponding to all ordinals and all functions. I define \(N\) as the least natural number in the theory greater than any natural numbers definable by formulae of length \(< 10^{100}\)."

This sentence does not define the base theory \(T\) or \(N\), because adding symbols to the formal language of a given formalised theory does not yield a formal theory unless you specify the full collection of axioms.This ill-definedness occurs when a googologist without the knowledge of formal logic tries to imitate Rayo's number.


Incomplete Coded Theory

"I use a new set theory. A sset is a collection of sets, which is not necessarily a set. A ssset is a collection of ssets, which is not necessarily a set. Similarly, a ss…set is a collection of s…sets, which is not necessarily a s…set. I denote by \(N\) the least natural number greater than any natural number definable by formuae in this theory of length \(10^{100}\)."

This sentence does not define \(N\), because the notion of a "collection", the full collection of the axioms, and the formalisation of natural numbers in the base theory into terms in the formalised theory are not defined. This ill-definedness occurs when a googologist without the knowledge of formal logic tries to imitate higher order theories.


Incomplete Base Theory

"I use a new set theory. A clas is a set. A class is a collection of clas'es, which is not necessarily a clas. Similarly, a clas…ss is a collection of clas…s'es, which is not necessarily a clas…s. I denote by \(N\) the least natural number in this theory greater than any natural number \(n\) admitting formulae \(f(x)\) of length \(< 10^{100}\) satisfying \(f(n) \land \forall x(f(x) \to (x=n))\)."

This sentence does not define \(N\), because the notion of a "collection", the full collection of the axioms, and the truth predicate used to formulate the satisfaction are not defined. This ill-definedness occurs when a googologist without the knowledge of formal logic tries to imitate higher order theories.


Incomplete New Foundation

"I define a new foundation of mathematics because higher order logics are insufficient for me. I call it System \(X\). It consists of terms, functions, truth predicates indexed by terms, quantifiers indexed by terms, and logical connectives. A truth predicate indexed by a term \(t\) returns the truth of a formula at "the \(t\)-th universe", and a quantifier indexed by a term \(t\) works as a "\(t\)-th order quantifier". For a natural number \(n\), I define \(f(n)\) as the least natural number greater than any natural number definable by a formula of length \(n\) or less in a formal theory \(T\) in System \(X\) consisting of a formal language with \(n\) or less symbols and \(n\) or less axioms with length \(n\) or less.

This sentence does not define a function \(f\), because notions such as natural numbers, functions, predicates, truths, logical connectives, universes, quantifiers, axioms, definability, formulae, formal languages, and so on are just defined for predicative logic in the usual mathematics and equivalent formal systems, and hence you need to define it for your own system, i.e. System \(X\).

This ill-definedness frequently occurs when a googologist who does not know that even such foundational notions have both syntax and sematincs theoretic precise definitions tries to formalise Utter Oblivion. Defining a a new foundation in a precise manner so that the resulting number is actually significantly larger than Rayo's number is quite difficult, and that is why Utter Oblivion has never been completely defined. Therefore skipping the precise definition of a new foundation is non-sense if you want to try to complete the definition of Utter Oblivion.

Also, you need to fix the base theory. If you want to define the base theory as \(\textrm{ZFC}\) set theory and refer to the definability in a new foundation within the base theory, then it does not work as intended, because the resulting number can be definable in the base theory, which is just \(\textrm{ZFC}\) set theory. In other words, it is not significantly larger than Rayo's number. On the other hand, if you want to define the base theory in terms of a new foundation, you need to fix the meta theory and define the new foundation in the meta theory. In that case, you need to define notions in the base theory (using the new foundation instead of first order logic), e.g. a natural number, the definability of a natural number in a theory coded by using the new foundation, and so on. In other words, you should reinvent complicated mathematical notions using the new foundation by yourself. However, googologists unintentionally tend to skip the definition of the meta theory and the definition of notions in the base theory, because people who try to formalise Utter Oblivion tend not to know the usual formal logic.


Circular Logic

When you define several terms, then there should be a well-founded order of the definitions so that transcendental induction works. In particular, the definition of a term \(t\) should not refer to a term \(s\) whose definition refers to \(t\).

Here are examples of circular logics. For details, see the section of infinite loops.


Confusion of Conclusions and Assumptions

"I define a binary relation \(a \triangleleft b\) on \(\mathbb{N}\). If \(a - b \equiv 0\) (mod \(2\)) and \(a < b\), then \(a \triangleleft b\). If \(a\) is an even number and \(b\) is an odd number, then \(a \triangleleft b\). Then \(\triangleleft\) is a strict well-ordering on \(\mathbb{N}\)."

This sentences do not define \(\triangleleft\), unless you further assume that \(\triangleleft\) is a strict well-ordering on \(\mathbb{N}\). Indeed, there is no rule to determine whether \(1 \triangleleft 1\) and \(1 \triangleleft 2\) hold or not. You might say that \(1 \triangleleft 1\) does not hold because \(1 = 1\) and \(1 \triangleleft 2\) does not hold because the rule implies \(2 \triangleleft 1\), but it is a wrong deduction, as you used the implicit assumption that \(\triangleleft\) is a strict well-ordering on \(\mathbb{N}\). You can only use what you actually wrote. Using the unwritten assumption that \(\triangleleft\) is a strict well-ordering on \(\mathbb{N}\) is not allowed, and also causes a circular logic because you concluded "Then \(\triangleleft\) is a strict well-ordering on \(\mathbb{N}\)" as if it were a proprty which can be verified from what you wrote.

This failure frequently occurs when googologists try to define an ordinal notation under a belief that what they wrote obviously give valid definitions of well-orderings.


Circular Recursion

"For a natural number \(n\), I define \(f(n)\) and \(g(n)\) in the following way: \(f(n) = g(n+1), g(n) = f(n-1)\)."

This sentence does not define \(f\) or \(g\), unless either one of them is defined by another formula. This ill-definedness sometimes occurs when a googologist tries to immetate a mutual recursion of an ordinal collapsing function \(\psi\) and a constructible set function \(C\). Typically, \(\psi(\alpha)\) refers to \(C(\alpha)\) or something like that, which refers to some other function \(\Xi(\alpha)\), which refers to \(C(\alpha)\) or \(\Xi(\alpha)\) itself.


Circular Reference of Domain and Function

"I define \(X\) as the set of terms of the form \(0\), \(f(0)\) for an \(f \in S\) or \(f(x)\) for an \((f,x) \in S \times X\), where \(S\) is the set of functions satisfying …."

This sentence does not define \(X\) or \(S\) unless you specify the domain of each element of \(S\) without referring to \(X\). This ill-definedness occurs when a googologist who tends to omit the declaration of domains of functions tries a mutual recursion of a set of functions and the common domain. See also a issue on lack of the declaration of the domain.


Circular Reference of Functions

"I define an ordinal function \(f \colon \Omega \to \Omega, \ \alpha \mapsto f(\alpha)\) in the following way: If \(\alpha = 0\), then \(f(\alpha) = \omega\). If \(\alpha = \beta+1\) for some \(\beta \in \Omega\), then \(f(\alpha)[n] = (f(\beta)+1) \uparrow \uparrow n\). If \(\alpha\) is a non-zero limit ordinal, then \(f(\alpha)[n] = f(\alpha[n])\)."

This sentence does not define \(f\), because the system \([]\) of fundamental sequence is ill-defined. This ill-definedness occurs when a googologist who believes that a fundamental sequence is unique, or at least that there should be one "natural" choice, tries to define an ordinal function using fundamental sequences.

If you assume that a system of fundamental sequence is fixed from the beginning, then \(f(\alpha)[n] = f(\beta) \uparrow \uparrow n\) is a multiple definition of fundamental sequences. If you insist that you are simultaneously defining a system of fundamental sequences, then it is an incomplete partial specialisation because you are not defining for all limit ordinals in the domain of \(f\) and also might be an overlappring partial specialisation because you are defining \(\alpha[n]\) using an expression of \(\alpha\). See also the issue on the non-unique exression.

One possible way to fix the issue is to restrict the domain of \(f\), and simultaneously define a system of fundamental sequences for all limit ordinals in the domain of \(f\). If you want to define a system of fundamental sequences using expressions by \(f\), you need to fix a unique form expressing every limit ordinals in the domain of \(f\), and explicitly write down the definition of the fundamental sequence for any limit ordinal in the domain of \(f\) using the unique form. Otherwise, the issue on the incomplete partial specialisation is still serious.

Also, you need to be careful that you cannot define the domain of \([]\) as "the set of ordinals which can be expressed by \(0\), \(1\), \(\omega\), \(+\), and \(f\)" or something like that. It is simply a circular reference of the domain of \([]\) and \(f\), because the definition of \(f\) refers to the definition of \([]\), which refers to the definition of the domain of \([]\), which refers to the definition of \(f\). See also the issue on a circular reference of the domain and a function.


Circular Reference of Comparison and Correspondence

"I define a set \(T\) of formal strings as …. I define an expansion rule \([] \colon T \times \mathbb{N} \to T\) as …. Here, I need to add the definition of the comparison \(<\) and the equivalence relation \(\equiv\) used in the definition of \([]\). It is quite simple. The comparison \(<\) means the inequality of the corresponding ordinals, and the equivalence relation \(\equiv\) means the equality of the corresponding ordinals."

The sentence does not defined \(<\) or \(\equiv\), because it is based on a circular logic. The correspondence to ordinals makes sense only when you have defined some structures such as an expansion rule \([]\) or a well-founded ordering \(<\). However, you used the correspondence in the definitions of \([]\) and \(<\), and hence the correspondence is ill-defined.

Please be careful that even if two distinct expressions are intended by the creator to "express" the same ordinal or the same structure, the identification of them is valid only when an appropriate equivalence relation \(\equiv\) is completely defined. Also, such an identification based on an equivalence relation is not an actual equality. This ill-definedness frequentlys occurs when one tries to interprete ordinals into strings and to identify distinct expressions with each other, because the difference of the three roles of an equation is not easy to realise before pointed out. See also the issue on overloaded equation.


Circular Quantification

"I define a map \(f(\alpha)\) on an ordinal \(\alpha\) in the following way: If \(\alpha = 0\), then \(f(\alpha) = 1\). If \(\alpha = \beta + f(\gamma)\) for some ordinals \(\beta\) and \(\gamma\), then ... ."

This sentence does not define \(f\) because the definition of \(f(\alpha)\) refers to the value of \(f(\gamma)\) for each ordinal \(\gamma\), and especially to the value of \(f(\alpha)\) itself. This ill-definedness frequently occurs when a googologist who comfounds a function with a function symbol.


Circular Proof

"I verify the termination of my notation \(T\) with the system of fundamental sequences defined as …. I define a map \(o \colon T \to \textrm{Ord}\) in the following way: Put \(o(0) = 0\). For any successor expression \(t \in T\), put \(o(t) = o(t[0]) + 1\). For any non-zero limit expression \(t \in T\), put \(o(t) = \sup_{n \in \mathbb{N}} o(t[n])\). Then we have \(o(t[n]) < o(t)[n]\) for any non-zero expression \(t\). Therefore by the well-foundedness of ordinals, \(T\) terminates."

This sentence does not ensure neither the well-definedness of \(o\) nor the termination of \(T\), because the proof of the well-foundedness of \(T\) explicitly relies on the well-definedness of \(o\) and the well-definedness of \(o\) implicitly relies on the well-foundedness of \(T\). This circular logic sometimes occurs when a googologist without knowledge of transcendental induction tries to prove the termination of a system whose termination is strongly believed.


Circular Meta-Proof

"I verified the termination of my notation \(T\) with the system of fundamental sequences defined as … under \(\textrm{ZFC} + \textrm{I}0\). Then the termination can be verified also in \(\textrm{ZFC}\) set theory in the following way: The termination of \(T\) under \(\textrm{ZFC} + \textrm{I}0\) ensures the existence of a finite sequence \(a\) which displays all the computation process of \(T\). For each entry \(e\) of \(a\), the sentence that \(e\) is the rightmost entry or the next entry of \(e\) in \(a\) is given by applying the computation step to \(e\) is verifiable under arithmetic, and hence under \(\textrm{ZFC}\). Therefore combining the proof for each \(e\), I obtain a proof under \(\textrm{ZFC}\) of the sentence that \(a\) displays all the computation process of \(T\). It gives a proof of the termination of \(T\) under \(\textrm{ZFC}\)."

This sentence does not ensure the provability of the termination of \(T\), because the finiteness of \(a\) is just provable under \(\textrm{ZFC} + \textrm{I}0\) and combining the proof for each \(e\) itself does not necessarily terminates unless the termination of \(T\) is provable under the meta-theory. This circular logic occurs when a googologist without knowledge of \(\Sigma_1\)-soundedness tries to prove the termination of a system whose termination is strongly believed.

特に記載のない限り、コミュニティのコンテンツはCC-BY-SAライセンスの下で利用可能です。