巨大数研究 Wiki
Advertisement

これは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\)と\(c\)と\(d\)に対し正整数\((a,b,c,d)\)を以下のように再帰的に定義する: \(d = 1\)ならば\((a,b,c,d) = a \uparrow^c b\)である。\(d > 1\)ならば、\((a,b,c,d) = (a,b,(a,b,\cdots,(a,b,c,d-1),\cdots,d-1),d-1)\)である。\(N = (10,10,10,10)\)とする。」

この文は、省略記号の意味を明確にしない限り、\(N\)を定義しません。\(d = 2\)の時は\(\ldots\)がどうなりますか? 一般に、何回文字列を繰り返すことを意図していますか? 曖昧さを回避するために、省略記号の代わりに再帰を行う方が良いです。この失敗は再帰を知らない初学者が再帰的表記の真似をしようとして頻繁に起こります。#直感的なパターンマッチング計算可能な表記の書き方#一般的なことも参照してください。


定義域の明示の欠如

「カッコ表記を以下のように再帰的に定める: \((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\)として定める。」などのように、様々に量化することができます。量化による変数の束縛具合によって、そのルールが与えられた式に適用可能かどうかが変わってきます。うまく設定しなければ、#不完全な場合分け#場合分けの重複といった問題が起きてしまうでしょう。実際にこれらの問題が発生しているかどうかは書かれていない量化の意図に大きく依存するため、量化の欠如は読み手にこれらの問題を指摘させるのをとても難しくしてしまいます。

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

更に、量化子は1種類ではありません: \(\forall\)と\(\exists\)があるのです。もしあなたがこれらを完全に省略してしまうと、深刻な曖昧さをもたらすかもしれません。例えば、「任意の\(x \in T\)に対し、もし\(x > g(s)\)(\(s \in S\))ならば、\(f(x) = 0\)である」のような文は不適切です。「(\(s \in S\))」は「ある\(s \in S\)が存在して」か「任意の\(s \in S\)に対して」のどちらかの意味ですか? この定義が適切に機能するかどうかは、\(s\)が\(\forall\)か\(\exists\)のどちらで量化されているかに強く依存します。

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


2つの処理の混合

"非負整数列\(a\)に対し、非負整数列\(f(a)\)を以下のように定める: 末尾1規則:\(b,1 = b\)ただし\(b\)は残りの成分である。計算規則:もし\(a\)が空列ならば、\(f(a) = 1\).である。もし\(a\)が1つの非負整数のみからなるならば、\(f(a) = 2^a\)である。上記のいずれでもないならば、\(f(a) = f(f(b),c-1)\)ただし\(c\)は\(a\)の末尾の成分であり\(b\)は\(a\)の末尾の成分を\(c-1\)に置き換えたものである。"

\(f\)の処理とは無関係に与えられた規則"\(b,1 = b\)"をいつ適用するか明記しない限り、この文は意図通りには機能しません。\(f(a)\)を計算する前に\(a\)に適用するつもりですか? それとも\(f(a)\)の計算結果に適用するつもりですか? それとも数列に適用できる際はいついかなる時でもそれらに適用するつもりですか? 2つの処理を混合させたい時は、どのように混合させるかを正確に明記する必要があります。この曖昧さは略記の導入と項書き換え処理が混同されている時に頻繁に生じます。


同じ記号の多重使用

「\(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\)や\(==\)などの他の記号に置き換えられるべきです。もちろん、もし多重定義された等号が使いたいなら、明確に定義を行うべきです。例えば、何らかの関係「<」を「何らかの多重定義された等号を用いて」順序の機能として定義したときでさえも、それは多重定義された等号の定義を自動的には与えません。多重定義された等号の正確な定義の欠如は深刻な問題で、なぜならそれはただ未定義な同一性を使っていることになるからです。未定義な比較による問題#比較と対応の循環参照も参照してください。

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

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


無限ループ

あなたが新たな項\(t\)をあらかじめ用意した再帰的なシステム\(T\)で定義する際、その再帰は有限で終わるものでなければなりません。もし有限で終わらないなら、その計算過程は無限ループを含んでいると大まかに言われています。最も初歩的な無限ループの一つは、本当のループでしょう。言い換えると、システム\(T\)内で呼ばれた再帰関数\(f(x)\)が値を返す際に、同じ入力\(x\)を使って\(f(x)\)の計算を必要とすると無限ループになります。原因が実際のループによるものでなくても、巨大数論における非停止な計算はしばしば無限ループと呼ばれています。

以下は、無限ループによる問題の例です。詳細については、#循環論法の章を参照してください。


自己ループ

「関数\(f(x)\)を\(f(x)^2\)として定める。」

この文は\(f\)を定めることができていません。なぜなら、\(f(1)\)の計算に\(f(1)\)そのものを参照しているからです。このill-defined性は、巨大数論者が最も簡単なケースの挙動を単純にチェックし忘れた際にときどき発生します。これは最も簡単な#循環論法の例です。


発散ループ

「関数\(f(x)\)を以下のように再帰的に定める: \(f(x) = 2^{f(x-1)}\)である。\(N = f(10^{100})\)とする。」

この文は\(f\)や\(N\)を定めることができていません。なぜなら、\(f(x)\)の計算が入力の発散をもたらすからです。このill-defined性は、巨大数論者が再帰の始点を単純に設定し忘れた際やシステムが挙動をチェックするには複雑過ぎる際にときどき発生します。


複雑なループ

「以下では、\(x\)を自然数とし、\(s\)を空を許す自然数の配列とする。関数\(f\)を以下のように定める: \(f() = 1, f(s,0) = f(s)+1, f(s,x+1) = f(\underbrace{s,x,\ldots,s,x}_{x+2})\)。\(N = f(10^{100})\)とする。」

この文は\(f\)や\(N\)を定めることができていません。なぜなら、\(f(10^{100})\)の計算で\(f(s,1)\)を無限に呼び出すことになるからです。このill-defined性は、巨大数論者が既存の表記の展開規則をほぼ同じものに置き換えても停止性は変わらないだろうという間違った信じ込みに基づいて、その表記を真似したり拡張したりしようとするときによく発生します。


無限探索

「\(<\)を上記で定義された表記システム\(T\)上の2項関係として定義し、以下のように特徴づけられる: (1) いかなる\(s \in T\)に対しても、\(s < s\)は偽である。 (2) いかなる\(s,t \in T\)に対しても、もし\(s < t\)ならば、\(t < s\)は偽である。 (3) いかなる\(s,t,u \in T\)に対しても、\(s < t\)かつ\(t < u\)は\(s < u\)に包含される。 (4) いかなる\(s,t \in T\)に対しても、\(s < s+t\)である。 (5)…」

These sentences do 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.


不完全な場合分け

"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)\)."

These sentences do 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}\)."

These sentences do 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}\)."

These sentences do not define \(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\)."

These sentences do 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.


External Value

"For any formal string \(s\), I define a natural number \(f(s)\) in the following recursive way: If \(s = \psi(t)\) for some formal string \(t\), then \(f(s) = 2^{f(t)}\). Otherwise, search the rightmost \(\psi\) located left to \(s\). If there is no such ... ."

These sentences do not define a process to compute \(f(s)\). Since the argument of \(f(s)\) is a formal string \(s\), you need to define the result of \(f(s)\) by only using \(s\) and what you have already defined or quantifie. However, even if \(s\) is derived as a substring of another formal string \(s'\), such an \(s'\) is not uniquely characterised from \(s\). Therefore the reference to the non-unique external string \(s'\) in the definition of \(f(s)\) is invalid. This ill-definedness frequently occurs by forgetting the fact that the return value of a function should be uniquely determined by the input.


Ill-formed Expression

"I define a non-negative integer \(f(x,y)\) for any non-negative integers \(x\) and \(y\) in the forllowing recursive way: If \((x,y) = (0,0)\), then \(f(x,y) = 1\). Otherwise, \(f(x,y) = f(f(x,y-1),y-1)\)."

These sentences do not define \(f\) unless you add a case classification for the case \(x > 0\) and \(y = 0\), because the current rule refers to the ill-formed expression \(f(x,-1)\). You are not allowed to input to a function arguments which does not belong to the domain. For example, we frequently observe the following failure:

  1. Inputting a tuple of numbers including \(-1\) (resp. \(0\)) to a function whose domain is the set of non-negative (resp. positive) integers.
  2. Inputting an ordinal greater than \(\omega\) such as \(I\) to the subscript of ブーフホルツのψ関数 rather than that of 拡張ブーフホルツのψ関数. (See also #Buchholz's function#Common misconceptions.)
  3. Inputting an ordinal greater than or equal to \(\Gamma_M\) to the arguments of en:Rathjen's psi. (See also [[:en:User blog:p進大好きbot/List of common misconceptions about Rathjen's psi#Does the countable limit coincide with \(\psi_{\Omega\}(\Gamma_{M+1})?]])
  4. Inputting a transfinite ordinal to ハイパー演算子 without fixing a definition. (See also #Undefined Transfinite Extension.)

This ill-definedness sometimes occurs when googologist miss the domains of their own functions or use existing functions whose definitions they do not know.


未定義な比較

"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]])\)."

These sentences do 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 循環論法 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 未定義な比較 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 等号の多重定義による問題 and 順序数への比較と対応の循環参照による問題.


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…."

These sentences do 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 同じ記号の多重使用による問題.


Undefined Transfinite Extension

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

These sentences do 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\), \(\underbrace{\Omega_{\Omega_{\cdot_{\cdot_{\cdot_{\Omega}}}}}}_{a}\), 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, 未定義な引き算による問題, and the guideline on how to define a new object.


未定義な引き算

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

These sentences do not define \(N\) because \(N\) refers to \(f(100,1)\), which refers to the expression \(f(100,0)\) with 未定義な引き算. 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."

These sentences do 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})\)."

