札幌藻岩高等学校 中村文則

きのうからあしたへ

<先 生> 前回は数学的帰納法なる背理法とならんで重要な命題の証明方法について説明したね。
 今日はその演習をしてみよう。

ex) 次の不等式を数学的帰納法を利用して証明せよ。
(1) 2n+2+32n+1は7の倍数である。
(2) 2n>2n−1

<先 生>ところで数学的帰納法ってどんな証明法だったろうか。

<まなぶ>自然数に関する命題を証明する場合に、ドミノ倒しの方法を利用して、順番に小さい自然数から成立を倒していくんでしたよね。

<先 生>成立を倒すっていいかたは面白いね。もう少し具体的にいうとどうなるのだろう。

<よしお>まず、第k番目が成立すると仮定します。次に、それを利用してk+1番目で成立することを証明します。

<先 生>そうだね。命題が等式や不等式であれば、仮定したk番目を条件式とした場合に、k+1番目の式を証明ということだ。そして……

<まなぶ>最後に1番目を倒すんですね。そうすると、1番目、2番目、3番目、……と次々に倒れていって、ギネスブックに載る。

<かず子>それ、何のこと。

<まなぶ>テレビの特番で、ときどきやってるだろう。全国から集まった高校生が合宿してドミノを苦労して並べてギネスに挑戦するって番組。

<先 生>調子に乗り過ぎだな。でも、苦労して並べるってところは証明の本質をいっている。帰納法は「仮定したものを利用して証明をする」わけで、ドミノ倒しも実際に倒してしまったら大ヒンシュクだね。最後に誰かが1番目のドミノを人差し指でちょこっと押して倒すことで、ドミノが次々に倒れていく様を眺めることに至極の喜びがある。

<まなぶ>先生もちょっと、調子に乗り過ぎてない。

<先 生>おほん!、じゃ、そろそろ問題を解いていこう。まず(1)だ。よしお、どうする。

<よしお>まず、n=kで成立すると仮定します。
   「2k+2+32k+1は7の倍数である」
 これを条件として、n=k+1で成立することを証明します。すなわち、
   「2(k+1)+2+32(k+1)+1は7の倍数である」
ことの証明ですね。

<先 生>では、証明してごらん。

<よしお>………、済みません、先生。どう証明すればいいかヒントをいただけませんか。

<先 生>よしおにしては珍しいね。なにも難しく考える必要はない。この命題を式で表現すればいい。そうすると条件式のある式の証明となる。

<よしお>そうか。「7の倍数である」を「7の倍数に等しい」とみればいいのですね。だから、
   2k+2+32k+1=7N (Nは整数) ……(*)
を仮定して、
   2(k+1)+2+32(k+1)+1=7N' (N'は整数)
を証明するということですね。

<先 生>では、ここら辺でバトンタッチして、後半はかず子にやってもらおうか。

<かず子>……先生、私にもヒントをください。

<先 生>今日はずいぶんみんなてこずっているね。条件式のある等式の証明だから基本方針は「条件式の邪魔者を消せ」ということだよ。もう少し、分かり易くいうなら、条件式において、
   a=2k+2,b=32k+1
とおいてみればいい。すると、
   2(k+1)+2=2・2k+2=2a,32(k+1)+1=32・32k+1 9a
 だから、結局、
   a+b=7N ⇒ 2a+9a=7N'
の証明ということだ。

<かず子>あっ、先生、もういいです。そこからはできます。条件式からaかbのどちらかを消去すればいいんですね。
 例えば、bを消去すると、b=7N−aを等式の左辺に代入して、
   2a+9b=2a+9(7N−a)
        =63N+7a
        =7(9N+a)
 ここで、N'=9N+aとすれば、証明できます。

<先 生>これで、n=k+1で証明されたということになる。そして、最後に……

<まなぶ>あっ、僕にやらせてください。n=1を代入して、
   (与式)=23+33=35
 だから、7の倍数です。

<先 生>以上より、すべての自然数で命題は成立するということになるね。
 それにしても、まなぶは美味しいところばかりもっていくな。

<まなぶ>ちょっと心外だなあ。それじゃ(2)は、僕が解きます。
 まず、n=kで成立すると仮定する。
   2k>2k−1 ……(*)
 これを条件式とみて、n=k+1で成立すればいいから、
   2k+1>2(k+1)−1
の証明ということです。
 不等式の証明だから左辺から右辺を引いて計算してみればいい。
 左辺は2k+1=2・2kだから、条件式(*)を不等式の形で代入して、邪魔者の2kを消去すると、
   (左辺)−(右辺)=2・2k−{2(k+1)−1}
          >2(2k−1)−(2k+1)
          =2k−3
 さて、あとは、後は簡単。k≧1だから、2k−3が正の値になっていれば………??。
 あれ、おかしいな、正にならないよ。どこで間違えたんだろう。ええっと……。
<よしお>まなぶ、計算は間違ってないみたいだよ。でも、k≧1ならば、2k−3≧−1だから、これじゃ、証明できない。不思議だなあ。

<かず子>邪魔者の扱いがおかしいんじゃないかしら。

<まなぶ>どういうこと。

<かず子>条件式(*)は、
   a=2k,b=2k
とおくと、
   a>b−1 ……(**)
ということよね。そして、これを利用して、
   2a>b+1
を証明すればいいわけだけど、先ほど、まなぶはaを消去したじゃない。
邪魔者をbとみて消してみたらどうかしら。

<よしお>とにかく、やってみようか。
(**)の両辺のa,bを移項して、
   −b>−a−1
これを不等式の形で代入してみよう。よって、
   2a−(b+1)=2a−b−1
          >2a+(−a−1)−1
          =a−2
なんか、良さそうだよ。
   a−2=2k−2 だから、k≧1より、a−2≧0
やった。n=k+1で証明できました。

<先 生>うん。いいチームワークだったね。じゃあ、n=1については先生が示そう。
   (左辺)−(右辺)=1>0
さあ、完成だ。

<まなぶ>先生、ちょっとまってよ。なんか仲間外れにされたような気がするんだけど。僕の考えが踏みにじってかってに話を進めているような。

<かず子>なに、オーパーなこといってんのよ。被害妄想だわ。

<まなぶ>まあ、いいや。でもね、よく考えると僕の解答でも証明は可能だと思うんだけどな。だって、
   (左辺)−(右辺)>2k−3
から、k≧2では2k−3>0となって、成立することは明らかだよね。

<よしお>うん。

<まなぶ>ここで、n=2のときは、
   (左辺)−(右辺)=22−(2・2−1)=1>0
で、確かに成り立つ。
とういうことは、数学的帰納法の原理からn≧2では証明ができたということではないだろうか。

<先 生>お見事。n=1というイレギュラーを外したってことだな。そして、n=1の場合を単独に証明して合せれば、すべての自然数で成立したといえね。お見事。冴えてるね。

<まなぶ>三段論法みたいな数学的帰納法の証明って、なんか僕の性格にフィットするんだよな。

<かず子>私は、数学的帰納法ってうさん臭くて嫌だわ。n=kで成立することを仮定して、証明すべきことを証明しているのよ。そしたらその仮定だってあやふやのような気がするわ。白黒はっきりしなさいって感じよ。分かる、まなぶ。

<まなぶ>かず子にゃ、永遠と続くドミノ倒しの旅のような、男のロマンは分からないよ。ねっ、先生。

<先 生>帰納法にフィットしているまなぶの性格は理解したくないけどね。

あとがき

 本文の(2)の問題を帰納法で解くと、一般にはまなぶのような解法を考えてしまい、証明ができなくなります。

 条件式が不等式である場合、条件式を消去するということは、原式を別の不等式で近似することですが、その近似が緩ければ証明ができなくなってしまうこともあるわけです。実際、まなぶの方法では、指数関数を直線に近似させるわけですから、随分ゆるい不等式になってしまうことが分かるでしょう。

 そこで、条件式を最大限活かそうとするなら、
   P(k)>0 ⇒ P(k+1)>0
を示すには、
   P(k+1)>P(k)
を証明すると考えてもいいでしょう。

 (2)の場合、P(k)=2k−(2k−1)とおくと、
   P(k+1)−P(k)=2k+1−(2k+1)−{2k−(2k−1)}
            =2k−2≧0
    ∴ P(k+1)>P(k)>0
となります。

 また、本文では、命題P(n)の証明においてP(1)が真であることを最後に処理しています。アルゴリズム的にはP(1)から証明が出発すべきなのでしょうが、ドミノ倒しとの対比から帰納法の原理を説明するならば、
   「次のドミノが倒れるように並べていって、最後に1番目のドミノを倒す」
と考えた方が感覚的には分かり易くなります。帰納法の証明は、かず子が述べているように「仮定したもので証明を試みる」のですが、その違和感は、現実に最後に倒すことで解消できるわけです。

 ところで、数学的帰納法の証明プロセスは証明の状況に合せてデフォルメされます。その幾つかの形態を以下に触れてみましょう。

○ノーマルな数学的帰納法

自然数に関する命題をP(n)とするとき、
(T) P(1)が真
(U) P(k)が真ならばP(k+1)が真
(V) (T),(U)より すべてのnに対してP(n)は真

 (T)については、
   (T) P(r) (r≧1)
