8
大学数学基礎解説
文献あり

無限小の作り方 -超実数の構成-

1360
0

★ Mathlogでは、本記事に関連する記事として

がありますので、そちらもぜひご覧ください。


0.999...は1なのか?

いきなりですが 0.999...=1 です。

仮に0.999...<1だとすると、実数の性質から必ずその間に実数が無限に存在します。よって0.999...<1ϵ<1を満たす正の実数ϵが必ず存在します。しかし、小数点以下の9を十分繰り返せば、0.999...は必ず1ϵを超えます。これは矛盾なので、0.999...=1しかありえません。

しかし誰も(?)が思います。
0.999...は1じゃねえ!
と。
どんなに9が続いたところで、永遠に1にはならないのだから。

0.999...<1ではダメな理由は、そうだとすると、これら2つの数の間に必ず実数が存在するからです。
ならば、0.999...<1であり、かつ0.999...1の間に実数が存在しない数体系を作りましょう

超実数(hyperreal number)の構成

上記の数体系は「超実数(超実数)」と呼ばれます。超実数には無限小がれっきとした数として存在します。これをϵとして
0.999...=1ϵ
とすれば、0.999...<1であり、かつ0.999...1の間に実数は存在しません

以下超実数を構成します。

本記事は主にRef.[1]を元に書かれています。英語ではありますが、大変丁寧に平易に超実数・超準解析を説明しており読みやすいです。日本語の教科書ではRef.[2][3]を参照しました。

構成の概要

まずは感覚を掴むため、構成の概要を説明します。要点は「数列そのものを数とみなす」ことです。そのために、数列に順序をつけます。

まず実数と数列との対応をつけます。これは簡単で、ある実数rに対応する数列は、要素がぜんぶrの数列だとします。すなわち
rRr,r,r,と同一視する
とします。
たとえば
11,1,1,,22,2,2,
てな感じです。

では
0,1,1,1,
はどの実数に対応するでしょうか。これはほぼ1なんだから1としたいです。同様に、有限個だけ違ってあとすべてが同じ数列は、同じだとみなすのが筋ではないでしょうか。

ということで、直感的には
「2つの数列が「同じ」になるのは、両者の要素の"多く"が同じとき」
と定義すれば良い気がします。
言い換えて
「2つの数列rk=r1,r2,sk=s1,s2,が「同じ」とは、rk=skを満たすkが"多い"とき」
とします。

2つの数列の大きい・小さいも同じように定義しましょう。つまり
rkskより「大きい」とは、rk>skを満たすkが"多い"とき」
とします。

そして、"多い"の基準を「超フィルター」という概念で定義します。
上のいいかげんな言い方だと「rk=sk,rk>sk,rk<skが排他的かつどれかひとつは必ず成り立つ」という実数と同じ性質を持つかは不明ですが、超フィルターの概念で順序を定義すれば、それが満たされます。

さらに超フィルターによる同値類を作り、代表元をとってきます。こうして、数列の集合は和・積・逆元をもつ順序体となります。これをRで表し、超実数と呼びます。

ところで、次の数列はどの実数に対応するでしょうか:
1,1/2,1/3,1/4,
十分先の要素はどんな実数よりも小さくなり、その先無限に要素が存在します。つまりどんな正の実数よりも"小さい"と言えそうです。しかし明らかにどの要素も0より大きいです。よってこれはどんな実数とも等しくはありません。このように、Rには、実数ではない独特の元が存在します。上の例は「無限小」と呼ぶべきものであり、実際そう呼ばれます。

前置きはここまでにして、超実数を構成していきましょう。

環の構築

まずは数列の和と積を定義します。
といっても、これは単純です。数列の和と積を、その要素同士の和と積で定義します。つまり
r=rn,s=sn
としたとき、和と積を
rs=rn+sn,   nNrs=rnsn,   nN
で定義します。このときRN,,は可換環を成します。RNは実数を値にもつ数列のことを指します。ここで00,0,、単位元11,1,です。和の逆元は数列の全ての元にマイナスをつけたものです。

ただしこのままでは体ではないです。たとえば
1,0,1,0,1,0,1,0,1,0,=0
ですが、左辺のどちらもRNの零元0,0,0,ではないのに、積は零になります。これでは零元ではない元が積の逆元を持たないことになってしまいます。さらに言えば、どこか1つでも数列に0があれば逆元を持ちません。

またこの環には順序も定義されていません。

そこで超フィルターを導入します。

超フィルター

自然数の部分集合の集合(自然数の冪集合)に、後に述べる条件をつけたものをFで表し、これを超フィルターと呼ぶことにします。

これを用いて

  • rk=skとはrk=skを満たすkの集合{kN|rk=sk}Fの元であること

