ぱと隊長日誌

ブログ運用もエンジニアとしての生き方も模索中

数学的帰納法の証明の仕組み

数学的帰納法はドミノ倒し(もしくは将棋倒し)に例えられることが多いです。このドミノ倒しのイメージが私には当初理解しにくかったので、分かりやすく説明を試みます。ただし、この説明は直感的なものなので、数学的に厳密な証明を知りたい方は別の資料を参照ください。

このエントリでは問題例と証明例を以下の記事から引用しています。
http://www.geisya.or.jp/~mwm48961/kou2/inductive_method1.htm

まず、数学的帰納法の基本的な形を示します。
自然数 n について成り立つ命題 Q がある。
(a) n=1 のときに Q が成立することを証明する。
(b) n=k のときに Q が成立すると仮定すると、n=k+1 のときにも Q が成立することを証明する。
この2つを証明することで、命題 Q がすべての自然数 n について成立すると証明できる。

(b) については次のように置き換えることもできます。
(b') 2以上のすべての自然数 n について、n=k-1 のときに Q が成立すると仮定すると、n=k のときにも Q が成立することを証明する。

参考:http://www.rimath.saitama-u.ac.jp/lab.jp/fsakai/induction.html

なお、命題とは真偽の判断の対象となる文章または式のことであり、定理または問題のことです。

参考:命題 - Wikipedia

すべての自然数 n について
 1 + 3 + 5 + … + (2n - 1) = n2
が成り立つことを証明せよ。
という問題であれば、命題は "1 + 3 + 5 + … + (2n - 1) = n2" となります。

なお、数学的帰納法の問題の例としてよく取り上げられる命題は等号で結ばれた数式(等式)ですが、命題にできるのは等式に限りません。例えば、次のような問題も数学的帰納法で証明できます。

n が4以上の正の整数のとき,凸n角形の対角線の総数は
 ( n ( n − 3 ) ) / 2
に等しいことを数学的帰納法で証明せよ。

以降では次の問題を例に考えます。
すべての自然数 n について
 1 + 3 + 5 + … + (2n - 1) = n2
が成り立つことを証明せよ。

この問題に対する間違った証明として、記事では以下の例を挙げています。

n=1 のとき 1 = n2 が成り立つ
n=2 のとき 1 + 3 = 22 が成り立つ
n=3 のとき 1 + 3 + 5 = 32 が成り立つ
よって,どんな n についても 1 + 3 + 5 + … + (2n - 1) = n2 が成り立つ
この証明では 3 までしか調べていない.n=4, 5, 6, … の場合について何も証明されていないことが分かる.

この説明にもある通り、n=4 の場合については何も証明されていません。これだと、実は n=4 の場合に命題が成り立たないかもしれません(実際には成り立ちますが、成り立たないとも成り立つとも証明できていません)。

そこで、n=k として考えます。記事では n=k を考える場合の間違った例が紹介されています。

n=k のとき,
1 + 3 + 5 + … + (2k - 1) = k2
n=k+1 のとき
1 + 3 + 5 + … + (2k + 1) = (k + 1)2

これでは命題 "1 + 3 + 5 + … + (2n - 1) = n2" に n=k もしくは n=k+1 を代入しただけであり、何も証明していません。

そこで、数学的帰納法の基本的な形を振り返ります。数学的帰納法による証明で必要な2つの証明のうち、
(b) n=k のときに Q が成立すると仮定すると、n=k+1 のときにも Q が成立することを証明する。
というものがありました。この文章を注意深く読むと、「n=k のときに Q が成立すると仮定」して、そこから「n=k+1 のときにも Q が成立する」ことを証明するのだとわかります。つまり、n=k と仮定したときの結果を使って、n=k+1 のとき Q が成立することを証明せよ、ということです。これが「ドミノ倒し」です。

先の問題に対する証明の例であれば、

1 + 3 + 5 + … + (2n - 1) = n2 …(1)

(II) n=kのとき,(1)が成り立つと仮定すると
1 + 3 + 5 + … + (2k - 1) = k2 …(2)
(2)の両辺に 2k+1 を足すと
1 + 3 + 5 + … + (2k - 1) + (2k + 1) = k2 + 2k + 1 = (k + 1)2 …(3)
(3)は n=k+1 のときも成立することを示している.
※引用の際、一部省略しています

となります。ここで重要なのは「(2)の両辺に 2k+1 を足した」ことではなく、「n=k と仮定した結果である(2)から、n=k+1 の場合である(3)を導いた」ということです。

ただ、この証明だけでは不十分です。ここではあくまで(b)を証明しただけであり、「n=k のときに Q が成立すると仮定」したままです。仮定を落とさなければ全体を証明できません。

そこで、数学的帰納法を構成するもう一つの証明である、
(a) n=1 のときに Q が成立することを証明する。
が必要となります。

1 + 3 + 5 + … + (2n - 1) = n2 …(1)
(I) n=1 のとき,左辺 = 1,右辺 = 12 = 1
だから,(1)は成り立つ.
※引用の際、一部省略しています

n=1 のときに Q が成立することを証明しました。つまり、(b)の仮定である n=k=1 のときに Q が成立すると証明できたということです。ということは、(b)より n=k+1=2 のときにも Q が成立すると証明できます。
n=2 として Q が成立すると証明できたのだから、(b)より n=3 のときも Q が成立すると証明できます…これを繰り返せばすべての自然数 n で Q が成立することを証明できます。

つまり、(a)の証明は「ドミノ倒し」の最初のドミノ牌なのです。これが倒れれば次のドミノ牌も倒れることが(b)の証明からいえます。数学的帰納法はこの繰り返しにより証明しています。

このエントリで取り上げた問題の証明例と詳しい解説は引用元の記事を参照ください。
http://www.geisya.or.jp/~mwm48961/kou2/inductive_method1.htm