とできます。成立の出発点の問題に過ぎません。

○累積型数学帰納法

自然数に関する命題をP(n)とするとき、
(T) P(1)が真
(U) P(1),P(2),P(3),・・・,P(k)が真ならばP(k+1)が真
(V) (T),(U)よりすべてのnに対してP(n)は真

○並列型数学帰納法

自然数に関する命題をP(n)とするとき、
(T) P(1),P(2),・・・,P(r)が真
(U) P(k),P(k+1),P(k+2),・・・,P(k+r−1)が真ならばP(k+r)が真
(V) (T),(U)よりすべてのnに対してP(n)は真

r=2の場合は、この帰納法の証明パターンはよく利用されます。

ex) 2次方程式x2+ax+b=0(a,b∈Z)の2解をα,βとするとき、
   αn+βn
は整数であることを証明せよ。

証明)
解と係数の関係より、
   α+β=−a,αβ=b
これから、
   α2+β2=(α+β)2−2αβ=a2−2b
よって、n=1,n=2のときは成立する。
次に、n=k,n=k+1で成立すると仮定する。
αk+βk,αk+1+βk+1は整数とすると、
   αk+2+βk+2=(αk+1+βk+1)(α+β)−αβ(αk+βk)
         =−a(αk+1+βk+1)−b(αk+βk)
よって、αk+2+βk+2も整数である。
以上より、すべての自然数nで成立する。   Q.E.D

同様に、r次方程式の解αk (k=1,2,…,r)に対して、が整数であることは、並列型の帰納法により証明されます。

 この他のパターンとして、

○二重型数学帰納法

自然数m,nに関する命題をP(m,n)とするとき、
(T) P(m,1),P(1,n)が真
(U) P(m,k),P(l,n)が真ならばP(m,k+1),P(l+1,n)が真
(V) (T),(U)よりすべてのm,nに対してP(m,n)は真

○退行型数学帰納法(backword-induction)

自然数nに関する命題をP(n)とするとき、
(T) ある自然数nに対してP(n)が真
(U) P(m)が真ならばP(m−1)が真
(V) (T),(U)よりすべてのm以下のすべての自然数nに対してP(n)は真

 この帰納法は、例えば相加・相乗平均の証明に使われます。
m=2kの場合については、数学的帰納法により簡単に証明できます。このmの仮定に対して、m−1を証明することにより、すべての自然数で相加・相乗平均の関係が示されるわけです。

ところで、自然数の集合には

自然数Nの空でない任意の部分集合には最小の要素が存在する なる基本性質があります。この最小原理の性質は、ペアノの公理系で、第5公理に対応しています。

MをNの部分集合とするとき、
@1∈M
A k∈M ⇒ k+1∈M
が満たされればM=Nである
 この第5公理を数学的帰納法の原理といいます。すなわち、数学的帰納法の成立は最小原理から保証されていることになります。これから、最小の要素が存在するような整列集合を考えれば数学的帰納法はその集合でも成立するわけです(数学的帰納法を使えるように自然数を拡張したとも考えられますが)。このようにして発展させて作られた数学的帰納法を超限帰納法といいます。

○超限帰納法

整列集合Xに関する命題をP(X)とする。
   任意のy(y<x)に対して、P(y)⇒P(x)が成立する
とき、すべてのx∈Xに対してP(x)が成立する

 数学的帰納法はこのように、いろいろなパターンが考えられるわけですが、別の見方をすれば、証明法自体が不安定であるともいえます。
 数学的帰納法は、三段論法を発展されたものです。
 三段論法(カット法)は形式論理によってアリストテレスが考え、その後の数学者によって体系化されます。そして、それを土台にド−モルガンが数学的帰納法を完成させます。さらに、ペアノの公理の無矛盾性からゲンツェンは順序数における超限帰納法の論法に拡張しました。
 数学的帰納法が自然数の最小原理から得られるのなら、超限帰納法は自然数以外に最小原理を満たす集合(整列集合)を作れないかという発想から生まれたわけです。この結果、ゲンツェンは、
   三段論法で証明できることは、三段論法を使わなくても証明できる
というカット消去法なる結論にたどり着くのです。
 数学的帰納法はアキレスと亀の話のようにパラドックスの代表例としてよく話題になります。無限回の三段論法と考えれば起こりえるわけです。そういったパラドックスの解消のために、数学的帰納法は拡張されたと考えるべきでしょう。
 なお、今回の小手技は「ポアロの挑戦」なる短編小説と並行してまとめました。よろしければそちらの方もご覧ください。