ユークリッド原論の実数の扱いを理解するには、「デデキントの切断」を 知っていないといけません。またこれだけでは少し不自由なので 「基本列」(コーシー列) による実数の定式化にも触れることにします。
現代的観点から、実数を最初に定式化したのはデデキント(Dedekind, 1831--1916) で
に書かれたのだそうです。ドイツ語はとても読めませんが、 参考にしたのは、英訳で Dover からでているペーパーバックの本です。 これに両方が掲載されています。あわせて 115 ページになります。 日本語訳 (岩波全書 ?) もあるそうですが、詳しく知りません。
デデキント自身の説明はかなり判読が難しいので、高木貞二の「解析概論」の付録を 少々修正して説明すると
有理数からなる数列
を考える。これが基本列 (あるいはコーシー列) とは任意の微少量 ε>0 に対して 自然数 N が存在して
となることをいう。
a1, a2, a3,...という数列があったとき、点の位置を計算機の画面に表示したとします。 (黒い背景に明るい点のほうがよいです。) そして n 秒後に an の位置に点を表示する。数列が基本列であるとは 時間とともに点の移動距離が小さくなるという意味です。 だから無限の時間の経過後、点が確定します。減衰していく振り子を考えてもよいかも知れません。
基本列 (an)n = 1,2,3,.. が 零列 とは 任意の微少量 ε>0 に対して自然数 N が存在して
となることを言う。 (零列とは、要するに 0 に近づく基本列のことです。)
2 つの基本列
に対して、その差を
と決めます。2 つの基本列の差が零列のときに、2 つの基本列は同じ実数を 定めるとみなします。(集合論的には「同値関係で割る」ということをしないと いけませんが、単に「同じとみなす」でも間違いではありません。)
カントールの定義は無限小数表示に限定して考えるほうがわかりやすいです:
のような表示があるときに、これを数列
とみなし、更に 2 つの数列
に対して
が 0 に近づくときに同じ数を定めるとみなす。これだけのことである。 すると次の 2 つの数は等しくなる。
実数が 2 通りの少数表示を持つのはこのような場合しかありません。 ホームページの中には
を証明しているものがあるが、これは間違いです。 デデキントの実数論にせよ、 カントールの実数論にせよ、両者を同じとみなすように議論を組み立てているのです。 念のため付け加えますが
あとで見るように、古代ギリシャでは「有理数の切断」(「デデキントの切断」)で 2 つの実数が等しいかどうかを 決めています。従って、 古代ギリシャ人は 0.9999... = 1 となることを当然知っていた。
神は整数を造った、それ以外のものはすべて人間が造った。日本語版の Wikipedia レオポルト・クロネッカー - Wikipedia には載っていませんが 英語版の Wikipedia Leopold Kronecker - Wikipedia には載っています。 ここでは、ここまでは問題にしませんが、「実数とは人為的に構築されたものである」と 考えられているという点だけに触れておくことにします。つまり、デデキントの方法にせよ、カントールの方法にせよ、 「これで実数が決まると考えよう」なのです。
(God made the integers; all else is the work of man)
0.99999... とは次の数列の極限です。
{0.9, 0.99, 0.999, 0.9999, ...... }
これは、次のようにも書き直せます。
{1 - 0.1, 1 - (0.1)2, 1 - (0.1)3, .... }
従って、0.9999... = 1 であることと、次は同値です。
limn →∞ (1 - (0.1)n) = 1
デデキントによる実数論もカントールによる実数論も同値なものです。以下一応説明を付け加えますが、 ここは読み飛ばしてもらっても結構です。
有理数の切断が与えられれば、この切断にどんどん近づくように有理数の列 (基本列) を選ぶことができます。例えば次のようにします。
(A, A') が有理数の切断であれば、A から要素 a1 を選び、 A' から要素 a'1 を 選びます。このとき (a1 + a'1)/2 は A もしくは A' に含まれています。 そこで
と置きます。こうすることによって下組の要素 a1 と上組の要素 a'1 が与えられたときに、 適当に下組の要素 a2 と上組の要素 a'2 を選んで、 a2, a'2 間の距離が a1, a'1 間の距離の 半分になるようにできます。これを無限回繰り返せば基本列ができます。
- (a1 + a'1)/2 ∈ A のときには a2 = (a1 + a'1)/2, a'2 = a'1
- (a1 + a'1)/2 ∈ A' のときには a2 = a1, a'2 = (a1 + a'1)/2
a1, a2, a3,.....
を選んでもよいし、次を選んでもかまいません。
a'1, a'2, a'3,.....
逆に基本列 a1, a2, a3 ... が与えられたときに、有理数の切断を決めることができます。 例えば次のようにします。
有理数 x に対して、十分大きな自然数 N が存在して n>N であれば常に x<an を満たす x 全体の 集合を A とします。また十分大きな自然数 N が存在して n>N であれば常に an<x を満たす x 全体の 集合を A' とします。基本列 a1, a2, a3 ... が有理数の中で収束しないときには (A, A') がデデキントの切断となります。 また基本列 a1, a2, a3 ... が有理数 a に収束するときには A' に a を付け加えたものを A' と置きなおせば、(A, A') がデデキントの切断となります。
ここでは「実数」の定義だけを述べましたが 「実数論」とするためには 四則演算を定め、それが結合法則などの基本的な関係式を満足する ことを証明する必要があります。自然数の範囲ではこれは明らかです。例えば
を示すには、まず掛け算の意味から考えます。3×2 は 3 を 2 回加えた数です。
○○○ 3 × 2 = ○○○ の個数 |
従って
○○○ ○○○○○ (3 + 4)× 2 =○○○ ○○○○○ の個数 |
一方で
○○○ ○○○○○ 3×2 + 4×2 =○○○ の個数と ○○○○○ の個数の和 |
ですから、確かに (3+4)×2 = 3×2 + 4×2 です (数え方の順番を変えただけです)。 この事実は有理数にも拡張することができ 極限を考えれば実数でも成立することになります。(カントールの実数論を使用。)
デデキントの切断では定義は簡単ですが、そのあとの証明が大変となります。 高木貞二の「解析概論」では定義はデデキントの切断でしていますが、 結合法則などの証明には、基本列を使用しています。従って、 デデキントの実数論とカントールの実数論をまぜこぜにした議論を 展開しています。デデキントの切断だけだと証明が非常に長くなるため、 カントールの議論を取り入れたのでしょう。 代数的な準備があると、カントールの方法は更に簡単になります。 これがファン・デル・ヴェルデンの現代代数学に展開されている方法です。
集合論的なことにも言及しておきます。要素がはっきりしているものが集合であると、 集合論の本の最初の部分には書いてありますが、これだけではまずくなります。
個々の集合は非常にはっきりしていますから、要素がはっきりしているものが集合であると すれば、すべての集合からなる集合 A を考えることができます。これも 集合ですから A は A を含むことになります。これは自己矛盾でパラドックスと 呼ばれます。
従って、得体の知れない集合らしきものを考えてはいけないのです。 (ちなみに集合の集合とは呼ばずに集合の族とよびます。) 新たに集合を作るためには既存の集合から、決められた手順で作る方法が一番安全です。
たとえば、与えられた集合の部分集合全部は集合とみなしてよいです。 デデキントの切断はその下組を考えると有理数の部分集合ですから 切断全体はれっきとした集合です。
また与えられた集合に対して、これの無限個の直積を考えてもよいです。 有理数の点列全体は有理数の加算個の直積なので、基本列全体もまたれっきとした集合です。
従って、どちらの方法を採用するにせよ、集合論的には、ゆるぎのないものになります。
デデキントの切断やコーシー列以外による実数の定義以外にも、もっと別の定義があります。 これも紹介することにします。これは次の本の第 9 章で扱われていることです。
ファン・デル・ヴェルデン:現代代数学 2, 東京図書
有理数の無限列を考えます。
(a1, a2, a3, ......... ) | (*) |
無限列全体は集合になります。無限列で、任意の正の有理数 ε にたいして、 自然数 n が存在して
p>n, q>n ならば |ap - aq|<ε
を満たす時に、これを基本列と呼びます。
基本列全体には次のようにして、加法と乗法を項ごとの足し算、掛け算で定義します。
基本列 (a1, a2, a3, ......... ) , (b1, b2, b3, ......... ) , に対して
和 = (a1 + b1, a2 + b2, ..... )、 積 = (a1 ・ b1, a2 ・ b2, ..... )
和、積の結果も基本列であることを示す必要がありますが、これは省略。 これにより、基本列全体は加減と乗法が定義でき環と呼ばれるものになります。 さて、基本列 (*) に対して、どのような ε>0 に対しても、適当な n>0 が存在して
p>n ならば |ap|<ε
を満たす時に、基本列 (*) を零列と呼ぶ。零列全体を N とする。 2 つの基本列が与えられたときに、その差が零列であれば、これを同一視すると実数が構成できます。 こうすればカントールの方法と同じですが、零列全体が環 R のイデアルであることを示すことができ、 剰余環 R/N を構成できます。R の足し算、掛け算から R/N に自然に足し算、掛け算が定まり、 R/N は環の構造をもちます。あとは R/N の零でない元が乗法の逆元を持つことを示せば、 実数が構成できたことになります。
このような構成法を取れば、実数において四則演算に関しての結合法則や、分配法則が成立することは 自明なこととなります。
ファン・デル・ヴェルデンの「現代代数学」はファン・デル・ヴェルデンの先生であるエミー・ネーターの 講義録で、その内容はエミー・ネーターがそれ以前の内容を整理したものとされています。