数学的帰納法

数学的帰納法は、数学における証明の手法の一つである。

例えば自然数に関する命題 //P//}} が全ての自然数 n}} に対して成り立つことを証明するために、次のような手続きを行う。

//P//}} が成り立つことを示す。
任意の自然数 k}} に対して、「//P// ⇒ //P//}}」が成り立つことを示す。
1と2の議論から任意の自然数 n}} について //P//}} が成り立つことを結論づける。

1. 概要
-----

自然数に関するペアノの公理の中に、ほぼ等価なものが含まれている。

なお、数学的「帰納」法という名前がつけられているが、数学的帰納法を用いた証明は帰納ではなく、純粋に自然数の構造に依存した演繹論理の一種である。2 により次々と命題の正しさが"伝播"されていき、任意の自然数に対して命題が証明されていく様子が帰納のように見えるためこのような名前がつけられた。ジョン・ウォリスによって、彼の著作//Arithmetica Infinitorum//の中で、この方法にinductionという名前が与えられたとされる。

2. 直観的説明
--------

高校の教科書等の初等的な解説書ではドミノ倒しに例えて数学的帰納法を説明しているものも多い。//P//}} を「n}} 枚目のドミノが倒れる」の意味だとすれば、上の論法は以下のようになる：

1枚目のドミノが倒れることを示す。
任意の自然数 k}} に対して、「k}} 枚目のドミノが倒れるならば //k// + 1}} 枚目のドミノが倒れる」ことを示す。
以上の議論から全てのドミノが倒れることが結論づけられる。数学的帰納法が成り立つ直観的理由は以下の通りである。まず1より

 が正しいことが分かる。次に 1=//k// = 1, 2, ...}} に対して 2 を適用することで、

 //P// ⇒ //P//}},  //P// ⇒ //P//}}, …が分かる。,  より、//P//}} が成り立ち、この事実と  を組み合わせることにより //P//}} が従う。以下同様に //P//, //P//, …}} も従い、結局3の

全ての自然数 n}} に対し //P//}} が成り立つが結論づけられる。

ただし、以上の議論はあくまで数学的帰納法が成り立つ理由の直観的説明であって、1, 2 と 3 の間にはギャップがある。詳しくは後述の「数学的帰納法の形式的な取り扱い」の項目を参照されたい。

3. 証明
-----

数学的帰納法が成り立つことを数学的帰納法の原理といい、ペアノの公理Ⅴが数学的帰納法の原理そのものを表している。もし、公理Vを用いて、数学的帰納法をあえて証明するならば、以下のように示すことができる。

　自然数の集合を とし、命題 が成り立つ の集合を とする。

　　　　　　　　　　　　　

　 数学的帰納法の仮定により、 は の要素である。

　　　　　　　　　　　　　

　 任意に自然数 をとる。 を仮定すると、 の定義によって が成り立つ。このとき、数学的帰納法の手順より、 も成り立つ。ふたたび、 の定義によって である。これにより が示されたことになる。

　 および  により、ペアノの公理Vによって が得られる。部分集合の定義により、これは であることを意味する。

4. バリエーション
----------

数学的帰納法には次のようなバリエーションもあり、場合によってはこれらを用いる必要がある。これらのバリエーションの正しさは、上で述べた標準的な形の数学的帰納法を用いて示すことができる。

4.1. 1以外から始める
-------------

変数変換によって明らかなように、変数 n}} が表す範囲は //n// → //n// + 1}} という操作で閉じていれば mset である必要はなく、0}} を自然数に含めることにしたり、あるいは任意の整数 m}} に関する mset という範囲でもよいことになる。

4.2. +1以外
---------

例えば //n// → //n// + 1}} ではなく、//n// → //n// + 2}} で証明し、開始点が //P//}} であれば、全ての正の偶数で証明できる。バリエーションとしては、//P//}} から //n// → //n// + 2}} で正の偶数を証明し、//P//}} から //n// → //n// + 2}} で正の奇数を証明し、よって全ての自然数で成立するという証明方法もある。他にも、//P//}} から //n// → //n// + 1}} と //n// → //n// − 1}} を両方証明し、全ての整数で成立することを証明するという場合もある。

4.3. 先立つすべての結果を用いる
------------------

仮定として //P//}} だけでなく //P//}} から //P//}} までのすべてを用いる。これを完全帰納法もしくは累積帰納法という。

任意の自然数 k}} をとったとき、k}} より真に小さなすべての自然数 m}} に対して //P//}} が真であれば、//P//}} も真である。よって任意の自然数 n}} について //P//}} は真である。

4.4. 背理法を組み合わせたもの
-----------------

無限降下法とは、背理法を用いて を証明する、次のようなパターンのことである。

