問題
次のような二つの計算があります。一つ目は「1=2/(3-1)=2/(3-2/(3-1))=…」というもので、1を代入すると自分自身に戻ってきます。二つ目は「2=2/(3-2)=2/(3-2/(3-2))=…」というもので、2を代入した場合も同じく自分自身に戻ってきます。
この二つの計算がどちらも成り立つように見えるのはなぜか。

両方の計算に計算ミスはない
まず結論から述べると、この二つの計算そのものに算数上の間違いはありません。理由は単純で、「x=2/(3-x)」という方程式を解くと、解が二つ出てくるからです。
「x=2/(3-x)」の両辺に「3-x」をかけると「x(3-x)=2」となります。これを展開すると「3x-x^2=2」となり、整理すると「x^2-3x+2=0」という二次方程式になります。この式は「(x-1)(x-2)=0」と因数分解できるため、解はx=1とx=2の二つです。
つまり1を代入しても2を代入しても方程式が成り立つのは当然のことであり、それぞれの計算は単に「自分が方程式の解であること」を確認しているだけです。
本当の問題はどこにあるか
問題は、この二つの計算結果から「元の入れ子の式は1でもあり2でもある」と結論してしまうと、1=2という矛盾が生まれてしまう点です。
この矛盾が生じる原因は計算そのものではなく、次のような暗黙の前提にあります。「ある数xが、x=2/(3-x)を満たすなら、xは元の入れ子の式の値である」という前提です。
これは誤りです。正しくは、方程式を満たすことは値の候補であるための必要条件にすぎず、十分条件ではありません。1も2もこの方程式を満たすという意味では対等ですが、実際にどちらが元の式の値なのかは、方程式を解くだけでは決まらないのです。
元の式の値を数列の極限として定義する
元の入れ子の式は、本来「有限の段数の計算を無限に深くしていったときの極限」として定義されるべきものです。そこで数列を次のように定義します。「a(1)=2/3」、「a(n+1)=2/(3-a(n))」です。この数列が実際にどの値に近づいていくかを、以下で厳密に調べます。
補題1 すべてのnで0
数学的帰納法で証明します。


コメント