1 帰納法の原理
この記事では、自然数は1,2,3,…を指すものとし、0を含めません。0を含める流儀もあり、その場合は以下の基底段階がP(0)になります。
定理 1.1 (数学的帰納法). 自然数nについての述語Pが、次の二つを満たすとする。
- P(1)が真である(基底段階)。
- すべての自然数kについてP(k)⇒P(k+1)が真である(帰納段階)。
このとき、すべての自然数nについてP(n)が真である。
基底段階はn=1という一つの場合についてP(1)が真であることを示します。帰納段階は、個々のP(k)が真であることではなく、含意P(k)⇒P(k+1)がすべての自然数kについて真であることを示します。したがって、帰納段階だけでは、真であるP(k)は一つも保証されません。
二つの段階を合わせると、P(1)にP(1)⇒P(2)を適用してP(2)を得ます。さらにP(2)⇒P(3)を適用するとP(3)を得ます。帰納法の原理は、この出発点と全称的な引継ぎの性質から、すべての自然数nに対するP(n)を結論します。
例 1.2 (基底段階を欠く場合).P(n)を「n=n+1」とする。P(k)、すなわちk=k+1を仮定すると、両辺に1を加えてk+1=k+2を得る。したがって、すべての自然数kについてP(k)⇒P(k+1)は真である。一方、P(1)は1=2という偽の命題である。実際、どの自然数nについてもP(n)は偽である。よって、帰納段階が真であっても、基底段階が無ければすべてのP(n)を結論することはできない。
2 帰納法が成り立つ根拠は、自然数の性質にある
帰納法が正しいことは、論理の規則だけからは出てきません。根拠は、自然数が「1から始まり、1ずつ増え、すべての自然数がこの積み上げによって得られる」という構造をもつことにあります。この構造を公理として書き下したものがペアノの公理であり、帰納法の原理はその一つとして置かれます。
同じ性質を別の形で述べたものが、次の最小数原理です。
定理 2.1 (最小数原理との同値). 自然数について、1が最小であること、1より大きい自然数nがある自然数mを用いてn=m+1と表されること、および任意の自然数k,nについてk≤n+1かつk=n+1ならばk≤nであることを認める。このとき、数学的帰納法の原理と「自然数からなる空でない集合には最小元がある」という最小数原理は同値である。
定理ブロックに書いた自然数の基本的な性質は、帰納法と最小数原理のどちらからも導かず、両方向の証明で共通に認めます。
証明 (最小数原理から帰納法を導く). 最小数原理を仮定する。自然数nについての述語Pが定理 1.1 (1)と定理 1.1 (2)を満たすとし、
S={n∈N≥1∣P(n) は偽}と置く。S=∅と仮定すると、最小数原理によりSは最小元n0をもつ。
n0=1ならば、n0∈SによりP(1)は偽であるが、基底段階によりP(1)は真である。n0>1ならば、n0=m+1を満たす自然数mがある。m<n0とn0の最小性からm∈/S、すなわちP(m)は真である。帰納段階をk=mに適用するとP(m+1)=P(n0)は真となり、n0∈SによってP(n0)が偽であることと両立しない。どちらの場合も仮定S=∅に反するので、S=∅である。よって、すべての自然数nについてP(n)は真である。▨
証明 (帰納法から最小数原理を導く). 帰納法の原理を仮定する。Sを自然数からなる集合とし、Sは最小元をもたないと仮定する。P(n)を「1からnまでのどの自然数もSに属さない」と定める。
1∈Sならば、1が最小の自然数であることから1はSの最小元となる。これはSが最小元をもたないという仮定に反するので、1∈/SでありP(1)は真である。
自然数kを任意にとり、P(k)を仮定する。k+1∈Sと仮定する。k+1より小さい元s∈Sがあるならば、s≤k+1かつs=k+1であるからs≤kとなり、P(k)に反する。したがってSにk+1より小さい元は存在せず、k+1はSの最小元となる。これはSが最小元をもたないという仮定に反するので、k+1∈/SでありP(k+1)は真である。
定理 1.1により、すべての自然数nについてP(n)は真である。したがってS=∅である。「Sが最小元をもたないならばSは空集合である」という含意の対偶は、「Sが空でないならばSは最小元をもつ」である。§A3.6 定理 1.1により、空でない自然数の集合は最小元をもつ。▨
この同値関係から、帰納法と、最小の反例を取る背理法とが同じ内容であることが分かります。「すべてのnでP(n)」を示すために、Pが偽になる最小の自然数を取って矛盾を導く議論は、帰納法の別の書き方です。
3 強い帰納法
帰納段階でP(k)だけを仮定するのではなく、P(1)からP(k)までのすべてを仮定してよい形があります。
定理 3.1 (強い帰納法). 自然数nについての述語Pが、P(1)が真であり、かつすべての自然数kについて、P(1),P(2),…,P(k)がすべて真であることからP(k+1)が従うとする。このとき、すべての自然数nについてP(n)が真である。
証明.Q(k)を「1≤j≤kを満たすすべての自然数jについてP(j)が真である」と定める。Q(1)はP(1)と同値であり、仮定により真である。自然数kを任意にとり、Q(k)を仮定する。Q(k)からP(1),P(2),…,P(k)はすべて真であるので、強い帰納法の帰納段階からP(k+1)が従う。よって、1≤j≤k+1を満たすすべての自然数jについてP(j)が真であり、Q(k+1)が成り立つ。定理 1.1をQに適用すると、すべての自然数kについてQ(k)が真である。したがって、すべての自然数nについてP(n)が真である。▨
この証明が示しているとおり、強い帰納法は通常の帰納法から導かれるので、証明することができる主張の範囲は両者で変わりません。強い帰納法では、帰納段階でP(k)だけでなく、P(1)からP(k)までのすべてを使うことができます。
例 3.2 (単純帰納法と強い帰納法の使い分け). 和の公式
1+2+⋯+n=2n(n+1)は通常の帰納法で示される。n=1のときは両辺が1である。n=kで公式が成り立つと仮定すると、
1+2+⋯+k+(k+1)=2k(k+1)+(k+1)=2(k+1)(k+2)となる。P(k+1)を示すためにP(k)だけを用いるので、通常の帰納法で足りる。
R(j)を「自然数j+1は素数の積として表される」とする。R(1)は2が素数であることから真である。R(1),R(2),…,R(k)がすべて真であると仮定する。k+2が素数ならばR(k+1)は真である。k+2が合成数ならばk+2=ab、2≤a,b≤k+1を満たす自然数a,bがある。1≤a−1,b−1≤kであるから、帰納法の仮定によりaとbはそれぞれ素数の積として表され、k+2も素数の積として表される。よってR(k+1)は真であり、強い帰納法によりすべての自然数jについてR(j)が真である。したがって、2以上のすべての自然数は素数の積として表される。因数a,bは事前に決まらないため、R(k)だけでなくすべての既知の場合を用いる。
ak+1がakとak−1の両方から定まる漸化式について、ak+1の性質を示すときにakとak−1の性質をともに用いる場合がある。この場合にはP(k)とP(k−1)が必要なので、それまでのすべての場合を仮定する強い帰納法を用いることができる。