ひかりちゃんの悲観的絵日記

絵日記要素はあるかもしれないしないかもしれない。

連続体仮説の勉強その1:超限再帰のおさらい

 趣味の数学で次に何をやろうかなと思って,連続体仮説まわりの話と測度論ベースの複素解析が候補に挙がりました.これらは二者択一ではなく,気分によって好きな方をやるとかでもよいと思うのですが,とりあえず先に連続体仮説関連の勉強をしようと思います.

 連続体仮説(continuum hypothesis, CH)とは,「自然数よりサイズが真に大きくて,実数よりサイズが真に小さい集合は存在しない」という主張です.CHはZFCから独立であることが示されています.すなわち,ZFCではCHを証明も反証もできません.

 「連続体仮説の勉強」ということで私が意味するのは,この独立性の証明を追うことです.テキストとしては独立性証明に大きく貢献した(ZFCの公理からCHは証明できないことを示した)Paul J. CohenのSet Theory and the Continuum Hypothesis, Dover, 2008(オリジナルはW. A. Benjaminから1966年に出た)を使おうと思っています.これはCHの独立性証明がなされた数年後に書かれた解説書です.

 ただ,私も集合論の勉強を離れて久しいので,もう順序数の定義からして忘れています.よく分からないけれど,とにかく順序数の理解は必要なはずです.なので少し復習タイムを設けたいと思います.テキストとしてはH. B. Enderton, Elements of Set Theory, Academic Press, 1977を使います.

 順序数(ordinal number)というのは一般化された自然数みたいなやつです.自然数自体は「無限大」のような数を含みませんが,そうした「無限大」の数として\omegaというものを作り,\omegaよりも大きな無限の数があって,自然数みたいなノリでどんどん続いていくというイメージです.

 自然数自体は無限公理というやつを使って天下り式に作るのですが,順序数を作るにはもう少しステップが要ります.その際に超限再帰(transfinite recursion)という道具を使います.超限再帰自然数上の再帰の一般化みたいなやつです.今回はこの超限再帰までおさらいします.

 自然数上の再帰といえば,たとえば+3する関数+_{3}+_{3}(0)=3+_{3}(suc(n))=suc(+_{3}(n))のように定義するやつです(自然数nに対してsuc(n)nの後続数).6+3=(5+1)+3=(5+3)+1=9みたいなノリですね.こういう「再帰的定義」がなぜ許されるのかというと,以下の再帰定理が成り立つからです.\omega自然数全体の集合を表すものとします.

自然数上の再帰定理

Aを何らかの集合,aをその要素,FAからAへの関数とする.このとき,関数h:\omega \to Aで,h(0)=ah(suc(n))=F(h(n))を満たすものが唯一存在する.*1

ここで存在を主張されている関数hが,いわゆる再帰的に定義される関数です.Fには「h(n)が与えられたときにh(suc(n))の値を決めてくれるやつ」が入ります.上に挙げた関数+_{3}:\omega \to \omegaのケースだと,suc: \omega \to \omegaがちょうどこのFにあたります.

 自然数上の再帰ができるのは\omegaがいい感じの順序構造をもっているからですが,実は再帰っぽいことは任意の整列集合上でできます(集合A上の整列順序(well-ordering)とは,線型順序であって,Aの空でない任意の部分集合がその順序に関する最小元をもつようなものです).これが超限再帰です.以下に記すのは超限再帰の強力なバージョンである,超限再帰定理図式(transfinite recursion theorem schema)です.

超限再帰定理図式

>を集合A上の整列順序とする.このとき,\gammaが集合全体のクラス上で定義された関数クラスならば,Aを定義域とする関数hであって,t \in Aに対してh(t)=\gamma(h\restriction{seg \ t})となるような関数hが唯一存在する.*2

 色々と分からない言葉が出てきたので,順に説明していきます.まず「関数クラス」ですね.世の中には関数っぽいけど定義域が大きすぎて関数になれないようなものがあります.たとえば,集合を食ってその値域(range)を返すようなものは関数っぽく見えますが,定義域が集合全体のクラスでは大きすぎて集合になれません(一般の集合に対して値域と言うのは異様な気がしますが,関係でないタイプの集合の値域としては空集合が振られます).こういうものに言及する方法として,論理式にメタで言及するというものがあります.つまり,項xに対して\gamma(x, y)なる項yが唯一存在するような穴あき論理式\gamma(x, y)を考えると(たとえば「yxの値域である」),これは関数っぽいものになり,\gamma(x)=yという形で表して(記法の濫用)、これを関数クラスと呼んでいます.

 次にh\restriction{seg \ t}です.まず,\restrictionは関数の制限です.関数hに対してh\restriction{A}hの定義域をAに制限して得られる関数です.順序づけられた集合Aの元tに対してseg \ tとは,Aの要素でtより小さいようなものを集めた集合です(「始切片 initial segment」と呼ばれます).つまり,h\restriction{seg \ t}hの定義域をtより小さいやつに制限して得られた関数ということですね.

 こうしてみると,超限再帰\omega上の再帰の一般化という感じがしてきますね.\omega上の再帰における関数Fが関数クラス\gammaに替わって,\omegaが任意の整列集合に替わっています(相違点としては、\omega上では「1個前」の自然数に関する値から次の自然数に関する関数の値を定められれば良かったのに対して、超限再帰では「今の元より小さいやつ全部」に関する関数の情報が必要になる、ということがあります).超限再帰定理図式が言っていることは,「tより小さい要素に関するhの情報が全部与えられたときにh(t)の値を決められるような規則\gammaがあれば,整列集合上でなら,その規則で定まりそうな関数hをちゃんと定義できるよ」ということです.

 超限再帰の応用の例として分かりやすいのは順序数の構成なのですが,今回は長くなってきたのでここらで終わりにします.次回は順序数を構成します.

*1:cf. H. B. Enderton, Elements of Set Theory, Academic Press, 1977, pp. 73-74.

*2:cf. 上掲書, p. 177.