These sentences do 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."

These sentences do 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.


場合分けの重複

"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)\)."

These sentences do 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\}\)."

These sentences do 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 \(((),((),()))\)."

These sentences do 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 \(((),((),()))\)."

These sentences do 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 ..."

These sentences do 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 重複 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})\)."

These sentences do 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 …."

These sentences do 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 循環論法. 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)}\)."

These sentences do 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.

A: "What is the definition of the \(\psi\) which you are using in your analysis?"
B: "The normal OCF."
A: "Sorry, but I am asking the definition rather than the name which you use when you call the OCF. What is the definition of the normal OCF?"
B: "It is Buchholz's \(\psi\) or Rathjen's \(\psi\). I do not have to recall its definition, because it is a common knowledge for experts in googology."
A: "Or? Why don't you know which one you are using? If you cannot specify the actual definition of the OCF which you are using, then your analysis is highly doubtful because it is not based on the actual definition."
B: "OK. Then it is Buchholz's \(\psi\), in fact. Of course, I know its definition very well."
A: "But the expression \(\psi_M\), which you used in your analysis, is ill-defined for Buchholz's \(\psi\)."
B: "Alright. To tell the truth, I intended to use Rathjen's \(\psi\), whose definition I professionally understand. I just tested you. I admit that you seem not to be such a beginner as I first guessed."
A: "But \(\psi_M\) is ill-defined for Rathjen's \(\psi\), too."
B: "Hey, stop it. It is obvious that I used the extented Madore's \(\psi\). Why couldn't you understand such a trivial thing?"
A: "I am asking the definition of the OCF, but not the name which you use when you call the OCF. Where is the definition?"
B: "I said that it is the extended Madore's \(\psi\). I do not have to explain the definition by myself, because it is a common knowledge for experts in googology."
A: "But there is no actual definition of what you call the extended Madore's \(\psi\)..."

For fakes on OCFs which people yielded without referring to the actual definitions, see also en:Buchholz's function#Common misconceptions, en:User blog:p進大好きbot/List of common misconceptions about Rathjen's psi and en:User blog:p進大好きbot/Historical Background of the Ill-definedness of UNOCF. 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.


