Adventures in Wonder-infinite-land

タイトルの元ネタはあれです. 直訳すれば「不思議の無限の国の冒険」かな.

この記事の発端

何かと思えば, ちょっと前に話題になってた「素数を全部掛ける」話のようです.

全ての素数の積は偶数だと思ったんだけど

「無限」という言葉から

たぶんほんわかとした無限大のイメージって

\[1, 2, 3,\dots,\infty\ (←ここらへんにある何か)\]

くらいなものだと思います.

ここから発想すると色々不思議なことが起こり「無限って何だ?」となることがあるので, それを紹介して無限の雰囲気を見てもらおうというのが, この記事の趣旨です.

無限を作ってみる

上に挙げた \(1, 2, 3,\dots,\infty\) をひとまずこう考えてみましょう.

\[\begin{split}&1, \\ &1 + 1 = 2, \\ &2 + 1 = 3, \\ &3 + 1 = 4, \\ &\dots, \\ &\infty\end{split}\]

つまり,「1 つ前の数字に 1 を足して次の数字を作り, これを延々繰り返した先に無限大があると思おう」ということです. そうするとこんなふうに書けるので, まぁイメージとズレてはいないんじゃないでしょうか?

\[1 + 1 + 1 + \cdots = \infty\]

無限は偶数? 奇数?

まずこの無限大は偶数でしょうか? 奇数でしょうか?

ある人はこう主張します.

\[(1 + 1) + (1 + 1) + \cdots = 2 + 2 + \cdots = \infty\]

と書けるから偶数だ, と.

別の人はこう主張します.

\[1 + (1 + 1) + (1 + 1) + \cdots = 1 + 2 + 2 + \cdots = \infty\]

いやいやこう書けるから奇数だ, と.

さてどっちが正しいのでしょうか?

無限は自然数? 有理数?

さらにひねくれた人が表れてこう主張します.

\[\begin{split}&1 + 1 + 1 + \cdots \\ =&(\frac{1}{2} + \frac{1}{2}) + (\frac{1}{2} + \frac{1}{2}) + \cdots \\ =& \frac{1}{2} + (\frac{1}{2} + \frac{1}{2}) + \cdots \\ =& \frac{1}{2} + 1 + 1 + \cdots \\ =& \infty\end{split}\]

だから無限大は自然数じゃない有理数なのさ, と.

「えー, 元の定義から考えても, 明らかにそれはおかしいよー. だって後ろに \(\frac{1}{2}\) は残り続けるんでしょ?」と反論しても, 「端数の \(\frac{1}{2}\) はどんどん後ろに行ってるから問題無いでしょ?」と, 返すために借金する借金地獄や「返さないんじゃない, 一生借りてるだけだ」という誰かのセリフを連想させるような返事が返ってきます.

無限ホテル

無限に先送りすることで何とかなってしまうお話として, 無限ホテルというのがあります. これは無限に部屋のあるホテルが舞台で, そのホテルには 1 号室から順に 2 号室, 3 号室と部屋番号が付いています.

ある日そのホテルは満室だったのですが, 予約の無い人がどうしても泊めてくれと訪れました. 管理人は悩んだのですが, 一計を講じて彼を泊めることにしました. その方法とは全ての部屋にいる人達に「今の部屋番号に 1 を足した部屋に移ってください.」と指示を出しました. その甲斐あって 1 号室に空きができ, 彼は部屋を得ることができました.

\[\begin{split}\begin{matrix} 部屋番号 & 1 & & 2 & & 3 & & \dots \\ & & \searrow & & \searrow & & \searrow & \\ 移動後 & 1 & & 2 & & 3 & & \dots \\ & \uparrow & & & & & & \end{matrix}\end{split}\]

落ち着く間も無く, 今度は無限の席数のあるバスで無限人数の客が突然押し掛けました. 手違いでホテルの予約ができておらず, しょうがなく近くにあるこのホテルに来たということです. また困ったことになった管理人ですが, 再び良いアイディアを思い付きました. 彼の指示はこうです「ホテルにご宿泊の人は, 今の部屋番号の 2 倍の部屋番号へ移動をお願いします. バスでお越しの方はバスの座席番号の 2 倍から 1 を引いた部屋へお泊まりください.」 全員の協力の甲斐もあって, 既に宿泊していた人は偶数の部屋番号の部屋へ, バスでやって来た人達は奇数の部屋番号の部屋へ入ることができました.

