% 数学的帰納法とアキレスと亀と

\documentclass[dvipdfmx]{jsarticle}
\pagestyle{myheadings}
\markright{tmt's math page}
\def\baselinestretch{1.33}

\usepackage{amsmath, amssymb}
\usepackage{tikz}

\begin{document}

\section*{◆数学的帰納法とアキレスと亀と◆}

まずはじめに「数学的帰納法」について説明しましょう。

数学的帰納法はある種の証明に使われる効果的な方法です。たとえば次の等式
\begin{equation}
1^2+2^2+3^2+4^2+\dots+n^2 = \frac{n(n+1)(2n+1)}{6} \quad(nは自然数) \label{nSqSum}
\end{equation}
が正しいことを証明するときに、数学的帰納法を使うことができます。念のためにこの等式の意味を説明しておきましょう。この式は、$1$から$n$までの数を各々$2$乗してすべて足した答と、$n$だけに注目して$\dfrac{n(n+1)(2n+1)}{6}$の計算をした答は同じになることを示しています。そして$n$にはいくつを選んでもかまわないということです。証明は次のようになされます。

\begin{quotation}
\noindent[証明]

[A] $n = 1$として(\ref{nSqSum})を評価すると、$左辺 = 1^2 = 1$、$右辺 = \dfrac{1\cdot(1+1)\cdot(2\cdot1+1)}{6} = 1$となり、両辺は等しい。

[B] $n = k$のとき等式が成り立つと\textbf{仮定する}と
\begin{equation}
1^2+2^2+3^2+4^2+\dots+\underline{k}^2 = \frac{\underline{k}(\underline{k}+1)(2\underline{k}+1)}{6} \label{kSqSum}
\end{equation}
である。等式の両辺には同じ数を足すことができるので、両辺に$(k+1)^2$を加えると
\begin{equation}
1^2+2^2+3^2+4^2+\dots+k^2+(k+1)^2 = \frac{k(k+1)(2k+1)}{6} +(k+1)^2 \label{k+1SqSum}
\end{equation}
になる。(\ref{k+1SqSum})の右辺をさらにまとめて
\begin{eqnarray*}
1^2+2^2+3^2+4^2+\dots+k^2+\underline{(k+1)}^2 &=& (k+1)\left\{\frac{k(2k+1)}{6}+(k+1)\right\} \\
&=& (k+1)\cdot\frac{2k^2+7k+6}{6} \\
&=& (k+1)\cdot\frac{(k+2)(2k+3)}{6} \\
&=& \frac{\underline{(k+1)}\{\underline{(k+1)}+1\}\{2\underline{(k+1)}+1\}}{6}
\end{eqnarray*}
となる。この結果は(\ref{kSqSum})の\underline{$k$}を\underline{$k+1$}に置きかえた式であることを意味する。すなわち$n = k$のとき(\ref{nSqSum})が成り立つと仮定すると、$n = k+1$のときも(\ref{nSqSum})が成り立つことが分かる。

このことと[A]から、(\ref{nSqSum})はすべての自然数に対して正しいことが示された。(証明終り)
\end{quotation}

数学的帰納法に不慣れな人にはもう少し補足的な説明をしたほうがよいでしょう。まず[B]では$k$で等式が成り立つのなら$k+1$でも成り立つことを示しました。これはドミノ倒しを例にとると、ある位置のドミノが適切に倒れることが分かっていれば、その後ろのドミノも適切に倒れることを意味しています。これだけの事実が保証されれば、ある位置から後ろのドミノはすべて倒れることが分かるでしょう。

しかしこれだけでは完全ではありません。この論理を完全にしているのが[A]です。[A]により一番最初のドミノが倒れることが確認でき、[B]の論理からすべてのドミノが倒れることが分かるわけです。なんだかだまされているみたいですね。

だまされたような感覚を持つ一つの理由は、「等式が成り立つと\textbf{仮定する}」と表現していることでしょうか。仮定で始まる話だから結果も仮定の域を出ないのじゃないかということです。しかしこれは気の回しすぎというものです。たしかに仮定しているに違いありませんが、$n = 1$のときは成り立つという事実は変わりません。子どもの頃に「もし自分が結婚したら」と仮定して、「郊外に住もう」「家具をそろえよう」「海外へ旅行しよう」などと考えても、それだけでは仮定の域を出ません。しかしいつの日か結婚した事実ができれば、そこから先は立て続けに考えていたことが事実になっていきます(現実はそんなにうまくいきませんが)。

数学的帰納法に馴染めない別の理由は、次にあげる意識とも関わっている気がします。

「アキレスと亀」の話はどこかで聞いたことがあるかもしれません。アキレスと亀が競走をするとき、アキレスが亀の後ろからスタートすれば亀を追いこすことは絶対にできないという話です。

\newcommand\Posisions[2]{
\draw (-1, 0) -- (12, 0);
\draw (0, -0.1) -- (0, -0.5);
%
\fill (#1, 0.1) circle (0.1) node[above] {\small アキレス};
\draw (#1, -0.1) -- (#1, -0.5);
\draw[->, thick] (#1, 0.1) -- (#1+1, 0.1);
%
\draw (#2, 0.1) circle (0.1) node[above] {\small 亀};
\draw (#2, -0.1) -- (#2, -0.5);
\draw[->, thick] (#2, 0.1) -- (#2+0.5, 0.1);
}
\begin{center}
\begin{tikzpicture}
\Posisions{0}{6} \draw[<->] (0, -0.3) -- node[below] {\scriptsize この差をつめる} (6, -0.3);
\end{tikzpicture}
\end{center}

この話の論理はこうです。アキレスは亀の後ろからスタートしているわけだから、少なくとも亀に追いつくためには、いま開いている差をつめなくてはなりません。もちろんその距離を走るにはなにがしかの時間を要するわけなので、仮にその時間を$t_1$秒とでもしましょう。しかしアキレスがその時間をかけて走る間に、亀も$t_1$秒の時間で前に進んでいるはずです。すなわち$t_1$秒の時間の後では、アキレスと亀の間には明らかに距離の差があります。

\begin{center}
\begin{tikzpicture}
\Posisions{6}{9} \draw[<->] (0, -0.3) -- node[below] {\scriptsize アキレスが$t_1$秒かけて走った} (6, -0.3);
\draw[<->] (6, -0.3) -- node[below] {\scriptsize 亀も$t_1$秒走る} (9, -0.3);
\end{tikzpicture}
\end{center}

さて、アキレスは残った距離をつめなくてはなりません。その距離をつめるのに要する時間を$t_2$秒とすれば、当然亀も$t_2$秒の時間をかけて前に進んでいるはずです。そして相変わらずアキレスと亀の間には距離があります。アキレスは残った距離を$\dots$。

\begin{center}
\begin{tikzpicture}
\Posisions{9}{10.5} \draw (6, -0.1) -- (6, -0.5);
\draw[<->] (6, -0.3) -- node[below] {\tiny アキレスが$t_2$秒かけて走った} (9, -0.3);
\draw[<->] (9, -0.3) -- node[below] {\tiny 亀も$t_2$秒走る} (10.5, -0.3);
\end{tikzpicture}
\end{center}

どうですか。この論理ではアキレスは亀を抜くどころか追いつくことさえできないのです。しかし実際はアキレス(またはあなたでもよいでしょう)は、いとも簡単に亀を追い抜いてしまいます。この論理は机上の空論に過ぎないわけです。ところがこの論理がおかしいことを示すのは簡単ではありません。現実と違うことは明らかなのに、その間違いを指摘できないのは歯がゆいものでしょう。

こういった意識があればさっきの数学的帰納法でも、論理的に正しい気がするが実際はそんなことはありえないんじゃないかと疑うのも無理はありません。$n = k$で成り立つことなら$n = k+1$でも成り立つ、$n = k+1$で成り立つことなら$n = k+2$でも成り立つ$\dots$、だから$n$はどんな自然数に対しても成り立つ。この論法と、$t_1$秒後にはアキレスは亀に追いついていない、$t_2$秒後にもアキレスは亀に追いついていない$\dots$、だからアキレスは何秒後であっても亀に追いついていない。一体この二つの考えにどれだけの違いがあるのでしょうか。違いは大してないようです。であれば「アキレスと亀」の話は、現実に亀を追い抜ける以上信用ならない論理であると同時に、似たような話の構造をしている数学的帰納法も信用ならない論理ととられても仕方ないのかも知れませんね。

ところが事実はそうではありません。数学的帰納法は論理的に完全に信用できるものだし、似たような話の構造をしている「アキレスと亀」の話もまったく正しいのです。($\Rightarrow$続きは「進んでも進んでも追いつけない」にて。)

\end{document}