直感的なパターンマッチング

"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)\)."

These sentences do not define \(f\) or \(\alpha\) unless the "pattern" is clearly formulated in terms of a mathematical formula instead of listing finitely many examples only for which you can prcisely specify how it is intended to work. Generally speaking, the ambiguous words like "Pattern repeats" and "and so on" are not almighty power which solve whatever you do not have an idea to clarify the definition of. Please keep in mind that if you do not know how to precisely define a notion in your mind, then you should use it. 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 #不完全な場合分け.


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\)."

These sentences do 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.


直感的な構文解析

"I denote by \(T\) the set of formal strings consisting of \((\), \()\), \(\{\), and \(\}\). For each \((t,n) \in T \times \mathbb{N}\), I define a \(t[n] \in T\) in the following recursive way: If \(t\) includes both \((\) and \()\), then l\(t[n]\) denote the \(1+n\)-th leftmost occurrence of an element of \(T\) inside \((\) and \()\) in \(t\). "

These sentences do not define \(t[n]\), unless you precisely define the syntax of \(T\) so that "inside \((\) and \()\)" and "\(1+n\)-th leftmost" make sense. For example, consider the case \(t = )(())(\{(\})\) and \(n = 2\). What does the "\(1+n\)-th leftmost" occurrence of an element of \(T\) "inside \((\) and \()\)"? Clearly, it is unclear.

This failure frequently occurs when people imitate the description of SAN, which is also unformalised. They tend to state something like "We can use common sense!", but the application of common sense is valid only when it is aimed precisely at targets which we commonly use. Since we do not use those syntax for an arbitrary set of formal strings, such an application is invalid. This failure is quite similar to #Intuitive Abuse of Existing Notions, as the application is the abuse of operations defined for specific set of formal strings admitting a unique common structure of syntax analysis. For example, "leftmost occurrence" is commonly understood in a non-empty formal string if one refers to a specific single symbol (or at least a substring of specific fixed length), and "inside \((\) and \()\)" is commonly understood when we deal with the notation system \(S\) defined in the following recursive way:

  1. \(() \in S\)
  2. For any \((s,t) \in S\), \(s \frown t \in S\).
  3. For any \(s \in S\), \((s) \in S\).

It is simply because the leftmost occurence is defined for a specific single symbol in a non-empty formal string, and the syntax analysis on \(()\) is naturally defined for \(S\). It does not mean that "\(1+n\)-th left most occurrence" of substrings of varying lengths is defined for any \(n \in \mathbb{N}\) in any possible empty formal string, and does not mean that the syntax analysis of \((\)\) works for any notation system.

The failure is not restricted to "leftmost occurrence" and "inside \((\) and \()\)". There are many syntax theoretic notions which makes sense for specific cases but not for arbitrary cases, e.g. "layer", "separator", "well-formed", and so on. Also, there are many related structures which need definitions, e.g. "largest", "maximum", "equivalent", "standard form", "valid expression", "expansion", "strength", and so on.

This problem is hidden in cases where the notation system lacks the definition of the domain of a given function. Namely, whether the syntax-theoretic operation works heavily depends on the precise set \(T\) of formal strings of which the operation should be applied to elements, while beginners tend to omit the definition of \(T\). See also #Lack of the Clarification of the Domain.


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)\). ..."

These sentences do 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."

These sentences do 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.


相異なる概念の混同

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


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

「集合\(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\)は演算子記号である。

一つ目の解釈は機能しません。なぜなら演算子はつまるところ写像であり、写像は事前に定義しておかなければならないからです。特に、写像の定義域については、\(T\)を定義する前に定義されているべきです。もしあなたが定義域は\(T^2\)であると主張するなら、\(T\)の定義が関数\(+\)を参照し関数\(+\)の定義が集合\(T^2\)を参照するのでそれは循環論法を生じさせます。詳細については、定義域と関数の循環参照による問題を参照してください。また、いかなる\(a,b \in T\)に対しても、\(a+b\)と\(a \times b\)の値を循環論法無しで定義する必要があります。

