ボルツァーノ=ワイエルシュトラスの定理の証明で学ぶ現代数学における無限の取り扱い

有界な数列は収束する部分列をもつというボルツァーノ=ワイエルシュトラスの定理(以下BW定理)の証明を最初知ったときは本当にこんなことが可能なのか,という疑問が拭えず酷く消化不良をきたしたのを覚えています.主に無限の扱いについて引っかかりました.この定理の証明を「ちゃんと」理解したのは,微分積分を学んでから随分と後の方(学部2年生後期くらい?)でした.そして改めて書籍や数学系のブログなどを眺めていると,「この著者はちゃんと定理の証明を理解しているのかな」と思えるような証明がはびこっていることに気づきました.BW定理を 100% 理解すれば,極限の概念を理解するだけでなく,現代数学でよく行われる証明の手法,主に無限の扱い方を身につけることができるので,題材としてはとても教育的だと私は思います.というわけで,くど過ぎるBW定理の証明の解説を行おうと思います.

この文書では,自然数に 0 を含めることにし,自然数と実数全体の集合をそれぞれ 𝐍,𝐑 で表します.また,空でない閉区間 I=[a,b] に対して,aI左端bI右端と呼びます.また,高校数学では数列を {an} などと表しますが,{} は集合を表す記号と被るので,(an)n𝐍 もしくは単に (an) と表します.また,ann のことを添字と呼びます.

1. よくある証明と疑問点

まずはよく見かけるBW定理の説明不足な証明を書いてみます.ちなみにBW定理には区間縮小法という定理を用いることが多いのですが,簡単に証明できることなので,あえて使いません.

(BW定理のそれらしい証明) 数列 (an) は有界なので,ある実数 b0,c0𝐑 が存在し,任意の n𝐍 に対して b0xnc0 を満たす.I0=[b0,c0] とおいて,I0 を真っ二つに分けた閉区間 [b0,(b0+c0)/2],[(b0+c0)/2,c0] のうち,数列 (an) の項が無限に存在する方を I1 とし,I1 の左端,右端をそれぞれ b1,c1 とする.この定義より b0b1,c1c0,c1-b1=c0-b0 2 が成り立つ.次に I1 を真っ二つに分けた閉区間 [b1,(b1+c1)/2],[(b1+c1)/2,c1] のうち,(an) の項が無限に存在する方を I2 とし,左端,右端をそれぞれ b2,c2 とする.すると,b1b2,c2c1,c2-b2=c1-b1 2 が成り立つ.以降,これを繰り返して,閉区間の列 I0I1I2In を構成する.In=[bn,cn] の定義より b0b1b2bnc0c1c2cn および漸化式 n𝐍bn+1-an+1=bn-an 2 が成り立つ.(bn) は有界な増加列,(cn) は有界な減少列だから収束し,cn-bn=c0-b0 2n0(n) が成り立つので,同一の極限値 α が存在する.

次に I0 に含まれる (an) の項を任意に選びそれを ai(0) とする.そして,I1 には (an) の項が無限にあるから ai(1)I1 かつ i(0)<i(1) となるような添字 i(1) がとれる.次に,I2 には (an) の項が無限にあるから ai(2)I2 かつ i(1)<i(2) となるような添字 i(2) がとれる.これを繰り返すと i(0)<i(1)<i(2)<<i(n)< が構成でき,(an) の部分列 ai(0),ai(1),ai(2), がとれる.この部分列の構成法より任意の n𝐍 に対して ai(n)In が成り立つので bnai(n)cn が常に成り立つ.(bn),(cn)α に収束するから,はさみうちの原理より ai(n)α に収束する.以上で題意は示された.

以上の証明で,疑問点を挙げてみます.

  1. Q1.

    I1 の定義で (an) の項が無限に存在する方をとっているが,どうやって無限個あるのかを判定するのか?

  2. Q2.

    “これを繰り返して”という記述で I0,I1,I2, という無限列を作り出しているが,無限回の操作は許されるのか?

  3. Q3.

    部分列の作り方に関して,I1(an) の項を無限に含むからといって,i(0)<i(1) となる i(1) がみつかるらしいのだが,具体的にどうやってみつけるのか? そして再び“これを繰り返して”という記述で無限列 i(0),i(1),i(2), をとっているが,この無限回の操作も許されるのか?

いずれも無限がからんでいることに関する疑問です.対角線論法を否定的に解釈する人(数学者ではない)や,選択公理などを学んだ人は,無限回の操作を見ると慎重に考えてしまいます.Wikipediaからの引用ですが,クロネッカーの記事にも

構成的で,有限の操作しか行わないような証明でなければ疑わしく感じるようになった.従って,彼にはボルツァーノ=ワイエルシュトラスの定理は認め難かった.

とあります.確かに,BW定理が正しくても,有界な数列 (sinn) から収束する部分列を具体的に構成することは,(少なくとも私には)困難です.となると,BW定理が正しいと分かったところでそれは机上の空論で,建設的な議論はできないのではないかと思いたくなります.しかし,それは現代数学が設定しているルールの問題(推論規則やZFC)にいきつくので,この文書では深く立ち入りしないことにします.あくまで,現代数学の立場でBW定理がちゃんとした定理であることを確認することを目標とします.

2. 無限個あることの判定について

数学において ,ある対象が存在することとそれが具体的にどう表示されるのかは同じレベルの話ではありません.勿論後者がいえれば前者はいえますが,前者がいえたからといって後者がいえるとは限りません.高校で学ぶ平均値の定理などがまさにそれで,f(b)-f(a)b-a=f(c),a<c<b を満たす c が存在することは分かっているけども,それが具体的に幾つかまでは言及しません.そして,その c を用いて導かれる定理や結果は正しいものと認められるのです.となると,例えば,2つの集合 A,B に対して,少なくとも一方が無限集合であることを示せれば,それを C とでもおいて,以降の論理に用いることは認められることになります.特に AB が無限集合であることが分かれば,A または B は必ず無限集合になります.よって,A,B のうち,無限集合である方を C とするという議論は認められます.平均値の定理と同じことをやっている,ということをより理解するには,次のように存在記号を用いたステートメントで表すとよいでしょう.c𝐑f(b)-f(a)b-a=f(c),a<c<bC{A,B}Cは無限集合 を比較しましょう.平均値の定理によって c を用いた議論を今後行えるのであれば,A または B を表す C も今後用いることは可能なはずです.

次に,無限集合について少し触れます.無限集合の定義ですが,これは本によって異なるので面倒です.最も万人に受け入れられそうな「有限集合でない集合を無限集合と呼ぶ」をここでは採用します.すると,有限集合であることの定義も必要になります.

定義 1 (有限集合,無限集合の定義).

集合 A が空集合であるか,ある正の整数 n に対して全単射 a:{1,2,,n}A が存在するとき,A有限集合であるという.有限集合でない集合を無限集合という.

ここで,{1,2,,n}{k𝐍1kn} の略記だと思ってください.このような全単射 a の存在より,任意の A の元 x に対して,ユニークな 1kn が存在して,x=a(k) と表せます.これを x=ak と表すことが多いです.すると集合 AA={ak1kn} と表せます.これを直感的に A={a1,a2,,an} と表すことが多いです.

また,有限集合 A に対するこの n は全単射のとり方によらずユニークに定まります(証明が必要).

定理 1 (有限集合の和集合).

A,B が有限集合のとき,AB も有限集合である.

当たり前のことですが,じゃあ,証明してみろと言われると難しいのではと思います.ここら辺の厳密な話は,BW定理とはあまり関係ないので,またの機会に回します.さて,このステートメントの対偶をとれば,AB が無限集合ならば,A または B は無限集合であることになります.

さて,BW定理の証明を再考してみましょう.(an) は有界だからある実数 b0,c0 が存在し,任意の n に対して b0anc0 を満たします.そして,I0=[b0,c0] とします.当然,I0 には (an) の項が無限に存在します.ただ,これも言い方には注意が必要で,例えば (an)an=2 という定数列だった場合,(an) の項は 2 しかないのではないかと突っ込まれそうです.多くの本で書かれている (an) の項が無限個あるという述語を厳密にいうと,I0 に属する an の添字の集合が無限集合である,となります.

定義 2 (数列の項が無限に存在するとは).

空でない閉区間 I に対して {n𝐍anI} が無限集合になることを,「I(an) の項が無限に存在する」という.

I0=[a0,b0] には (an) の項が無限に存在します.直感的にではなく,上の定義に基づいて説明しましょう.L={n𝐍anI0} と置き,𝐍=L が実際に成り立つことを示せば,𝐍 は無限集合だから題意は示されます.L𝐍 ですから L𝐍 を示せばよいことが分かります.I0=[b0,c0] の定義より,任意に n𝐍 をとると b0anc0 が成り立つので anI0 が成り立つので,nL です.よって 𝐍L です.以上より,𝐍=L だから,I0 には (an) の項が無限に存在することが示せました.

次に I0=[a0,b0] の中点 (a0+b0)/2 をとり,左半分と右半分に区間を分けます.この記述は煩雑なので,新たな記号を導入しましょう.

定義 3 (閉区間の右半分と左半分).

空でない閉区間 I=[a,b] に対して left(I)=[a,(a+b)/2],right(I)=[(a+b)/2,b] と定義する.

I0(an) の項が無限に存在するとき,left(I0),right(I0) のどちらかには (an) の項が無限に存在します.すなわち L={n𝐍anleft(I0)}R={n𝐍anright(I0)} の少なくとも一方は無限集合になります.これは証明されなければなりません.仮にどちらも有限集合とすれば当然 LR は有限集合になりますが,実際 anI0anleft(I0)anright(I1)anLanR が成り立つので,{n𝐍anI0}=LR です.ここで左辺は無限集合なので矛盾します.よって left(I0)right(I0) のどちらかには (an) の項が無限に存在するので,そのどちらかを I1 とすることができます.

3. 無限回の操作について

「これを繰り返して」,「以下同様にして」,少し気の利いた本であれば「帰納的に」という記述は数学では非常に多く登場します.いわゆる写像の帰納的な定義という手法です.BW定理をみると,無限回の操作をして I0,I1,I2,,In, という無限列を作りだしているようにみえますが,スタートとなる I0 を定義し,また,In (と n)を用いてただ一つの In+1 を定義する手続きが定まっているのであればそのような無限列を扱ってもよい,という定理が数学にはあるのです.難しそうな話をしていますが,同様の議論は漸化式として高校生も体験しています.a0=1,an+1=an+2 であれば an=2n+1 という風に一般項が具体的に求まるので,無限個の a0,a1,a2,,an, を認知するのは簡単ですが,a0=0,an+1=1+an といった漸化式で定義される数列は,an を簡単に表示することはできません.a1,a2,a3, が具体的にいくつかどうかは,a1=1,a2=2,a3=1+2,a3=1+1+2, として逐次代入計算をし続けることで具体的な項が分かるだけです.この場合,一般の自然数 n に対する第 nan が不透明ではありますが,例えば a10000 が存在するかどうかは分からないから考えることはできない,と言い張る人はいないでしょう.10000 回の代入計算をすれば必ず求まるからです.同様にすれば,どんな(具体的な)自然数 n に対しても an は確かに存在する,そういう認識をすることは難しくないと思います.そしてそれは何故かというと,an+1=1+an という,an を用いて an+1 を得るための具体的な手続きが明確になっているからです.

ここまで,「認知する」とか,「認識をする」などの感覚的な言葉を用いてきましたが,もう少し厳密な話をしましょう.そもそも(実)数列とは自然数全体の集合 𝐍 から実数全体の集合 𝐑 への写像のことです.数列 a:𝐍𝐑 に対して,通常であれば a(n) と書くところを an としているわけです.また,定義より a という記号単体で数列を表しますが,習慣的に (an)(an)n𝐍 などの記号を用います.つまるところ,数列に必要な要件は,任意の n𝐍 に対して an がただ1つ定まっていることです.an=2n-1 のように,具体的な式表示があれば,任意の n に対して an はただ1つ定まっているといえますが,一般項がなく,an+1=1+an という関係式だけで,本当に任意の n に対して an が一通りに定まっているのかが疑わしいのです.a10,a11,a12 など,具体的な場合は有限の記号列(途中式)で確認できるでしょうが,n が任意になってくると自信はなくなります.そこで活躍するのが「再帰性定理」です.

定理 2 (再帰性定理 I).

集合 X に対して,aXf:XX のとき,

  1. (i)

    φ(0)=a

  2. (ii)

    n𝐍φ(n+1)=f(φ(n))

を満たす写像 φ:NX が唯一つ存在する.

この定理において X=𝐑a=0f(x)=1+x とすれば

  1. (i)

    φ(0)=0

  2. (ii)

    n𝐍φ(n+1)=1+φ(n)

を満たす写像 φ(n) が唯一つ存在します.φ(n)an と表せば a0=1,n𝐍an+1=1+an と書けるので,どんな n𝐍 に対しても an は確かに存在し,具体的な表示は分からないけども数学で扱うことが可能になるわけです.また,具体的な計算をしなくても a10000 などが一通りに存在していることも分かります.

再帰性定理という呼び方は足立恒雄氏の『数とは何か そしてまた何であったか』のものを拝借していますが,同じ著者の『数 体系と歴史』では回帰定理とあります.英語ではrecursion theoremというそうです.斎藤正彦氏の『数学の基礎』には数学的帰納法による写像の定義,という名前で紹介されています.ペアノの公理系から出発して自然数の話を展開した人ならば分かると思いますが,再帰性定理の汎用性は非常に高く,これまで曖昧に理解するしかなかった概念を,厳密なものとして取り入れることが可能になります.また,本文書で再帰性定理 Iとなっているのは,より汎用性のある再帰性定理 IIが存在するから,勝手にバージョンナンバーを付け足してます.

再帰性定理をもう少し深く見ていきましょう.(ii)の式に n=1,2, を代入していけば分かりますが,φ(1)=f(φ(0))=f(a)φ(2)=f(φ(1))=f(f(a))φ(3)=f(φ(2))=f(f(f(a))) となり,どうやら φ(n)afn 回写してできる元であることが確認できます.直感的には a=φ(0)𝑓φ(1)𝑓φ(2)𝑓𝑓φ(n)𝑓 という図式のように,a を初項として,逐次 f で移してできる列を得るための定理が再帰性定理です.ようは任意の自然数 n に対する写像の n 回合成の存在を認める定理なのです.「写像で移す」ことを「手続き」という言葉に換言するならば,ある「手続き」を n 回繰り返すことを,再帰性定理は定式化しているのです.例えば an の定義として an=a××an とするのは,右辺が具体的にどういう式を意味しているかが不明です.an は,(1 に) an 回かけることで得られる実数のことです.同じ手続きを繰り返して得られるものを定義するのに再帰性定理が効果を発揮します.an の厳密な定義は,xax

として定義される写像 f:𝐑𝐑 を考え,再帰性定理より

  1. (i)

    φ(0)=1

  2. (ii)

    n𝐍φ(n+1)=f(φ(n))=aφ(n)

として定まる写像 φ に対する φ(n)an と表す,というものです.φ()a に置き換えて(i)と(ii)を改めると

  1. (i)’

    a0=1

  2. (ii)’

    n𝐍an+1=aan

となります.(ii)’において n=1,2,3 を代入してみると a1=aa0=a1=aa2=aa1=aaa3=aa2=aaa だから,確かに私たちの直感と一致します.

多くの文献では,an を定義するのに,(i)’と(ii)’,すなわち,an の定義に a を使う,プログラミングでいう再帰のような書き方をするので,人によっては違和感を覚えることでしょう(私だけ?).この手の写像の定義をする場合,f がどういう写像なのかをちゃんと明記した上で,再帰性定理のステートメントに則ることで,今自分が本当に現代数学で考えることができる対象を扱っているのかを確認することでもやもやした部分を解消できます.

an の定義をちゃんと行えば,任意の m,n𝐍 に対する aman=am+n などの基本的な公式の証明も厳密に証明することができます.an の定義より上の(i)’と(ii)’が使えます.m を任意の自然数として,n についての帰納法で示してみましょう.n=0 のとき,aman=ama0=am1=am=am+0=am+n で確かに成り立ちます.aman=am+n を仮定して aman+1=am+n+1 を証明しましょう.(ii)’より aman+1=amaan=aaman 帰納法の仮定より aaman=aam+n (ii)’より aam+n=am+n+1 以上で aman+1=am+n+1 が示せたので,任意の m,n𝐍 に対して aman=am+n が示せました.他の指数法則なども証明できるので,自分で証明したことがない定理は使わないという主義の人や,暇な人は試してみてください.ちなみに,k=0nak,k=0nak などの記号も,再帰性定理を用いて初めて厳密に数学で扱える対象として定義されます(厳密には後述の再帰性定理 IIが必要).もっと根元的な話をすると,自然数同士の加法や乗法も再帰性定理によります.自然数の定義から厳密に数学を展開すると,いかに再帰性定理が重要かが体感できます.

ところで,BW定理で出てくる無限回の操作をして構成しているように見える I0,I1,,In, も,再帰性定理を用いれば数学的に認められた存在になります.𝐑 の(空でない)閉区間全体の集合としましょう.前節で,閉区間 I に対して数列 (an) の項が無限に存在することの定義はしてあります.また,閉区間 I の左半分と右半分を表す記号 left(I),right(I) を用います.さて,写像 f:f(I)={left(I)(left(I)(an)の項が無限に存在する)right(I)(それ以外) として定義します.こういった場合分けによる写像の定義は |x|={x(x0)-x(x<0) などで,古くから用いられているので,それほど奇怪なものではありません.さて,写像 f について次が成り立ちます.証明はどれも簡単です.

定理 3.

I=[a,b] f(I)=[a,b] とする.

  1. (1)

    If(I)

  2. (2)

    aa bb

  3. (3)

    b-a=b-a 2

  4. (4)

    I (an) の項が無限に存在するならば, f(I) にも (an) の項が無限に存在する.

有界な数列 (an) に対し,ある実数 b,c が存在して任意の n𝐍 に対して banc とできます.再帰性定理より

  1. (i)

    I(0)=[b,c]

  2. (ii)

    I(n+1)=f(I(n))

を満たす写像 I:𝐍 が唯一つ存在します.I(n)In と表すことにすると

  1. (i)’

    I0=[b,c]

  2. (ii)’

    In+1=f(In)={left(In)(left(In)(an)の項が無限に存在する)right(In)(それ以外)

と書き換えられます.これで任意の自然数 n に対する閉区間 In が定まりました.そして,bn=minIn,cn=maxIn

として数列 (bn),(cn) を定義します.f の性質より

  1. (1)

    InIn+1

  2. (2)

    n𝐍bnbn+1,cn+1cn

  3. (3)

    n𝐍cn+1-bn+1=cn-bn 2

  4. (4)

    In(an) の項が無限に存在するならば,f(In)=In+1 にも (an) の項が無限に存在する.

が成り立ちます.特に I0(an) の項が無限に存在することと(4)より,任意の In(an) の項が無限に存在することが,帰納法により示されます.また,(3)の漸化式を解くことによって cn-bn=b-c 2n0(n) が成り立ちます.

ここで,BW定理の証明でよくある間違いを注意します.証明の最初,I0=[b0,c0] から I1 を定義する際,「left(I0) が無限集合なら I0=left(I0)right(I0) が無限集合なら I1=right(I0) とする」という書き方をよく見かけますが,これは明らかに間違いです.この場合,写像 f:f(I)={left(I)(left(I)(an)の項が無限に存在する)right(I)(right(I)(an)の項が無限に存在する) と定めて再帰性定理を用いようとしているのでしょうが,この f は写像になっていません.なぜならば,left(I) にも right(I) にも (an) の項が無限に存在する場合,f(I)left(I) でも right(I) でもよくなってしまうので,写像の移り先として唯一つに定まらないからです.だから,ここは left(I)(an) の項が無限に存在する場合と,それ以外で定義すべきです.また,left(I) にも rightI にも (an) の項が無限に存在する場合はどちらでもよい,という記述もたまに見かけますが,これも危険です.n が奇数だったら左半分,偶数だったら右半分,のように両方だった場合の明確な決め方を指定しているのならともかく,どちらでも良い,というように任意性を与えていると,やはりこれも f: が写像として成立しないので,再帰性定理を正しく使えていません.

4. 再帰性定理の拡張

再帰性定理 Iだけでは

  1. (i)

    a0=1

  2. (ii)

    an+1=(n+1)an(n𝐍)

という形の漸化式で定まる数列を考えることはできません.この an はいわゆる階乗 n! です.再帰性定理 Iのステートメントでは,φ(n) だけを用いて φ(n+1) を定義させるような手続きがあれば……という形態なので,φ(n)n を用いて φ(n+1) を定義するような状況では使えません.これを解決するには次の再帰性定理 IIを用います.

定理 4 (再帰性定理 II).

集合 X に対して,aXf:N×XX のとき,

  1. (i)

    φ(0)=a

  2. (ii)

    n𝐍φ(n+1)=f(n,φ(n))

を満たす写像 φ:NX がただ1つ存在する

再帰性定理 Iとの違いは,f(φ(n)) の部分が f(n,φ(n)) になっているところです.これによってより多くの写像を扱うことができます.例えば,X=𝐑a=1f(n,x)=(n+1)x とすれば

  1. (i)

    φ(0)=0

  2. (ii)

    n𝐍φ(n+1)=(n+1)φ(n)

を満たす φ がただ1つ存在します.φ(n)n! と表せば,階乗の出来上がりです.

再帰性定理 IIは再帰性定理 Iの応用として簡単に証明できますが,一見複雑に見えるので,先に概略を説明します.そもそも再帰性定理 Iとは,直感的には a=φ(0)𝑓φ(1)𝑓φ(2)𝑓𝑓φ(n)𝑓 という図式のように,a を初項として,逐次 f で移してできる列を得るための定理でした.ここで f は集合 X から X への写像です.それが直積集合でも構いません.だから,X=𝐍×𝐍 として g(n,x)=(n+1,(n+1)x) と定義し,b=(0,1) として,g で逐次移していけば (0,1)𝑔(1,11)=(1,1)𝑔(2,21)=(1,2)𝑔(3,32)=(3,6)𝑔(4,46)=(4,24) となり,n 回目に移したものが,(n,n!) になっているので,この第2成分を φ(n) とすればよいのです.この説明を一般の場合に,ちゃんとした言葉でこてこてにしたものが次です.

(再帰性定理 IIの証明) 写像 g:𝐍×X𝐍×Xg(n,x)=(n+1,f(n,x))

と定義します.再帰性定理 Iより

  1. (i)

    ψ(0)=(0,a)

  2. (ii)

    ψ(n+1)=g(ψ(n))

を満たす ψ:𝐍𝐍×X がただ1つ存在します.ここで,ψ(n)𝐍×X の元なので,第1成分を ι(n),第2成分を φ(n) と表すことにすると,ψ(n)=(ι(n),φ(n)) と表せます.この記法で(i)と(ii)を書き直すと

  1. (i)

    (ι(0),φ(0))=(0,a)

  2. (ii)

    n𝐍(ι(n+1),φ(n+1))=g(ι(n),φ(n))=(ι(n)+1,f(ι(n),φ(n)))

となります.かなり面倒くさそうな展開になってきましたが,第1成分だけに着目すると ι(0)=0,n𝐍ι(n+1)=ι(n)+1

ですから,ι(n)=n です.よって(i)と(ii)は更に

  1. (i)

    (0,φ(0))=(0,a)

  2. (ii)

    (n+1,φ(n+1))=(n+1,f(n,φ(n)))

と書き換わります.第2成分だけを抽出すると

  1. (i)

    φ(0)=a

  2. (ii)

    φ(n+1)=f(n,φ(n))

となっています.これで φ の存在はいえました.一意性は帰納法で簡単に証明できます.

5. 部分列の構成

再帰性定理によって,閉区間の列 I0I1In は各 In=[bn,cn](an) の項が無限に存在するように構成することができました.このあと,適切に各 In から (an) の項をとりだし,収束する部分列を構成します.しかし,個人のブログなどに多いのですが,取り出し方の詳細が書かれておらず,In(an) の項が無数に存在するから,任意に1つずつ取り出して (an) の部分列を構成すればいい,といった記述が見られます.これは部分列の定義を無視した大きな間違いです(さすがに書籍化されているものにはほとんど見受けられません).また,In に属する an から,最も番号が若いものを ai(n) とする,という惜しい説明も見かけます.しかし,いずれにしろ部分列の定義を無視しているので間違いです.この部分列の構成において,部分列の定義と,項を取り出す方法,2つの項目を見直す必要があります.

まず部分列の定義からです.素朴に言えば,数列 a0,a1,a2, において,左から項を適当に選んでできる数列のことを (an) の部分列といいます.例えば,偶数項だけ取り出した a0,a2,a4, 素数の項だけ取り出した a2,a3,a5, などです.ここで大事なのは,「左から」という表現があるので,部分列において,an の添字が途中で小さくなったりするものは考えません.例えば a3,a2,a1,a11,a12, といったものは部分列とは呼びません.よって,部分列を構成する上で,an の添字が単調に増加するような取り方に限定されます.厳密には次のように定義します.

定義 4 (部分列の定義).

写像 i:NN を狭義増加関数とする.すなわち, n𝐍i(n)<i(n+1) が成り立つとする.このとき,数列 (an) に対して,第 n 項を ai(n) として定義される数列 ai(0),ai(1),,ai(n), (an)部分列という.

例えば,i(n)=2n として定義すれば,i(0)=0,i(1)=2,i(2)=4, で,単調増加ですから a0,a2,a4,,a2n, となり,偶数項だけを取り出した部分列が出来上がります.部分列 ai(0),ai(1),,ai(n), を構成する上で重要なのは i(n)<i(n+1) が成り立っていなければならないということです.BW定理の証明において,各 In から (an) の項を任意に1つとって,それを ai(n) としてしまうと,i(n)<i(n+1) かどうかの保証がありません.もっと言えば選択公理を用いています.そもそも In から任意に1つとってくれば良いだけなのなら,(an) の項が無限に存在するように In を定義した意味がありません.

次に項の取り出し方についてです.ここまでで選択公理がどうたらこうたらという話をちょくちょく持ち出しています.選択公理を認めると,例えば,空でない 𝐑 の部分集合の列 A0,A1,A2,,An, から,anAn を満たすような数列 a0,a1,a2,,an, をとることができます.当たり前と思うか,そうでないと思うかは人それぞれです.クロネッカーのような立場の人は,an は具体的にどう表されるのか,という点を突っ込むのかもしれません.一方で,空でない 𝐍 の部分集合の列 W0,W1,W2,,Wn, から,wnWn を満たすような数列 w0,w1,w2,,wn, は,選択公理を仮定しなくてもとることができます.なぜならば,𝐍 の空でない任意の部分集合は最小元をもつことが数学的帰納法で証明できるので,wn=minWn とすれば,数列 (wn) が直接的に定義できるからです.空でない実数の部分集合 A には,そのようなある確定した値を指定することができないために選択公理が必要なのです.

空でない 𝐍 の部分集合が最小元をもつという性質は 𝐍整列性と呼ばれるもので,色々な分野で使われています.例えば,整数 a,b に対してその最大公約数を d とするとき,ax+by=d を満たす整数 x,y が存在することを示すには,{ax+byx,y𝐙} は空でないから,その最小元を d とし,その d が,a,b の最大公約数であることを示す,という流れで証明します.また,群 G の元 a に対して,ある自然数 n が存在して an=1 を満たすとき,そのような n で最小のものを a の位数といいます.ここでも整列性を用いています.線型代数や体論で登場する最小多項式の存在もやはり整列性によっています.𝐍 の整列性はあらゆる所で使われていますが,それは数学的帰納法が正しい議論であることと同値です.つまり,現代数学のあらゆる所で帰納法を用いていることになります.

定理 5 (𝐍 の整列性).

次は同値である.

  1. (i)

    𝐍 の任意の空でない部分集合は最小元をもつ.

  2. (ii)

    p(n) を論理式とする.以下が示せれば n𝐍p(n)

    1. (I)

      p(0)

    2. (II)

      n𝐍p(n)p(n+1)

では,𝐍 の整列性を用いて,(an) の部分列を構成しましょう.写像 g:𝐍×𝐍𝐍g(n,x)=min{k𝐍akInx<k} で定義します.これは各 In には (an) の項が無限に存在するという性質より,min{k𝐍akInm<k} が空でないので,𝐍 の整列性により必ず最小元が存在する事実から,写像 g が確定します.最小元の定義から当然 g(n,x){k𝐍akIn+1x<k} が成り立つので,ag(n,x)In+1,x<g(n,x)

が任意の n𝐍 で成り立つことに注意してください.再帰性定理 IIより

  1. (i)

    i(0)=min{k𝐍akI0}

  2. (ii)

    n𝐍i(n+1)=g(n,i(n))

を満たす写像 i:𝐍𝐍 が唯一つ存在します.g の性質 ag(n,x)In+1,x<g(n,x) において,x=i(n) とすれば ag(n,i(n))In+1,x<g(n,i(n)) すなわち ai(n+1)In+1,i(n)<i(n+1) が任意の n𝐍 で成り立ちます.ai(0)I0 は,i(0) の定義より成り立つので,任意の n𝐍 に対して ai(n)In が成り立ちます.

6. 誤解のない証明

では最後に,無限回の操作をしていると思わせない,ちゃんとした証明をして締めくくります.

(BW定理の証明) 数列 (an) は有界なので,ある b,c𝐑 が存在して任意の n𝐍 に対して banc を満たす.空でない閉区間全体の集合を として,写像 f:f(I)={left(I)(left(I)(an)の項が無限に存在する)right(I)(それ以外) で定義する.再帰性定理より I0=[b,c],In+1=f(In)

を満たす の列 (In) が唯一つ存在する.f の性質より,以下の性質が示せる.

  1. (1)

    InIn+1

  2. (2)

    n𝐍bnbn+1,cn+1cn

  3. (3)

    n𝐍cn+1-bn+1=cn-bn 2

  4. (4)

    n𝐍In(an) の項が無限に存在する.

(2)より,(bn),(cn) は単調かつ有界な数列であることが分かり,(3)によって cn+1-bn+1=c-b 2n0(n) が成り立つので,同一の極限値 α に収束する.また,(4)と 𝐍 の整列性より,写像 g:𝐍×𝐍𝐍g(n,x)=min{k𝐍akInx<k} で定義できる.最小元の定義から当然 g(n,x){k𝐍akIn+1x<k} が成り立つので,ag(n,x)In+1,x<g(n,x)

が任意の n𝐍 で成り立つ.再帰性定理 IIより

  1. (i)

    i(0)=min{k𝐍akI0}

  2. (ii)

    n𝐍i(n+1)=g(n,i(n))

を満たす写像 i:𝐍𝐍 が唯一つ存在する.g の性質より ag(n,i(n))In+1,x<g(n,i(n)) すなわち ai(n+1)In+1,i(n)<i(n+1) が任意の n𝐍 で成り立つ.任意の n𝐍 に対して ai(n)In が,すなわち bnai(n)cn が成り立つ.はさみうちの原理より ai(n)α に収束する.以上で題意は示された.

コメントする