が成立しないような自然数 が存在すると仮定し、その中で最小のものを とする。次に、 を仮定すると、「ある自然数 が存在して ではないこと」を導けることを示す。これは の最小性に矛盾するから、背理法により、 が成立しないような自然数 は存在しない。すなわち、すべての自然数 に対して が成り立つ。この議論と前に述べた「先立つすべての結果を用いる」形の数学的帰納法の正しさは自然数全体の集合 が通常の大小関係 によって整列されていることによる。 が 上の整列順序であることは、最初に述べた標準的な形の数学的帰納法を用いることで証明される。

4.5. より一般の集合への拡張
----------------

数学的帰納法は自然数に関する論法だが、自然数以外の集合に対しても、集合の元を適切に順序づけることで数学的帰納法を適用できることがある。例えば直積集合 N × N}} 上に辞書式順序

:⇔  または を入れることで N × N}} 上でも数学的帰納法が使える。

5. 数学的帰納法の例
-----------

次の等式が成り立つという命題を //P//}} とし、この命題が任意の自然数 n}} について成立することを数学的帰納法を用いて証明する。

まず、//P//}} は右辺を計算することで、正しいことが確かめられる。

右辺 = )/2 = 1 = 左辺。次に、任意の自然数 //k// をとる。//P// は下記の通りであり、これが成立すると仮定する。

これが成立することを使い、 //P// の左辺を計算すると、//P// も成立することが分かる。

以上から、数学的帰納法により、任意の自然数 //n// について命題 //P// が成立する。

6. 数学的帰納法の形式的な取り扱い
------------------

数学的帰納法の原理を説明する前に、まず前述した直観的説明のどこにギャップがあったのかを説明する。前述の説明では、まず我々は //P// を結論づけ、次に ,  から //P// を結論づけ、さらにそれと  を組み合わせることで //P// を結論づけ、さらにそれとを組み合わせることで //P// を結論づけた。以上の議論から分かるように、//P// を結論づける為には2ステップの推論、//P// を結論づけるには3ステップの推論、…、//P// を結論づけるには100ステップの推論が必要となる。

従って有限回のステップでは有限個の //n// に対してしか //P// を結論づけることができず、「無限個ある自然数全てに対して //P// が成り立つ」という数学的帰納法の結論について//有限の長さの証明//が与えられたとはいえない。これが前述した直観的説明におけるギャップである。

そこで、ペアノ算術などの形式的な体系では、数学的帰納法を証明に用いてよいことが公理として仮定されるのが普通である。つまり、形式的には、自然数の性質から数学的帰納法の正しさが証明できるのではなく、逆に自然数の本質的な性質を与える推論規則として数学的帰納法が仮定される、ということになる。

6.1. 同値な定式化
-----------

集合論の枠組みでは、数学的帰納法の原理を次のように表すことができる。

自然数 N の部分集合 //A// が空でないとき、//A// に属する最小の自然数が存在する。この原理からもともとの形の数学的帰納法が導かれることは，次のようにして示せる。帰納法の仮定 1., 2. を満たす論理式 //P// が与えられたとする。自然数の部分集合 //A// を //A// = { //n// ∈ N : ¬ //P// } によって定める。この //A// が空集合であるということを示したい。そうでないと仮定すると、//A//に属する最小の自然数 //a// を取ることができるが、//P//は成り立っていることから //a// は0でない。従って、ある自然数 //b// について //a// = //b// + 1となっているが、//a// は //A// に属する最小の自然数であったということから、//b// ∉ //A// であり、//P// は成り立つことになる。帰納法の仮定から //P// も成り立つことになり、これは矛盾である。

逆に、「//n// 以下の任意の自然数 //k// について //k// ∉ //A//」という形の命題 //P// を考えることで、数学的帰納法から上の原理を導くことができる。//A// を自然数のある集合とし、//A// に属する最小の自然数が存在しないと仮定する。もし //P// が成り立たないと、0 が //A// に属する最小の自然数となって仮定に反するから、//P// は成り立つ。//P// が成り立つとし、もし //P// が成り立たないとすると、//n// + 1 が //A// の最小の自然数となって仮定に反するから、//P// も成り立つ。よって数学的帰納法により //A// は空となる。

7. 超限帰納法
--------

上記の形で自然数について定式化された数学的帰納法は、任意の整列集合に対して次のように一般化することができる。この一般化を超限帰納法 という。任意濃度の集合は選択公理と同値な整列可能定理により整列順序を持つとすることができるので、選択公理を含む公理系であれば超限帰納法は任意濃度の集合に対して成立すると主張できる。