二つ目の解釈も機能しません。なぜなら、\(\{\} + \{\} + (\{\} \times \{\})\)の意味が極めて曖昧で、\((\{\} + \{\}) + (\{\} \times \{\})\)と\(\{\} + (\{\} + (\{\} \times \{\}))\)のどちらにもなりえるからです。あなたは\(+\)が結合的であると主張するかもしれませんが、それには明らかな問題があります。というのも、あなたは表現式\(a+b\)を木構文に変換する方法を明示していないため、最も自然な解釈の一つは入力が\(+\)と\(a\)と\(b\)であるような木構文となりますが、これには結合性が成り立ちません。したがって、あなたが\(+\)が結合的であると主張するためには、結合性が実際に成り立つような表現式\(a+b\)を木構文に変換する方法を明示する必要があります。結合的でなくてもよいのであれば、左結合(もしくは右結合)を設定することもできます。左結合は\(a + b + c\)を\((a + b) + c\)の略記とし、右結合は\(a + b + c\)を\(a + (b + c)\)の略記とします。しかしながら、左結合(もしくは右結合)は結合法則\((a + b) + c = a + (b + c)\)が成り立つことは保証しません。なので、もし\(+\)が結合的である必要があるならば、左結合(もしくは右結合)を設定しても期待通りには動きません。以上からわかる通り、木構文とは文字列よりも難しいものなのです。したがって、もしあなたが木構文に慣れていないのであれば、木構文は使わない方が良いでしょう。なぜなら、その難しさゆえに他人に指摘してもらったエラーの意味が理解できない可能性があるからです。

三つ目の解釈もまた機能しません。なぜなら、「演算子適用の優先順位」が意味をなさなくなるからです。例えば表現式\(\{\} + \{\} + \{\} \times \{\}\)を、「演算子適用の優先順位」に従って\(\{\} + \{\} + X\)で\(X = \{\} \times \{\}\)と解釈した場合と、従わずに\(Y \times \{\}\)で\(Y = \{\} + \{\} + \{\}\)と解釈した場合とで、両者は文字列として正確に一致しているため区別できません。この二つを違うものとして捉えられない以上、そもそも「演算子適用の優先順位」を課す意味が無くなってしまっています。

この定義の最大の失敗は、\(T\)と記号\(+\)と\(\times\)の意味の曖昧さにあります。もしあなたが初めから\(T\)が文字列の集合等であると明示し、\(+\)と\(\times\)がただの演算子記号等であると明示していれば、上記の問題に自分で気付くことができたでしょう。それだけでなく、あなたがこれらの明示を省いているために、他者がエラーを指摘する際に定義の意味のすべての可能性に言及しなければならないため、エラーを指摘することが難しくなっています。もしあなたがフィードバックをしてくれる人の手を煩わせたくないと思うなら、自分で問題に気付けて他者にもエラーを簡単に指摘できるように、曖昧さを取り除いた方がより良いでしょう。

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


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.


Confusion of Objects and Meta-objects

"I work in \(\textrm{ZFC}\) set theory. I define a formal language \(L\) of first order logic as the set of a binary relation symbol \(\in\) and an unary function \(f\), and an axiom \(T\) as the set of the \(L\)-formulae given as ... . Then I define \(N\) as \(f(10^{100})\)."

The sentence does not define \(N\), because \(f\) is a function in the coded theory but is not a function in the base theory. Generally speaking, an object in the meta-theory (resp.\ the base theory) is not an object in the base theory (resp. a coded theory). This failure sometimes occurs when googologists try to imitate the use of a meta-natural number (resp.\ a natural number) as a natural number (resp. an object in a coded theory) without understanding how the formalisation is precisely given. See also 巨大数論に現れるよくある間違い#What is a meta natural number?, 巨大数論に現れるよくある間違い#Can't we deal with properties of formulae in the base theory?, and 巨大数論に現れるよくある間違い#Is every formula in a coded theory a formula in the base theory?.


