はじめに
(cf.はてなブログでLaTeXコマンドを埋め込んだ版

記事表題についての疑問は、ネット上でも何度となく
提示され、回答もされてきた。

しかし、簡単に検索して眺めた限り、1=0.99999…に
ついての回答の多くは、疑問の根源が「右辺の定義」に
質問者が明確な考えを持てずにいる事という注意喚起が
不十分なように思われる(定義に重点を置いた回答例)。

回答者の大半には実数論の知識があるため、無意識に
実数の定義」や「数列/級数の極限の定義」前提で
考えて答えているように見える。しかし、表題の等式
への疑問の根本的な解消は、「右辺の意味」を正確に
理解することなしには、あり得ないと思われる。i.e.

無限小数」は「無限級数」ないし、その「極限」の
一例に過ぎず、「無限級数」とは「(無限)数列」の
表し方の一つ。現代の実数論の基本を学んだ後では、
たったこれだけの文で言えてしまうことだが、高校
までで学ぶ算数や数学では、どの概念も厳密な定義を
学ぶ事はない。∵どの概念も、数学史の上で、定義が
確立されるまでには、非常に長い期間にまたがって、
極めて優れた知性を持つ先人たちが苦労を重ねている。
そのためか、抽象概念の操作に慣れていないと理解に
躓く事が懸念されるという理由から、「学習指導要領
からの排除を招いてしまっているようだ。

しかし、各概念自体は、大して複雑というわけでもなく、
段階を追って概念構成を見ていけば、理解できるはず。
ただ、人により「どこが「当然」と思えないか」大きく
異なるのが、抽象概念を日常的概念を区別する特徴。
(∵日常的概念は「共通の日常的経験」が理解の基盤)。
この問題に対応するため、本記事では数学史を古代まで
遡り、概念成立過程を追体験する形での説明を試みる。

その一方、「アキレスと亀のパラドックス」について、
あたかも「無限(等比)級数の極限の存在」が解決で
あるかのような*不用意な*説明例が散見される。
「アキレスと亀のパラドックス」での論理の間違いは、
「数列の収束」に関するものではなく「線分や時間の
長さ」ないし「長さを測る操作」についての誤った
観念が原因なので、合わせて明確にしておく。

1. 「無限に続けられる」手続きと「無限にある」存在

算数の「無限小数」導入は、例えば、10 を 3 や 7 で
割る筆算の操作が「いつまでも続けられる」事による。
しかし、この計算法はインドで 0 が発見されるまでは
不可能な事だった。

歴史的には、単位円の面積、あるいは円周率を出来る
だけ正確に求めようとするアルキメデス試みが、
(少なくとも直観的には)有限な量を、「出来るだけ
正確に求める」ため、原理的には「無限に続けられる」
手続きを、意識的に使用した最初期の事例であろう。
この事例で、既に円周率については、「a と b の間」
という不等式の関係が、考察結果として得られていた。

「無限小数」を生成する 10/3、10/7 (1/3、1/7)の
筆算で言える事も、厳密に言えば、任意に有限桁数を
指定した時に、次のような不等式による大きさ評価が
得られるという事に過ぎない。

0.33333 ... 3 < 1/3 < 0.33333 ... 4

古代ギリシャでは「小数」概念が存在しなかったので、
「無限の桁数」という問題に頭を悩ます必要はなかった
わけだが、無理数の発見で「どんな小さな長さを単位に
しても、「その単位の整数倍」で表せない長さがある」
ことが、ピタゴラス学派にとって似たような悩みの種に
なったという逸話は有名。ちなみに、「連分数」という
実数の表し方では、有理数である事と有限連分数で表せる
事は同値(つまり、無理数の連分数表示は、無限連分数)
になる。例えば、√2の連分数表示が無限連分数になると
示せば、無理数であることの証明になる。素因数分解の
一意性に帰着させる背理法による証明より長くなるが、
人によっては、より納得しやすいかも知れない。

ところで、この節の表題は、いわゆる「可能無限」と
実無限」の区別という、アリストテレス的用語法を
意識してはいるのだが、筆者はアリストテレス哲学を
少なくとも、数学や科学に関連する内容については、
評価に値しないと考えている。

例えば、「アキレスと亀のパラドックス」に対して、
可能無限と実無限の区別による哲学的解決を示したと
いった趣旨の記述をネット上で見かけることがあるが、
筆者の考えでは、何の解決にもなっていない、ただの
誤魔化しに過ぎない。アリストテレス流の言い回しは、
「数は、そこまで数えるまでは存在しない」という、
量子力学コペンハーゲン解釈以上に意味不明瞭な
結論を導くが、ユークリッドは「素数が無限にある」
と認めていた。この言明は、自然数が無限にある事を
当然の前提にしている。自然数が無限にあるとすれば、
「線分上には点が無限にある」事も承認するしかない。
つまり、「実無限の存在の否定」など無意味の一語。

とは言え、等比級数の極限の公式を「アキレスと亀」の
パラドックスへの解決として持ち出すのは、少々短絡的
というか、論理的考察が足りていないというか、浅薄な
印象を、少なくとも哲学の専門家には、与えるだろう。
(∵ゼノンの議論の論理的不備自体を指摘していない)。
しかし、だからと言ってアリストテレスを「評価」する
人の気が知れない。筆者の考えは以下の通り。

「アキレスと亀」のパラドックス提出者(ゼノン)と
アリストテレスは、間違った思い込み=概念の混同を
共有している。それは、時間の経過や線分の長さを
計測する際には、「それには長さが存在する」と前提
してもよいものしか基準にできない事を忘れて、議論
してしまっていることだ(つまり、数学の概念を引用
してパラドックスを解くのなら、等比級数の収束では
なく、測度論を持ち出すのが本筋=根本的解決法。
「線分にせよ、時間経過にせよ、「長さ(の測定)」の
定義を明確にしないから、話がおかしくなっている」と
言えば、測度論まで持ち出さずに「パラドックス」には
論理的不備がある事の指摘は可能だが)。i.e.

「アキレスは亀に追いつくには無限の点の通過が必要。
∴(無限に時間が経過しても)追いつけない」という
議論は、「それらの点を通過する時間には長さがあり、
従って、それらの時間の長さの和はアキレスが亀を追う
過程の経過時間の一部になる」と*根拠なく/誤って*
仮定しているために、無意味である。//

少なくともユークリッドは、「点には長さがない」と
正しく認識していた。∴ゼノンとアリストテレスは、
ユークリッド幾何学の理解が不足していた。 // (笑)

測度論用語では「点という零集合の可算個の和集合は
零集合。∴ゼノンの議論は間違い」と、簡潔に言える。

2. 「変えれば変わる」感覚と「決めれば決まる」論理

無限級数という数列の表し方は、「ある値に少しずつ
近づく」感覚を端的に表現しているとも言える。

なお、数学史においても、現代数学の論理的な議論の
進め方が確立するには、19世紀から20世紀初め辺りに
かけての多くの数学者の努力と意識変革を必要とした。

無限級数の概念も 0 の概念+それに基づく計算法同様
インド起源で、アラビア経由でヨーロッパに伝来したが、
当初は理解があやふやな人が多く、下記のような議論
すら、記録に残っているそうだ(笑)。

「無限級数S=1-1+1-1+…を考える。
S=(1-1)+(1-1)+(1-1)+(1-1)+…=0
S=1+(-1+1)+(-1+1)+(-1+1)+…=1
∴0=1 こうして天地創造は成された。//」

キリスト教の「不合理なるがゆえに我信ず」か(笑)。
([絶対値が収束する(「絶対収束する」)級数
でしか和の順序を変更できない」事が、必ずしも
広く知られていなかった頃の話)。

現在も、「添え字 n を無限に大きくしていくとき、
数列 a_n が一定の値 a にいくらでも近づくなら、
a_n は a に収束する、および、a は a_n のn→∞
での極限値であると言う」
「n 項までの有限和 S_n = Σa_n を新たな数列として
S_n の収束を級数Σa_n の収束と定義、そのn→∞での
極限値を無限級数の値と言う」
というのが、高校数学での説明で、歴史的にも18世紀
くらいまでは、数学者も大体こんな認識だったようだ。
ただし、関数列(を意味する無限級数)についても、
ニュートンが既に常微分方程式の解法として冪級数
考察したなど、微積分の創成時点で高校数学の範囲に
収まらない対象が、いろいろ研究されていた。

偏微分方程式の解法としてフーリエ級数が提案された
事は、解析学の、さらに言えば数学全体の厳密化への
重要な契機の一つ。カントール集合論も研究開始の
契機は「フーリエ級数の収束状況が例外的な場所」を
厳密に述べようとしたことだったと言われる。

19世紀には、他にも数学全体の厳密化への流れを決定
付けたと思われる出来事が複数ある。

1つは、当時「当代最高の数学者」と評価されていた
ガウスが、厳密性を極めて重んじたことだと思われる。
例えば、「素因数分解の一意性」は、事実として古代
ギリシャ以来よく知られていたが、現代数学の視点で
「厳密」と呼び得る証明を最初に示したのはガウス。

決定的転換点は数理論理学の確立、特にフレーゲによる
述語論理の提案であろう。カントールの集合論と共に、
論理的厳密性を保ちつつ、新たに数学的対象を定義し、
その性質を記述、研究することを可能にした。自然数や
実数を「定義する」事は、数理論理学と集合論なしでは
「考えようがない」事だった。
自然数ではペアノによる定義、実数ではデデキント
定義とカントールの定義が有名。
ペアノによる自然数の定義は、結局「数学的帰納法
公理とする集合」。デデキントによる実数の定義は、
有名な「(有理数の)切断」で、比較的分かりやすい。
カントールの定義は、「ある同値関係による有路数の
コーシー列同値類」で、同値関係の概念も必要で、
少々複雑になるが、実数のように「どの2つの要素も
大きさが比較できる」という条件が成立しない集合
(平面、空間…)での「完備化」という操作に応用
できるので、やはりよく使われる。

ところで、自然数から整数を定義するのは 0 と符号の
考慮を入れるだけ(0 は最初から仲間に入れておけば、
後は「正の数と符号の対」で定義終了)だが、有理数の
定義には「同値関係」/「同値類」の概念が必要。i.e.
まず「0 以上の有理数」を定義しておけば、符号追加は
整数の定義と同様に可能だが、「正の有理数の定義」の
時点で、通分や約分(2/3 = 4/6 や分数の加法)の考慮が
必要。i.e 「自然数の対 (a, b) と (c, d) は 0 でない
整数 i, j について、(ai, bi) = (cj, dj) の時「同値」
と定義して、その同値類の集合を「0 以上の有理数」と
定義する事になる。「同値関係」と「同値類」は、何度も
見聞すると「当たり前の事」としか思えなくなってくるが、
現代数学全般を貫く重要概念。ちなみに、これらの概念の
重要性を最初に意識したのはガウス。この話題については、
別記事で論ずる予定。

収束や極限の概念の厳密化も、数理論理学と集合論の
利用が前提。「変わる/動く/近付く」という動的な
表現をやめて、「決めれば/止めれば、決められる」
という見方をした上で、条件を述語論理で記述する
手法が、ワイヤーシュトラスという数学者により提案
され、今も使われている(数列の収束は「ε-N論法」、
関数の極限や、ある点での連続性は「ε-δ論法」で議論
される。これらの論法を使いこなすには、「慣れ」が
必要で「ハードル」を感じる人も多いが、発想自体は、
リンク先(検索結果)から分かる通り、比較的単純)。

3. 1=0.99999…解題

まず、「10進法での整数の表し方」の意味を振り返ると、
結局、有限数列の和「±Σ(10)^n*a_n (0≦a_n≦9)」に
他ならない。有限小数(の小数部分)の値も、結局は、
有限数列の和「±Σ(10)^(-n)*a_n (0≦a_n≦9)」の事。

つまり、無限小数(の小数部分)の値とは、無限級数
「±Σ(10)^(-n)*a_n (0≦a_n≦9)」の極限値の事で、
特に 0.99999…の意味(定義)は、初項が 9/10
(0.9)で公比が 1/10 (0.1) の無限等比級数の極限値。
∴「初項 a 公比 r の無限等比級数の極限の公式」
a/(1-r) を認めれば^^;、右辺=0.9/(1-0.1)=1=左辺
となるが、2. で述べた通り、定義に遡る厳密な議論は、
ε-N 論法を使うことになる。

一般に「数列 a_n {の極限値が a、が a に収束}」は、
「任意の正の実数εに対し、ある自然数 N が存在して、
「n > N ならば、|a_n - a| < ε」が成り立つ事
(n > N である任意の n に対し、|a_n - a| < ε)」
と定義される。不等号の向きから、考える際は「εを
どれほど小さく選んでも、N を十分大きく選べば」
という方向性になる。
# ε, N, n などの、「変数を指定した時点で「命題」と
# しての意味と真偽が定まる」記述は、「述語論理」に
# よって可能になった。その際に「全ての」や「存在」
# というアリストテレス流論理学にない「量化」概念が
# 使用できることも重要。(アリストテレス流論理学は
# 「全称命題」など、「命題の種類」を分類する発想に
# 基づくので、上のような条件の明確な記述が困難)。

0.99999…の場合「小数点以下 N 桁目まで取る」操作で、
N を十分大きくとれば、どんなεに対しても、1 との差
(の絶対値)が小さくできる事は明らか。
敢えて具体的な式で書けば、
|log_10(ε)| (εの常用対数の絶対値)より大きい
自然数 N を取ればよい。//

無限等比級数の極限の公式も、同様に「証明」できる。
有限項数 n までの和が a(1-r^n)/(1-r) である事は、
分子を因数分解して (1-r) を括りだせば分かる。
|a(1-r^n)/(1-r) - a/(1-r)| = |ar^n/(1-r)| が
n を十分大きく取れば、どんな正の数εより小さく
できることは、上の r=0.1 の場合と同様に明らか。

式で書けば、r を底とする対数 log_r() を使って
|log_r(|ε(1-r)/a|)| より大きい自然数 N を
取ればよい。(上の r=0.1 の例に合わせるなら、
r の逆数 s を底とする対数を使うことになるが、
式の形が |log_s(|ε(1-r)/a|)| に変わるだけ。
∵任意の正の実数 x で log_r(x) = -log_s(x) 
であることは、両辺を自然対数で表せば明らか。
∵log(1/r)=-log(r)、log_r(x)=log(x)/log(r) )。//