\[\begin{split}\begin{matrix} 部屋番号 & 1 & & 2 & & 3 & & 4 & & 5 & & 6 & & \dots \\ & & \searrow & & \searrow & & \searrow & & & & & & & \\ & & & \downarrow & & \searrow & & \rightarrow & \rightarrow & \rightarrow & & & & \\ & & & \downarrow & & & \searrow & & & & \searrow & & & \\ 移動後 & 1 & & 2 & & 3 & & 4 & & 5 & & 6 & & \dots \\ & \uparrow & & & & \uparrow & & & & \uparrow & & & & \end{matrix}\end{split}\]

さすがにもう追加のお客さんは来ないだろうと思っていた管理人は慌てました. 無限台数の無限の座席のあるバスに無限人数の客を乗せてやってきたのです. 悩みに悩んだ管理人ですが, すごい案を思い付いたのです.

部屋番号 or 座席番号 "n"
↓
. | ...
. | ...
3 | 6 9 ...
2 | 3 5 8 ...
1 | 1 2 4 7 ... ← 新しく移る部屋番号
- + -----------
    0 1 2 3 ... ← バス番号 "m"

ホテルもバス番号の \(0\) 番を振って, バスと同じように扱うことにしました. バス番号を \(m\), 部屋番号か座席番号を \(n\) として, そこにいるお客様にお願いの指示を出しました. 「お客様は

\[\frac{(m + n)(m + n + 1)}{2} - m\]

へお移りください」と. するとどうでしょう. 上の図にあるようにバスも部屋も無限個あるのに, 全員がホテルの部屋へ泊まることができました.

ここまでの話で無限の不思議さが伝わったと思います.

(ここに書いたものは, 色々な本を読んだ記憶から話を再構築しています.)

数学的帰納法

hishidama さんの記事にあった数学的帰納法にも言及しておきます. 「数学的帰納法は、無限に対しては使えない」という事実に驚いたそうですが, このことについてやや専門的な解説をしておきます.

数学的帰納法は無限個の証明をするためのものです.

まず \(n = 1\) についてある命題 \(P(n)\) を証明します. 命題には変数 \(n\) を含むので, 関数の引数のように書いてあります.

次にある \(k \in \mathbb{N}\) について命題 \(P(k)\) が正しいと仮定して \(P(k + 1)\) を証明します. 論理式で書けば \(\forall k \in \mathbb{N}, P(k) \to P(k + 1)\) となります.

この 2 つの命題 \(P(1)\)\(\forall k \in \mathbb{N}, P(k) \to P(k + 1)\) から \(P(n)\ (n \in \mathbb{N})\) が導けるのが数学的帰納法です. (ここでは \(\mathbb{N}\) は 1 以上の整数としています. 宗教戦争をするつもりはありませんので悪しからず.)

さて, ここで問題にしたいのが「数学的帰納法で \(P(\infty)\) は証明できているのか?」です. 答えから言ってしまえば「 \(\mathbb{N}\) には \(\infty\) は含まれないので \(P(\infty)\) は証明できていない」です. ただ, これだと「じゃあ \(\mathbb{N}\)\(\infty\) が含まれないのは何故か?」という話になりそうです. ここらへんのことをちゃんと説明するには私の知識では不足なので, 別の説明で済ます (ごまかすw) ことにします.

「無限」と言うときには「いくらでも大きく取れる有限な数」を指していることがあります. ただしこれは「どの自然数よりも大きい何か」というのはちょっと違います. ここの「どの自然数よりも大きい何か」を扱うために「極限」という概念 (手法) があります. (他にも無限を扱う手法はあるらしいですが, ここでは極限の話をしましょう.)

極限

高校数学までではやや曖昧に定義されている (「限りなく近付く」とか) 極限ですが, 大学数学からは厳密な定義があります. 有名な「ε-δ論法」です. (大学数学の壁の 1 つとして有名?)