直感ベースの解釈

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}\)."

These sentences do 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}\)."

These sentences do 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 similar words like namability, nameability, describability, expressibility, mentionability, writability, specifiability, characterisability, coinability, 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.

By the way, when beginners fall into this trap, then it is certain that they have no knowledge of formalisability and truth predicates. However, they tend to insist something like "My number is larger than Rayo's number and its variants, and is the greatest in the world!", although the precise definitions of them requires the knowledge of how to formalise truth predicates. Therefore they are talking about what they do not understand the precise definitions of. This failure is closely related to the cheating explained in the list of common mistakes in googogology.


不完全なオリジナル理論

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}\)."

These sentences do not define \(N\), because you are refering to the intuitive definability of a natural number in the unspecified 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\) are provable. 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.


Lack of Language

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

These sentences do not define the base theory \(T\) or \(N\), because the language of \(T\) is undefined. Without fixing the language, axiom schema do not make sense, and the notion of a formula is ambiguous. This ill-definedness occurs when a googologist without the knowledge of formal logic tries to imitate Utter Oblivion and confound a theory with a collection of formulae (intended to be axioms) without fixing a formal language.


Lack of 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}\)."

These sentences do 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 and confound a formal language with a theory.


Intuitive Abuse of Existing Axioms

"I extend \(\textrm{ZFC}\) set theory because \(\textrm{ZFC}\) set theory is insufficient for me. First, I define \(L\) as the language of first order logic consisting of two relation symbols \(\in\) of arity \(2\) and \(R\) of arity \(1\). I define the theory \(T\) as the set of \(L\)-formulae given as the axioms of \(\textrm{ZFC}\) set theory augmented by the following axioms: ... ."

These sentences do not define \(T\), because "the axiom of \(\textrm{ZFC}\) set theory" directly makes sense only when you are using the usual language of first order set theory. Since you are using a different language, the axiom schema are undefined unless you specify the precise way to define the corresponding axiom schema. The failure frequently occurs when googologists try to extend known theories without understanding the precise definition of them, i.e. the precise formulation of axiom schema.


Intuitive Abuse of Existing Notions

"I define a new first order theory because set theory is insufficient for me. First, I define \(L\) as the language of first order logic in the following way: ... . I define an axion \(T\) of \(L\)-formulae in the following way: (1) The emptyset exists. (2) The unordered pair exists. (3) For any function \(f\), ... ."

These sentences do not define \(T\), because you are using the notions, which would make sense if you were working in the usual set theory but is undefined in your original theory. Even if you simply intend to apply the same definitions, it is still ambiguous when you are using different language or different axioms.

