第25話 順序数 定義
「ごちそうさまでした」
「ごちそうさまでした」
二人は揃って昼食のコースを食べ終え、お茶を飲みながら語る。
「今日はたくさん時間があるから、順序数の話をしたいと思う」
「順序数…先週藍から聞いたけど、なんのことだかさっぱりだよ」
「そうだね。まず数にどんな種類があるか、を考えてみようか。実は小学一年生で初めて数に触れるとき、"集合数"と"順序数"という2つの数を意識して習う。"集合数"とは、集合の大きさを表す数だ。"順序数"は何番目かを表す数で、数を習い始めてすぐに同一視してしまう。でも、4日間と4日目、と言ったら区別して考えるし、英語でfourとfourthははっきり区別して考えるよね」
「fourとか4日間とかが集合数、4日目とかfourthとかが順序数だね」
「そう。この2つは同一視して考えてもさほど問題ないけど、無限の大きさまで考えると、少し厄介なことが起きる」
「というと?」
「同じ大きさの集合でも、順序、つまり整列のさせ方を異なるようにすることができる」
「整列…」
「順序数を考える上でのキーワードは"整列"と"順序"だ。順序とはつまり大小関係のことで、いわゆる"小なり"記号だね。全ての集合に自由に順序を入れることができる。いま考えたい順序は、推移律と三分律を満たすような順序だ」
「ちょっとノート出していいかな。覚えられない」
「いまはよしておこう。行きたい喫茶店があるから、そこに移動しない?」
「いいね。もう出る?」
「急いでるわけではないから、ゆっくりしてから出よう。楽しみは後にとっておこう」
二人は、今日の昼食の感想や、連絡も取れないほど忙しかった5日間について、一時間ほど話してから店を出た。
「行きたかった喫茶店って、ここ?」
「そう。ここから始まった論理式の話だから初心に帰ってみよう」
そして、二人は喫茶店ブラザーズに入った。
「いまから全順序集合を定義したい。全順序集合とは簡単にいえば、どのような二つの要素を取ってきても、大小比較ができる集合のことだ。いろいろな流儀があるけれども、"小なり"を使って狭義全順序を定義しよう。いろいろな流儀というのは、定義に使う順序は今から使う"小なり"ではなく"小なりイコール"もあるからだ。"小なり"のほうは"狭義全順序"、"小なりイコール"のほうは"広義全順序"と呼ぶ。まあここら辺の細かい話は今は特別気にしなくてよい」
集合Sと二項関係<が全順序であるとは、
∀x,y,z∈S((x<y∧y<z)→x<z)
∀x,y∈S((x<y∨x=y∨y<x)∧(x<y→¬(x=y∨y<x)∧(x=y→¬(x<y∨y<z))∧(y<x→¬(x<y∨x=y)))
の2つを満たすことをいう。
「ちょっと待って、2つ目が読む気失せる長さだ」
「日本語にすると楽」
集合Sと二項関係<が全順序であるとは、
①任意のSの要素x,y,zについて、
「x<yかつy<z」ならばx<z
②任意のSの要素x,yについて、
x<yまたはx=yまたはy<x
のどれか一つのみを満たす
の2つを満たすことをいう
「どれか一つのみ、っていうのを書くのが少し難しいだけ」
「そっか、"または"は2つ満たしてもいいんだもんね」
「そういうこと。①を推移律、②を三分律という。さて、全順序集合Sが整列集合であるとは、任意の空でないSの部分集合Aが最小元を持つ、っていうのはやったんだっけ?」
「うん。Sの部分集合Aが最小元を持たないならAは空集合、っていうように習ったけど」
「論理式で書ける?」
湾はノートにゆっくりと式を書いた。
∀A(∀x((x∈A→x∈S)∧¬∃y∈A(∀z∈A(y≦z)))→A=∅)
「よし、いいね。じゃあ、一つ全順序集合の例を作ってみて」
「どんな集合でもいいんだよね、例えばこれはどう」
湾はノートに書く
{2,3,8}
「二項関係は?」
藍が聞く。
「えっと、"小なり"」
「通常の自然数に対する"小なり"でいいね。今回は次のように定義してもよい」
2<3∧2<8∧3<8
「これに三分律を課しても矛盾なく定義できて、全順序になる。全部書き出してしまえば、全順序であることがはっきりする」
xとyの組に対して
2=2
2<3
2<8
3>2
3=3
3<8
8>2
8>3
8=8
ただし、x>y:↔y<xとする
「いいね。じゃあこれは整列集合になってる?」
「うん、なってる。空でない部分集合を全部書き出せば」
{2}最小元は2
{3}最小元は3
{8}最小元は8
{2,3}最小元は2
{2,8}最小元は2
{3,8}最小元は3
{2,3,8}最小元は2
「となって、すべて最小元を持っているね」
「よし。このような整列集合に対して順序数を定義できる。順序数の定義はこうだ」
集合Sと二項関係<が整列集合を成すとする
このとき、定義域をSとする関数Gを次のように定義する
G(x)={G(a)|a<x}
このとき、(S,<)の順序数をord(S,<)と書き、次のように定義する
ord(S,<)={G(k)|k∈S}
「えっと…読み解けそう…というか簡単そうなのに、なんかすごい理解を阻んでくる」
藍は微笑んでいる
「え?沈黙?解説はなし?」
「自分で読み解きたいとは思わない?」
「えっと…定義域ってなんだっけ」
「関数Gに代入できる項の集合」
「うん、あの、確かにわからない言葉はないんだけど、なんだろう、この何を言っているか全然わからない感じ」
「よし、具体例と一緒に見ていこう。今、集合Sを{2,3,8}としよう。二項関係<は通常の<だ。ここで関数Gがどのようなものかを見てみよう。ゆっくりとね」
G(x)={G(a)|a<x}
「ここがまず難しいポイントだけど、まず、定義域が{2,3,8}なので、G(2)から考えよう。まず代入する」
G(2)={G(a)|a<2}
「ここで、2より小さいaを探そう。aは定義域の中から探す。どう?」
「{2,3,8}に、2より小さい要素は無いよ」
「その通り。aが存在しないので、G(a)も存在しない。だから、これは空集合になる」
G(2)={G(a)|a<2}=∅
「なるほど。G(2)は計算できるんだね」
「そう。そして、G(2)が計算できると、G(3)も計算できる。まず代入しよう」
G(3)={G(a)|a<3}
「ここで、aとして3より小さいS={2,3,8}の元を探してみて」
「2だね」
「ほかにはある?」
「ない」
「つまりこうなる」
G(3)={G(a)|a<3}={G(2)}={∅}
「な、なるほど。早くいきすぎると途端にわからなくなりそうだけど」
「大丈夫。練習あるのみ。G(8)を見るよ。8より小さいSの元がaの候補で、これは2と3だ」
G(8)={G(a)|a<8}={G(2),G(3)}={∅,{∅}}
「あ、ああ、そうだね。今までの結果をどんどん使うんだ」
「そう。数学的帰納法に似てるでしょ」
「なるほど、はじめのステップを決めて、それからどんどん連鎖させていくんだね」
「そういうこと。まとめると、こうなる」
G(2)=∅
G(3)={∅}
G(8)={∅,{∅}}
「おおすごい。全部求められた」
「順序数の定義をもう一度確認しよう。今、3行目までわかったはずだから、4,5行目を理解するよ」
集合Sと二項関係<が整列集合を成すとする
このとき、定義域をSとする関数Gを次のように定義する
G(x)={G(a)|a<x}
このとき、(S,<)の順序数をord(S,<)と書き、次のように定義する
ord(S,<)={G(k)|k∈S}
「なんか、2,3行目とすごく似てるね」
「似てるけど、やってることはかなり違うかな。Sに{2,3,8}を代入して読むとこう」
このとき、({2,3,8},<)の順序数をord({2,3,8},<)と書き、次のように定義する
ord({2,3,8},<)={G(k)|k∈{2,3,8}}
「ここで、最後の式に注目しよう」
藍は式を指さす。
{G(k)|k∈{2,3,8}}
「これはこういう意味だ」
{G(2),G(3),G(8)}
「あれ、これはもう計算済みだね」
「その通り」
ord({2,3,8},<)
={G(2),G(3),G(8)}={∅,{∅},{∅,{∅}}}
「どう?理解した?」
「ちょっと待って、この最後のが順序数?」
「そう」
「数に見えない…」
「そうかな。まず0が空集合だったの覚えてる?」
「うん」
「そして、フォン・ノイマン構成による自然数は、自身未満の自然数の集合だ」
0=∅
1={0}
2={0,1}
3={0,1,2}
4={0,1,2,3}
5={0,1,2,3,4}
6={0,1,2,3,4,5}
…
「これを一つずつ代入して直してみようか」
0=∅
1={0}={∅}
2={0,1}={∅,{∅}}
3={0,1,2}={∅,{∅},{∅,{∅}}}
4={0,1,2,3}={∅,{∅},{∅,{∅}},{∅,{∅},{∅,{∅}}}}
5={0,1,2,3,4}={∅,{∅},{∅,{∅}},{∅,{∅},{∅,{∅}}},{∅,{∅},{∅,{∅}},{∅,{∅},{∅,{∅}}}}}
6={0,1,2,3,4,5}={∅,{∅},{∅,{∅}},{∅,{∅},{∅,{∅}}},{∅,{∅},{∅,{∅}},{∅,{∅},{∅,{∅}}}},{∅,{∅},{∅,{∅}},{∅,{∅},{∅,{∅}}},{∅,{∅},{∅,{∅}},{∅,{∅},{∅,{∅}}}}}}
猛烈な勢いでカッコと∅を書いていく藍。湾は慌てて静止する。
「わかった、わかったからちょっと待って」
「せっかく楽しんでたのに…」
「さすがにこれは何というか…少しやりすぎ」
「綺麗でしょ」
「まあ、なんというか、6がこんなに巨大な数だとは思わなかったよ」
「ところで、G(2),G(3),G(8),{2,3,8}の順序数,をそれぞれ見てみよう」
G(2)=∅
G(3)={∅}
G(8)={∅,{∅}}
ord({2,3,8},<)={∅,{∅},{∅,{∅}}}
「あっ!!!これは…これはすごいぞ!!!」
「そう。うまく数と呼ぶにふさわしいものになっているね」
G(2)=∅=0
G(3)={∅}=1
G(8)={∅,{∅}}=2
ord({2,3,8},<)={∅,{∅},{∅,{∅}}}=3
「おもしろいのは、順序数は整列集合ならそれだけで順序数が対応するところ。たとえば、こんなこともできる」
S={あ,い,う,え}
≺:五十音順
とすれば、定義域を{あ,い,う,え}とする関数Gが定義できて、
G(x)={G(a)|a≺x}
G(あ)=∅=0
G(い)={G(あ)}={∅}=1
G(う)={G(あ),G(い)}={∅,{∅}}=2
G(え)={G(あ),G(い),G(う)}={∅,{∅},{∅,{∅}}}=3
ord({あ,い,う,え},≺)
={G(あ),G(い),G(う),G(え)}
={∅,{∅},{∅,{∅}},{∅,{∅},{∅,{∅}}}}=4
となる。
「すごい、どんな文字や記号でも自然数になっていくんだね」
「しかし、順序数がすごいのはここからだ。有限集合Sの元の個数がぴったり順序数を表しているのはいいとして、無限集合Sの順序数はさらに豊かな構造を見せてくれる」
運ばれてきた紅茶とコーヒーに目もくれず、そろそろ冷めてしまうというのに、ますます二人の話は熱中していく。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます