連続性公理と実数を定義する3つの方法 (初学者向けの話)

数学

理工系の大学に入ると, 微分積分の講義の序盤で「実数の連続性公理」について扱われます. この記事では高校数学までの概念から出発して, 連続性公理について平易に解説しました. またよくある, 天下り的な方法で定義や公理を与えるのではなく, 発見法的な流れにして, 初学者でも読みやすいように記述したつもりです.

前置き(中学・高校数学での実数の定義)

高校までの数学では, 実数や無理数を, 有理数と比較して次のように定義していました.

  • 有理数:分数で表せる数(有限小数または循環する無限小数)
  • 無理数:循環しない無限少数
  • 実数:有理数と無理数を合わせたもの

しかし, 高校では実数の厳密な定義については通常扱われませんので, 無限小数とはそもそも何なのかという疑問を持つ方や, 色々な誤解を持つ方がいます. この疑問や誤解を解くために, 次の節で無限小数の定義について簡単に説明し, その後で実数の連続性公理について解説します.

しかし, この無限小数の定義を実際に正当化するには, 実数の厳密な定義や構成方法について深く扱わなければなりません. 実数の定義について深く扱おうとすると, それだけでかなりの文量になるため, 微分積分の教科書の序盤では, 連続性公理は扱っても, 実数の定義を厳密に扱うものは少ないです. この記事でも, 実数の厳密な定義や構成方法については深く扱いませんが, 後半で大まかな構成手順を載せておきました.

無限小数について

無限小数とは何かを, 標語的に言うと次のようになります.

無限小数とは, 有限小数の数列が近づく値のことである.

例えば, \(\sqrt{2}\)は有理数ではないので, 有限小数や循環少数では表すことができません. しかし, \(\sqrt{2}\)そのものの値でなくても, 定義(二乗して2になる数)に従えば, 任意の精度で値を知ることができます. 例えば, 少数第一位までの有限小数のうち, 二乗して\(2\)を超えない最大の数は, 次の不等式から\(1.4\)だと分かります. \[1.4^2\; (=1.96)\; <\; 2 \; <1.5^2\; (=2.25).\] また少数第二位までの有限小数では, 以下より\(1.41\)です. \[1.41^2\; (=1.9881)\; <\; 2 \; <1.42^2\; (=2.0164).\] このような作業を続ければ, 少数第\(n\)位までの有限少数を任意の\(n\)に対して定義することができて, \(\sqrt{2}\)を形式的に \[\sqrt{2}=1.41421356\cdots\] と表せます. ここまでの内容は中学・高校の数学で扱いますが, この無限に続く少数を次のような有理数(有限小数)の数列と考えます. \[1, \quad 1.4, \quad 1.41, \quad 1.414, \quad 1.4142, \quad 1.41421, \quad 1.414213,\quad \ldots \qquad \mbox{($\ast$)}\] このような数列の極限値, つまり近づく値が無限小数の定義です. 数列(\(\ast\))はどの項も\(\sqrt{2}\)には一致しませんが, \(\sqrt{2}\)という値に限りなく近づくことが分かります. この近づく先が無限小数\(1.41421356\cdots\)の定義ということです.

それでは, この考え方を用いて 無限小数の定義を一般的に書き下してみましょう.

無限小数の定義

\(k\) をある整数とする. また \(n=1,2,3,\ldots\) に対して, \(k_n\) を \(0\leq k_n\leq 9\) となる整数とする. このとき, 無限小数 \[k.k_1k_2k_3\cdots\] を有理数の数列 \(a_n=k.k_1k_2k_3\cdots k_n\) の極限値\(\displaystyle\lim_{n\rightarrow \infty} a_n\)として定める.

より厳密な話をすると, このままでは, ここに現れる極限値\(\displaystyle\lim_{n\rightarrow \infty} a_n\)とはどのように定義するのかという問題があります. 高校数学では極限値「限りなく近づく値」として定めますが, この極限値にも, \(\epsilon\)\(\delta\)論法や\(\epsilon\)\(N\)論法と呼ばれる厳密な定義があります. この概念については記事の後半で説明します.

よくある誤解

中学高校で無限小数を習った際に, \[1=0.999\cdots\] という等式を見たことがあるかと思います. 時折, これは厳密には正しくないのではないかという誤解をする方がいます. しかし, 上で説明した無限小数の定義に立ち返って考えれば, 右辺は次のような数列 \[0, \quad 0.9, \quad 0.99, \quad 0.999, \quad 0.9999, \quad \cdots\] の近づく値として定義されます. この数列自体が\(1\)という値を取らなくでも, \(1\)に近づくのでこの無限小数の値は\(1\)になるのです. 従って\(1=0.999\cdots\)という等式は確かに正しい等式になります.

実数の連続性公理について

上の「無限小数について」で説明したように, 無限小数とは有限小数の数列の極限値のことでした. では一般に, このような無限小数は本当に極限値を持つのでしょうか. これを疑う人は少ないと思いますが, 実は無限少数が実数に収束することは, 次の連続性公理と呼ばれるものを用いて示すことができます. 公理とは証明なしに認める命題のことで, むしろこの公理をもって実数を特徴付けようとする(定義しようとする)考え方です.

連続性公理

上に有界な単調増加数列は極限値を持つ.

用語の説明
数列 \({a_n}\)が上に有界であるとは, 任意の番号\(n\)に対して, \(a_n\leqq M\)となるような数\(M\)が存在することです.
単調増加数列とは \[a_1<a_2 <a_3<\cdots< a_n< a_{n+1}<\cdots\] となっている数列のことです.

連続性公理の気持ち

例えば次のような集合を考えてみましょう. \[A=\{x\, |\, 0\leq x\leq 10 \mbox{ かつ } x\neq 5\}.\] 集合\(A\)には\(x=5\)の部分に穴が空いています. この集合上の数列\(a_n=5-\dfrac{1}{n}\)の極限値は, \(\displaystyle \lim_{n \rightarrow \infty} a_n =5\)となるので, 数列の各項は\(a_n \in A\)となっていても 極限値が\(A\)の中に存在しません. 従ってこの集合\(A\)は連続性公理を満たさないと言えます.

これと同じようなことが実数全体の集合に起きないということを, 実数の連続性公理は主張しています. もし実数直線上の\(\sqrt{2}\)という場所にポッカリと穴が空いていたとしたら, 数列(\(\ast\))は実数に収束しないことになってしまいます. つまり, 実数の連続性公理は実数直線上にこのような「穴が空いていない」という感覚を表現しています.

この実数の連続性公理が微分積分の理論の出発点になっており, 中間値の定理などもここから証明することができます. 連続性公理にはいくつもの同値な条件が知られており, この他にも「上に有界な集合は上限を持つ」という述べ方をしたり, 「有界な数列は収束する部分列を持つ」(ボルツァーノ・ワイエルシュトラスの定理)という言い方をすることもできます. (他にもいくつか知られています.)

無限小数の収束(連続性公理の例)

では連続性公理の具体例を考えてみましょう. 例えば数列 (\(\ast\))は明らかに単調増加数列であり, どの項も\(2\)より小さいので, 実数の連続性公理から収束することが分かります.

また一般に\(k\)を任意の整数, \(k_1, k_2, k_3, \ldots\)を1から9までの整数とし, 無限小数 \[k.k_1k_2k_3\cdots\] を考えてみましょう. これは有限小数の数列 \[a_n=k.k_1k_2k_3\cdots k_n\] の極限を考えることになりますが, 明らかに単調増加数列であり, 任意の番号\(n\)に対して\(a_n<k+1\)となるので上に有界です. 従って数列\(a_n\)は収束します.

つまり, どんな無限小数も実数の連続性公理から極限値を持つことが示されます.

ネイピア数(連続性公理の例題)

連続性公理を用いた重要な例題を1つ紹介しておきましょう.

例題

数列\(a_n=\left( 1+\dfrac{1}{n}\right)^n\)は収束することを示せ.

実際, この数列は以下の表のように一定の値に近づくことが知られています.

\(\; n\; \)1101001000
\(\; a_n\; \)\(\quad 2\quad\)\(2.5937\cdots\)\(2.7048\cdots\)\(2.7169\cdots\)

また, この例題の数列の極限値はネイピア数と呼ばれ, \[e=\lim_{n\rightarrow \infty} \left( 1+\frac{1}{n}\right)^n\] と表されます. 実際の値は無理数で \(e=2.71828\cdots\) となり, 指数関数や対数関数の微分積分で非常に重要な役割を果たします. 高校数学でもネイピア数について扱いますが, この数列が収束することは証明しませんでした. 実際には実数の連続性公理を用いて証明します.

解答. 二項定理 \(\displaystyle (x+y)^n=\sum_{k=0}^n \begin{pmatrix}n \\ k\end{pmatrix} x^{n-k} y^k\) を用いると \[a_n=\sum_{k=0}^n \begin{pmatrix}n \\ k\end{pmatrix} \dfrac{1}{n^k}\] となる. ただし, \(\begin{pmatrix}n \\ k\end{pmatrix}=\dfrac{n!}{k! \cdot (n-k)!}\)は二項係数である.
\(k=0\)または\(k=1\)のとき, \(\begin{pmatrix}n \\ k\end{pmatrix} \dfrac{1}{n^k}=1\)となるから \[\begin{aligned}
a_n&=2+\sum_{k=2}^n \begin{pmatrix}n \\ k\end{pmatrix} \dfrac{1}{n^k}\\
&=2+\sum_{k=2}^n \dfrac{n\cdot (n-1)\cdot (n-2)\cdots (n-k+1)}{k!\cdot n^k }\\
&=2+\sum_{k=2}^n \dfrac{1}{{k!}}\left(1-\frac{1}{n}\right)\cdot \left(1-\frac{2}{n}\right)\cdots \left(1-\frac{k-1}{n}\right) \qquad …..(\mbox{#})
\end{aligned}\]
この式から\(a_n\)が単調増加であることと, 上に有界であることを示すことができる.

(1) 単調増加について.

\(\left( 1-\dfrac{i}{n}\right)<\left(1-\dfrac{i}{n+1}\right)\)\(i\)は正の整数) であることと, \(\left( 1-\dfrac{i}{n+1}\right)>0\)\(i\leq n+1\)のとき)であることから, (#)より, \[\begin{aligned}
a_n&<2+\sum_{k=2}^{n}
\dfrac{1}{{k!}}\left(1-\frac{1}{n+1}\right)\cdot \left(1-\frac{2}{n+1}\right)\cdots \left(1-\frac{k-1}{n+1}\right) \\
&<2+\sum_{k=2}^{n+1}
\dfrac{1}{{k!}}\left(1-\frac{1}{n+1}\right)\cdot \left(1-\frac{2}{n+1}\right)\cdots \left(1-\frac{k-1}{n+1}\right) \\
&=a_{n+1}
\end{aligned}\]
となる. 従って数列\(a_{n}\)は単調増加である.

(2) 上に有界であることについて.

\(\left( 1-\dfrac{i}{n}\right)<1\)\(i\)は正の整数)であるから, (#)より, \[\begin{aligned}
a_n&<2+\sum_{k=2}^{n}\dfrac{1}{k!}\\
&<2+\sum_{k=2}^{n}\dfrac{1}{2^{k-1}}\\
&<2+\frac{1}{2} \cdot \dfrac{1-\frac{1}{2^{n-1}}}{1-\frac{1}{2}}\\
&<2+ 1-\frac{1}{2^{n-1}}<3
\end{aligned}\]
従って任意の番号\(n\)に対して\(a_n<3\)となるので, 上に有界である.

(1)(2)より, 連続性公理から数列\(a_n\)は極限値を持つ.

\(\epsilon\)-\(\delta\)論法について

上で述べた無限小数の定義や実数の連続性公理には極限値という言葉が使われています. 高校数学や平易に書かれた理工系の教科書では, 極限値は「限りなく近づく値」として説明されますが, それでは「限りなく近づく」とはいったいどういうことなのか. 極限値とは, 厳密にはどのように定義するのか見ていきましょう. これには次の\(\epsilon\)\(\delta\)論法や\(\epsilon\)\(N\)論法と呼ばれる理論を用います.

極限値の厳密な定義

数列\(\{ a_n \}\)が\(\alpha\)に収束するとは, 任意の\(\epsilon>0\)に対して, 次の条件を満たす正の整数\(N\)が存在することである: \[n \geq N\quad \mbox{ならば} \quad |a_n-\alpha|<\epsilon.\] このとき, \(\alpha\)を数列\(a_n\)の極限値といい, \(\displaystyle\lim_{n\rightarrow \infty} a_n=\alpha\)と書く.

定義の解説.
まずこの定義における \(\epsilon\)という数は, \(0\)でなければどんなに小さい数でも良いということを想定しています. このどんなに小さい\(\epsilon\)に対しても, ある十分大きな番号 \(N\) 以上の項であれば, \(\alpha\)との距離が\(\epsilon\)以下になるということです. つまり, 下図のような予め設定した範囲内(青の部分)に, 第\(N\)項よりも先の項は必ずその範囲に入る, そのような\(N\)\(\epsilon\)に応じて取るとこができるということです. このことを高校数学では「限りなく近づく」と表現しています.

以上が極限値の厳密な定義になります. しかし, 実数や無限小数の定義を与える際に, ここで1つ問題が発生します. それは実数の定義が与えられていない状態で, 極限値という言葉を用いても, 極限値の定義文にある「\(\alpha\)」とはそもそも何者なのかを定めることができません. 実数を定義するためには, この「\(\alpha\)」が元々どのような集合に属しているものなのかを別の意味で定義しなければなりません. そこで厳密に実数を定義する際には, 無限小数という概念は一旦捨てて, 次の章で説明する手順を踏みます.

実数の厳密な構成方法

この記事では, 実数の厳密な定義について, 3通りの方法を紹介します. 以下, 覚書程度にまとめたものですので, 詳細な議論はしていませんが, ご容赦ください. 詳しくは参考文献などをご覧ください.

実数の厳密な構成方法1(公理系によって定義する方法)

実数を定義する手順1
  1. まず順序体と呼ばれる集合を予め用意する.
    順序体とは簡単にいうと, 加減乗除(\(+, -, \times, \div\)) と順序(不等号\(>, <\)の概念)が定義された集合のこと.
  2. その順序体が連続性公理を満たすとき, その集合を実数体, またその元を実数と呼ぶ.

予め順序体という集合を用意することで, 極限の定義に現れる「\(\alpha\)」は, この集合の要素であることを前提条件とできます. そして, 連続性公理を満たすものを実数とします. つまり実数の連続性公理は性質として与えるのではなく, これを持って実数を特徴付ける(定義する)ということになります. このような性質を持つ順序体は唯一であることが知られています. また高校数学で扱った実数の定義(有限または無限小数全体の集合)を用いて, この順序体の中で部分集合を定義すれば, 実はその部分集合が, この手順で定義した実数全体と一致することが示せるはずです.

手順1の詳しい解説については 「解析入門 杉浦光夫 著」が参考になります.

実数の厳密な構成方法2(コーシー完備化による方法)

実数の定義を与える2つ目の方法としては, 「収束する数列」であることを, 極限値という言葉を用いずに「コーシー列」という言葉で言い換える方法です. コーシー列の定義には, 極限値という言葉が含まれていないため, これを利用して実数を構成することができます.

コーシー列の定義

数列\(\{a_n\}\)がコーシー列であるとは, 任意の\(\epsilon>0\)に対して, 次の条件を満たす正の整数\(N\)が存在することである: \[n,m\geq N\quad \mbox{ならば}\quad |a_n-a_m|<0.\]

他の方法で実数を定義した場合, コーシー列は収束する数列であることが知られています. この性質を逆手にとって実数を構成できます. また有理数だけを項とするコーシー列を有理コーシー列といいます. このとき, 定義文の\(\epsilon\)は有理数として構いません.

有理コーシー列の定義

有理コーシー列とは, 有理数の数列\(\{a_n\}\)で, 任意の有理数\(\epsilon>0\)に対して, 次の条件を満たす正の整数\(N\)が存在することである: \[n,m\geq N\quad \mbox{ならば}\quad |a_n-a_m|<0.\]

有理コーシー列の定義には, 実数という言葉は含まれておらず, ここに登場しているのは有理数と整数だけであることに注意してください. それでは以下が実数を定義する2つ目の方法です. この方法は完備化と呼ばれたりします.