One typical failure is to use a common terminology which is defined for specific theories even when you are working in your own theory:

  1. The use of the notion of "set" or "subset", which would make sense if you were referring to a set theory or a second order arithmetic.
  2. The use of the notion of "natural number", which would make sense if you were referring to a set theory or a second order arithmetic. (See also 巨大数論に現れるよくある間違い#自然数を公理なしで取り扱うことはできますか?.)
  3. The use of the notion of "empty", which would make sense if you were referring to a set theory or a second order arithmetic.
  4. The use of the notion of "\(\mathbb{N}\)", which would make sense if you were referring to a set theory or a second order arithmetic.
  5. The use of the notion of "unordered pair" or "ordered pair", which would make sense if you were referring to a set theory or a second order arithmetic.
  6. The use of the notion of "function", which would make sense if you were referring to a set theory or a second order arithmetic.
  7. The use of the notion of "union" or "intersection", which would make sense if you were referring to a set theory or a second order arithmetic.
  8. The use of the notion of "ordinal" or "cardinal", which would make sense if you were referring to a set theory or a second order arithmetic.
  9. The use of the notion of "model" or "satisfaction", which would make sense if you were referring to a set theory or a second order arithmetic. (See also 巨大数論に現れるよくある間違い#モデルとはなんですか?, 巨大数論に現れるよくある間違い#充足性は相対化と同値ですか?, and 巨大数論に現れるよくある間違い#モデルを巨大数の定義に使うことはできますか?.)
  10. The use of the notion of "definable", "namable", "describable", and so on, which would make sense if you were referring to a set theory or a second order arithmetic with a specific definition of a truth predicate. (See also #Intuitive Truth Predicate and #Intuitive Definability.)
  11. The use of the terminology of "induction", which would make sense if you were referring to a set theory or a second order arithmetic.
  12. The use of the convention of comprehension or replacement, which would make sense if you were referring to a set theory or a second order arithmetic.
  13. And so on.

What you can use is only what is defined. If you are using your own theory, then you cannot directly apply the definition which originally makes sense in existing theories, unless you specify how to apply it. This failure frequently occurs when googologists who do not know how the well-known notions are precisely defined in existing theory or even the fact that they have actual definitions try to extend existing theories.


Incomplete Higher Order 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}\)."

These sentences do not define \(N\), because none of the following has been defined: the precise language (#Lack of Language), the precise axioms (#Lack of Axioms), the notion of a "collection" (#Intuitive Abuse of Existing Notions), and the formalisation of natural numbers in the base theory into terms in the formalised theory (#Intuitive Abuse of Existing Notions and #Intuitive Definability). This ill-definedness occurs when googologists without the knowledge of formal logic try to imitate higher order theories.


Incomplete Language of a New Foundation

"I define a new foundation of mathematics because first order logics are insufficient for me. I define \(L\) as the language with a countably many constants \(c_0, c_1, \ldots\), functions \(f_0, f_1, \ldots\), and relations \(r_0, r_1, \ldots\)."

These sentences do not define \(L\), because specifying constant symbols, (variable symbols depending on the convention,) function symbols, and relation symbols to define a specific language, which would work if you were dealing only with first order logic, does not work for a theory which is not necessarily a first order logic. Since the syntax is undefined, you need to give a definition by yourself. If you simply intend to use the syntax of a first or second order logic, you need to clarify it.

One typical failure is to use a common terminology which is defined for a first order logic even when you are working in your own foundation:

  1. The use of the notion of "well-formed formula" or "\(L\)-formula", which would make sense if you were referring to a first order logic.
  2. The use of the notion of (syntax theoretic) "substitution" (e.g. "\(f(t)\)" for a function symbol \(f\) and a term \(t\), and "\(P[t/x]\)" for a formula \(P\), a term \(t\), and a variable symbol \(x\)), which would make sense if you were referring to a first order logic.
  3. The use of the notion of "length" of an \(L\)-formula, which makes sense if you are formulating an \(L\)-formula as a formal string but does not make sense if you are formulating it as a tree unless you specify the definition.
  4. The use of the notion of "sort" (e.g. "numerical variable", "set variable", and "class variable"), which would make sense if you were referring to a first order logic.
  5. The use of the notion of "order" of an \(L\)-formula, which would make sense if you were referring to a first order logic or a specific higher order theory.
  6. And so on.

What you can use is only what is defined. If you are using your own theory, then you cannot directly apply the definition which originally makes sense in existing theories, unless you specify how to apply it. This failure frequently occurs when googologists who do not know how the well-known terminologies in formal logic are precisely defined in the usual foundation or even the fact that they have actual definitions try to invent a new foundation. See also #Intuitive Abuse of Existing Axioms and #Intuitive Abuse of Existing Notions.


循環論法

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 循環論法. For details, see the section of #無限ループ.


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}\)."

These 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 循環論法 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)\)."

These sentences do 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.


定義域と関数の循環参照

"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 …."

These sentences do 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])\)."

These sentences do 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 この問題 on a circular reference of the domain and a function.


比較と対応の循環参照

"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 循環論法. 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 等号の多重定義による問題.


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 ... ."

These sentences do 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."

These sentences do 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 循環論法 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}\)."

These sentences do 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 循環論法 occurs when a googologist without knowledge of \(\Sigma_1\)-soundedness tries to prove the termination of a system whose termination is strongly believed.

Advertisement