超限帰納法: }} を整列集合とし、//P//}} を A}} 上で定義された命題関数とする。もし次の条件が成立するならば、任意の //x// ∈ //A//}} について //P//}} は真である。条件: a}} を A}} の任意の元とする。//x// < //a//}} を満たす A}} の全ての元 x}} について //P//}} が真ならば、//P//}} も真である。ただし、"<}}" は //a// < //b// ⇔ }} で定義される二項関係とする。

7.1. 証明
-------

A}} を全体集合とする。A}} の各元 a}} に対して //A//   =}}   mset とし、//A//1   =}}   mset とする。そのとき、超限帰納法の条件は と同値である。また、補集合に関する法則から  は と同値である。これらの条件が満たされているという前提の下で、//A//1   =}}   //A//}} すなわち //A//1c   =}}   ∅}} が成り立つことを示せばよい。

いま、 と仮定して矛盾を導く。背理法の仮定と整列集合の定義より、min   //A//1c   =}}   //a//}} が存在する。この //a// について、最小元の定義より //A//∩//A//1c   =}}   ∅}} が成り立つので、 より //a// ∈ //A//1}} もまた成り立つ。しかし、これは //a// ∈ //A//1c}} であることに反する。

8. 整礎帰納法
--------

無限下降列が存在しない二項関係を整礎関係という。整礎関係が定義された集合に対して次が成り立つ。これを整礎帰納法という。

//R// を集合 //A// 上の整礎関係とし、//P// を //A// の元 //x// に関する命題とする。もし次が成立するならば、任意の //x// ∈ //A// について //P// は真である。任意の //a// ∈ //A// をとる。//x// //R// //a// なる任意の //A// の元 //x// について //P// が真ならば、//P// も真である。超限帰納法は整礎帰納法の特殊な場合である。特に、超限帰納法においては、任意の空でない部分集合に最小元が存在する、という性質が、整礎帰納法においては、任意の空でない部分集合に極小元が存在する、という性質に対応している。

9. ハゲ頭のパラドックス
-------------

数学的帰納法を意図的に誤用したジョークとして、次のようなものがある：

髪の毛が一本もない人はハゲである。ハゲの人に髪の毛を一本足してもやっぱりハゲである。よって数学的帰納法により、全ての人はハゲている。もちろんこの「証明」には理論上の根本的な問題点がある。この「証明」の問題点は、「ハゲ」の定義を厳密に毛が何本以下であるかで与えることができない点、もしくは「ハゲ」を定義できたとして、任意の「ハゲ」に髪の毛を一本足したときに、必ず「ハゲ」になるわけではない点にある。 以上のような論法の起源は、古代ギリシャの哲学者ミレトスのエウブリデス  が作ったとされるハゲ頭のパラドックス に帰せられる。これは砂山のパラドックスの起源としても知られる。

前述のジョークにはさまざまなバリエーションがあるが、いずれも「少量の増加程度では大差ない。よって数学的帰納法より沢山の増加でも差はない」という誤謬を利用している。

10. 歴史
------

初期の例としては、プラトンによるパルメニデスにおいて暗黙に帰納法を使用した証明がみられる。また数学的帰納法としての痕跡は、素数が無限個あることを示したユークリッドの証明や、バースカラ2世による "cyclic method" に見ることができる。通常とは逆に、パラメータとなる自然数が減少していく逐次的な論法は、砂山のパラドックスにみられる。つまり、10,000粒の砂粒が砂山を形成し、そこから一粒の砂を取り除いても砂山が残るならば、一粒だけ残った砂でもなお砂山を形成するといえる。

等差数列について暗黙に数学的帰納法を用いた証明は、紀元 1000年ごろにアブ・バクル・カラジによる "//al-Fakhri//" に扱われている。アル＝カラジは二項定理やパスカルの三角形を示すのに数学的帰納法を用いた。

しかし、これらの古代の数学者たちは帰納法の仮定を明示することはしていない。別の似た例としては、フランチェスコ・マウロリコが 1575年の著作 "//Arithmeticorum libri duo//" にて最初の //n// 個の奇数の和が //n//2}} に等しいことを示す際にこの技術を用いている。明示された形での数学的帰納法の原理はパスカルがその著作 "//Traité du triangle arithmétique//" にて与えた。フランス人フェルマーは、帰納法と関連する、無限降下法による間接的な証明をうまく使っている。帰納法の仮定はヤコブ・ベルヌーイによっても使われ、以後多少よく知られるようになった。現代的な厳密さをもち体系的な数学的帰納法の原理の扱いは 19世紀に入ってジョージ・ブール、オーガスタス・ド・モルガン、チャールズ・サンダース・パース、ジュゼッペ・ペアノ、 リヒャルト・デーデキントによって為された。

11. 関連項目
--------

構造的帰納法
帰納
演繹
自然数
整列集合
整礎関係
無限降下法
再帰

12. 脚注
------

12.1. 注釈
--------

12.2. 出典
--------