と定義します。
同様に

  • rk>skとはrk>skを満たすkの集合{kN|rk>sk}Fの元であること

と定義します。

つまりは超フィルターとは、前に述べた"多い"に該当する「インデックスの集合」のリストです。

以下Fを特徴づけていくことにします。

超フィルターがもつべき条件

フィルターは様々な集合の上に構成できますが、ここではN上のフィルターを考えます。

フィルターにより数列に同値関係を与えます。よってその元が同値関係を満たすように定義しなくてはなりません。よって以下の条件を課します:
(i) r1,r2,r1,r2,
(ii) r1,r2,s1,s2,s1,s2,r1,r2,
(iii) {r1,r2,s1,s2,かつs1,s2,t1,t2,}r1,r2,t1,t2,

これらの条件に対応する集合論的関係は以下です:

properなN上のフィルターの満たす条件

properなN上のフィルターFは、以下の3条件を満たす:
(A)   NF, F
(B)   A,BFならばABF
(C)   AFかつABNならばBF

を含まないフィルターはproperなフィルターと呼ばれます。
さらに超フィルターの条件を課します。フィルターが次の条件を満たす時、超フィルターと呼ばれます:

N上の超フィルターの満たす条件

N上のフィルターFが以下の条件を満たすとき超フィルターと呼ばれる:
(D) 任意のANに対し、AFまたはAcFがなりたつ。ただしAc=NAである。

これはすなわち、Aかその(Nに対する)補集合のどちらかは"多い"ことを保証します。

これで超フィルターが定義されました。(D)と(A)(B)の条件から、AFAcFはどちらか一方のみが必ず成立します。

超フィルターによる同値の構築

超フィルターを導入したので、次に、RN(つまり実数の数列)に関する同値を定義します:
rnsn{nN|rn=sn}F
上に述べたように、Fは"多い"の基準となる「「数列のインデックスの集合」の集合」であり、等しい要素のインデックスの集合がFの要素なら、2つの数列の"多く"の要素が同じであり、2つの数列は等しい、ということになります。

論理学的表記

論理学的記号を導入し、表記の整理をします。

r, sを数列とします。このとき
rs[[r=s]]F
と表します。ここで
[[r=s]]{nN|rn=sn}
です。[[]]は論理学では「解釈」とか「値」と呼ばれます。これは[[]]の中の式の意味を表す記号です。[[r=s]]Fであるとき、「殆どどこでもr=s」と言うことがあります。

不等式も同じです:
[[r>s]]{nN|rn>sn},[[r<s]]{nN|rn<sn},[[rs]]{nN|rnsn}

超実数

[r]を、rという数列のによる同値類を表すことにします。これはで結ばれている量をまとめて、それらをそれらの中のある元で代表させたものです。つまり
[r]={sRN|rs}
です。そしてこのRNの商集合をRと表します。すなわち
R={[r]|rRN}
です。Rは超実数と呼ばれます。
Rの元に関する和と積は以下で定義されます。
[r]+[s]=[rs]=[rn+sn][r][s]=[rs]=[rnsn]
また
[r]<[s][[r<s]]F{nN|rn<sn}F
で順序を定義します。