実数を定義する手順2
  1. 有理コーシー列全体の集合を用意する.
  2. このとき次の条件を満たす2つのコーシー列\(\{a_n\}\)と\(\{b_n\}\)は同じものと見なす. (専門用語で「同値関係で割る」と言います)
    任意の有理数\(\epsilon>0\)に対して, 次の条件を満たす番号\(N\)が存在する: \[n,m\geq N\quad\mbox{ならば}\quad|a_n-b_m|<\epsilon\]
  3. この同一視を導入した集合に, 加減乗除などの演算を定めたものを実数と呼ぶ.

この手順で導入した実数は, 手順1で構成した実数と同じものになっていることが知られています. またこの手順で定義すると実数の連続性も定理(帰結として導かれるもの) として与えることができます.

この手順については「数学の基礎 集合・数・位相 齋藤正彦 著 東京大学出版」が参考になります.

実数の厳密な構成方法3(デデキント切断による方法)

3つ目はデデキント切断と呼ばれるものを用いた方法です. これを使った方法を有理数の順序完備化とも呼びます. この方法では有理数全体の集合\(\mathbb{Q}\)切断と呼ばれる2つの部分集合の組に分けることを考えます.

切断の定義

\(\mathbb{Q}\)の2つの部分集合\(A\)と\(A’\)の組\((A,A’)\)が有理数の切断であるとは, \(A\)と\(A’\)の和集合が\(\mathbb{Q}\)に一致していて, かつ, \(A\)のどの元も, \(A’\)のどの元よりも小さいことである.
つまり\(\mathbb{Q}=A\cup A’\)であり, \[\mbox{任意の } a\in A, \, a’\in A’ \mbox{ に対して } a<a’ \]となることである.

有理数の切断\((A,A’)\)には次の2通りの状況が考えられます.

  • (第1の型) \(A\)に最大の元が存在するか, または, \(A’\)に最小の元が存在する.

    例えば\(A=\{x\, |\, x\leq \frac{1}{3}\}, A’=\{x\, |\, x>\frac{1}{3} \}\)のようなとき.

  • (第2の型) \(A\)と\(A’\)どちらにも最小の元, 最大の元が存在しない.

    例えば, \(A=\{x\, |\, x^2< 2 \mbox{ または } x<0\}, A’=\{x\, |\, x^2 > 2 \mbox{ かつ } x>0\}\)のとき.

2つ目の状況の例では,無理数\(\sqrt{2}\)を境目にして \(A=\{x\, |\, x<\sqrt{2}\}, A’=\{x\, |\, x > \sqrt{2} \}\) と書きたいところですが, 無理数をまだ定義していない状況ですので, 二乗して2を超えるか超えないかで2つの集合に切断します.

以下が実数を定義する3つ目の方法です.

実数を定義する手順3
  1. 有理数の切断全体の集合を用意する.
  2. その集合のうち, 2つの第1の型の切断\((A,A’)\)と\((B,B’)\)で, \(A\)に最大限\(a\)が, \(B’\)に最小限\(b\)が存在し, かつ\(a=b\)となるとき, この2つの切断を同一視する. この同一視の元で, 第1の型の切断\((A,A’)\)を有理数\(a\)と定める.
  3. 第2の型の切断\((A,A’)\)を1つの無理数と定める.
  4. 有理数と無理数の全体の集合を合わせて実数と呼ぶ.
  5. ここに適切な四則演算と大小関係を定義する.

この方法は「解析概論(高木貞治)」や「数学の基礎 集合・数・位相(齋藤正彦)」が参考になります.

参考文献・参考サイト

参考文献

  • 解析入門 杉浦光夫 東京大学出版
  • 解析概論 高木貞治 岩波書店
  • 明解微分積分 南就将(他)著 数学書房
  • 数学の基礎 集合・数・位相 齋藤正彦 東京大学出版会

参考サイト
 内容はきちんと確認していませんが, 詳しい実数の構成方法について, Webサイト上でまとまっているものもあります.

九州大学の原さんという方のノート(実数の構成に関するノート)
デデキント切断とコーシー完備化による2つの方法についてまとめられています.

実数はどう定義される?|実数の連続性公理から理解する
公理系による実数の定義がまとめられています.

コメント

タイトルとURLをコピーしました