「ε-δ論法」が言ってることは次のようなものです. 「ある数列 \(a_n\) がある値 \(a\) に収束する」とは 「 \(a\) にどれだけ近い (が \(a\) ではない) 数 \(b\) を指定しても, 数列のあるところから先の \(a_n\)\(b\) より \(a\) に近い」ということです. と. 言葉で書いてもややこしいし, 論理式で書いても慣れない人にはややこしい……

ε-δ論法については深入りせず, 次の点を指摘するだけに留めます. 「収束値は, 数列の各々の値とは性質が違うことがある.」

例えば \(a_n = 1/n\) という数列があったとき, 数列の各々の値は正の数です. しかし, これの収束値は \(0\) であり「正の数」ではありません. この数列の極限を取る操作では「正の数」という性質は保たれていません.

また別の例として, 有理数の列の極限を取って無理数を得る例を挙げましょう. \(a_1 = 1,\ a_{n+1} = (a_n + 2/a_n)/2\) で数列を定めます. 有名なニュートン法による \(\sqrt{2}\) の近似列です.

この数列では計算方法から各々の値は有理数です. しかし収束値は無理数です. ここでは極限を取ることによって「有理数」という性質が無くなり「無理数」になっています.

hishidama さんのところで言及されている対角線の長さの話は, 極限操作 (= 極限を取ること) が「曲線の長さ」を保存しないという話です.

極限が保存しない性質があるというのを逆に言えば, 有限の操作では得られない性質が極限操作によって得られる, ということです. 有理数から実数を作成するところがまさにそれです.

無限大に向かう極限

あ, 収束する話ばかりで無限大に発散していく (=「どんどん大きくなる」) 話をするのを忘れていました.

最初に出した無限大へ向かう \(1, 2, 3,\dots\) という数列は \(a_n = n\) と書けますが, これの向かう先が無限大であるということも「ε-δ論法」と同様の定式化ができます.

「ある数列 \(a_n\) が (正の) 無限大に発散する」とは 「どんなに大きな数 (ここでは自然数としておきます) \(b\) を指定しても, 数列のあるところから先の \(a_n\)\(b\) よりも大きい」ということです. 言ってることは「どんどん大きくなる」と変わらないのですが, 大きくなってく途中の \(a_n\) は有限な値であることに注意してください.

この発散する数列においても, 極限操作が数の性質を保存しないことはあります. 例えば, \(1, 3, 5,\dots\) という数列と \(2, 4, 6,\dots\) という数列はどちらも無限大に発散していきますが, 今のところの定義では両者の極限である 2 つの「無限大」は区別できません.

「ずっと奇数だから無限大も奇数」という主張も「ずっと偶数だから無限大も偶数」という主張も同じ理屈を使っているので, 両方とも正しいか両方とも間違っているかのどちらかです. (今のところ) 区別できないこの「無限大」が, 奇数であり同時に偶数であることは有り得ないので, 無限大は奇数でも偶数でもないことになります.

そもそも複数種類ある無限大をごちゃまぜに扱ってるのがマズいことから, それらを区別しようと思うのは自然な流れだと思います. 目的に応じて様々な区別の方法がありますが, 分かりやすいのは解析学や計算量の理論でよく使われる「オーダー」という考え方です. \(1, 2, 3,\dots,\infty\)\(1, 10, 100,\dots,\infty\) では 2 つ目の方が「大きな無限大」だと感じるでしょう. ではどう比較すればいいかと言うと, 小さいと感じる方を大きいと感じる方で割ればいいのです. 数列どうしの割り算なので, こんな数列が生まれます: \(1/1, 2/10, 3/100,\dots\). (厳密な証明は省きますが) この数列は 0 に収束するので, 2 つ目の方が「真に大きな無限」と言えます.

オーダーの話も深めれば様々ありますが, 今回はここまでとしておきます.

終わりに

無限について知っていることをつらつらと書いてみました. 「無限」という単語から, 様々な話題が展開できることが伝われば, この記事の目的は達成できました. 私の力不足により

  • 公理的集合論の文脈における自然数および自然数集合の存在
  • 解析接続による全素数を乗算した値の定式化

という話題は扱えていません. またこれ以外の話の展開もできるでしょう. (参考: 全ての素数の積が偶数なのが納得がいかない数学徒たち)

またネタが思い付いたら, もしくはネタを振られたら, 書こうと思います.