和の逆元は数列を負にするだけです。積の逆元は次のように構成します。[r][0]とします。ゆえに{nN|rn=0}Fであり、そのNに対する補集合をJ={nN|rn0}Fとします。ここで
sn={1/rnif nJ0otherwise
とすると(つまりは数列の0の要素はそのまま、ノンゼロの要素は逆数をとる)
[[rs=1]]F
となります。これによりrs=1を定義すれば
[r][s]=[rs]=[1]
Rの元になります。これは[s][r][0]の積の逆元[r]1であることを示しています。

以上より、順序体である超実数Rが構成できました。

フィルターの感覚を理解する

フィルターの感覚を掴むため、その性質を具体的な数列の等式から見ていきます。

  1. (A)より、FNを要素にもちます。そうでなくてはヘンです。なぜなら当然
    r1,r2,r3,=s1,s2,s3,,   rk=sk for all kN
    であるべきですが、このとき要素の等しいインデックスの集合はNそのものです。よって等式が成立するために、NFでなくてはなりません。

  2. つぎに、(A)よりFには空集合は含まれません。もしこれが含まれてしまうと、1つも同じ要素がない2つの数列が等しくなってしまいます。つまり
    r1,r2,r3,s1,s2,s3,,   rksk for all kN
    であるためにFが必要です。

  3. つぎに、有限個だけ要素が違ってあとは等しい場合を考えます。つまり要素が等しいインデックスの集合A
    NAは有限
    の条件を満たすときを考えます。これをcofiniteと呼びます。例えば
    2,1,3,4,5,6,1,2,3,4,5,6,
    の等しいインデックスの集合A={nN|n3}はcofiniteです。この2つの数列は「殆どすべて等しい」ので、同値であるべきです。つまり、cofiniteなAFに含まれるべきです。
    ここでN上のFréchetフィルター(cofiniteフィルターとも呼ばれる)とは以下のフィルターです:
    Fco={AN|NAは有限}
    上の議論からこのフィルターはFに含まれるべきなのですが、実は(A)-(D)の条件では、必ずしもFcoFとは限りません。しかし、無限集合上の超フィルターには、Fréchetフィルターを含むものが必ず存在します(だいたいの教科書に説明があると思います)。このようなフィルターはnonprincipalと呼ばれます。そしてRの構成にはnonprincipalフィルターを採用します。ゆえに、Rを考える際には、cofiniteな集合はFに含まれます。

超フィルターを考える理由

フィルターに(D)の超フィルター条件をつける理由を述べておきます。

この条件をつけると、ある集合AFFcoのどちらか一方に必ず排他的に含まれます。すると
[[r=s]]{nN|rn=sn},[[r>s]]{nN|rn>sn},[[r<s]]{nN|rn<sn}
の3条件のどれか1つのみが必ず成り立ちます(上の3つの集合が排他的かつその和集合がNになることは明らかかと思います)。これを付与しておかないと、2つの超実数に関して、=,>,<のどれかが排他的に必ず成立するというRで成立する関係が成立しなくなります(Ref.[2]P21)。ただしこれが成立しなくても矛盾ではないです。

無限小・無限大の数

次の数列を考えます:
an=1,1/2,1/3,1/4,
任意の実数r:r,r,r,に対し、{nN|an<r}はcofiniteです。上記したように、nonprincipalフィルターを採用しているのでFcoFに含まれ、任意の実数rに対してan<rが成立します。このようなRの元を無限小と言います。さらにanのどの要素も0より大きいから0<anです。

以上から、ϵ=[an]とすれば、ϵは任意の実数より小さいのにゼロより大きいという、望みの無限小が得られました。

一方、1/an=1,2,3,4,は、任意のr:r,r,r,に対し{nN|an>r}がcofiniteなので、どんな実数より大きく無限大です。

0.999...をR上で考える

冒頭に示したように、無限小ϵを用いて
0.999...=1ϵ
とすれば、0.999...<1かつその間に実数は存在しないという、直観と整合的な0.999...が得られます。

ただ、この表記には以下のように任意性があります:
ϵ=[0.1,0.01,0.001,]0.999...=[0.9,0.99,0.999,...],ϵ=[0.01,0.001,0.0001,]0.999...=[0.99,0.999,0.9999,...]
当然どれでもいいです。今までの議論から、この定義における0.999...のどちらも0.999...<1かつ0.999...1の間には実数が存在しないことは簡単に示せます(直感的にも明らかです)。

まとめ

超実数の無限小ϵにより0.999...=1ϵとすることで
0.999...<1
が無矛盾に成立します。本記事では、無限小ϵの構成法を大雑把に説明しました。

2つコメントです:

  • 1ϵ1の間には実数は存在しませんが、超実数は存在します。例えば1ϵ<1ϵ/2<1ϵ/3<<1です。任意の超実数には、その数と無限小だけ違う近傍が存在し、これはモナドと呼ばれます。この事実は、前章のϵの不定性より推察することができると思います。
  • Rの構成には選択公理が不可欠です。特にcofiniteなフィルターは構成的ではなく、その存在を選択公理に依拠します(Ref.[3]P10)。超フィルターの概念がいまいちピンとこないとしたら、この非構成性によるものかもしれません。

0.999...=1に納得がいかないなら、超実数による0.999...の構成を自分の中に密かに抱くこともよいと思います。

おしまい


: 同値なものなら、その類をどの元で代表させてもよいです。このような場合をwell-definedと呼びます。

参考文献

[1]
Robert Goldblatt, Lectures on the Hyperreals - An Introduction to Nonstandard Analysis, Graduate Texts in Mathematics 188, Springer, 1998
[2]
中村徹, 超準解析と物理学, 数理物理シリーズ, 日本評論社, 1998
[3]
齋藤正彦, 超積と超準解析 -ノンスタンダード・アナリシス-, 東京図書株式会社, 1976
投稿日:2022102
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

bisaitama
bisaitama
139
61399

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. 0.999...は1なのか?
  2. 超実数(hyperreal number)の構成
  3. 構成の概要
  4. 環の構築
  5. 超フィルター
  6. 超フィルターによる同値の構築
  7. 論理学的表記
  8. 超実数
  9. フィルターの感覚を理解する
  10. 超フィルターを考える理由
  11. 無限小・無限大の数
  12. 0.999...を${}^*{\mathbb R}$上で考える
  13. まとめ
  14. 参考文献