─信州大:その2─

1998年信州大学入試問題

n2より大きい自然数とするとき,x^n+y^n=z^nをみたす整数解x,y,z(xyz \neq 0)は存在しない」というのはフェルマーの最終定理として有名である.しかし,多くの数学者の努力にもかかわらず,一般に証明されていなかった.ところが1995年この定理の証明がワイルスの100ページを超える大論文と,テイラーとの共著論文により与えられた.当然,x^3+y^3=z^3を満たす整数解x,y,z(xyz \neq 0)は存在しない.

さて,ここではフェルマーの定理を知らないものとして,次を証明せよ.
x,y,zを0でない整数とし,もしも等式x^3+y^3=z^3が成立しているならば,x,y,zのうち少なくとも一つは3の倍数である.

の続きである。解答例は既に紹介したので、今回はほぼ完全に余談である。

この問題に対して、次のようなコメントをつけた書物がある。

問題文の前半で「nを2より大きい自然数とするとき,x^n+y^n=z^nをみたす整数解x,y,z(xyz \neq 0)は存在しない」と言っているにも関わらず,後半では「あるものとして」解かせているのがおかしい.「ない」ことの証明になるのならばともかく,本問の設定は不自然である.

このコメントは、丹羽健夫という人の書いた「悪問だらけの大学入試─河合塾から見えること─」(集英社新書:2000年)に登場する。この書物の中には、各科目の悪問例が紹介されており、それらは「中等教育の現場サイドから見て明々白々の悪問」なのだそうだ。あるいは「客観的悪問」という表現もしばしば登場する。

私はこの書物にある丹羽の分析には大いに異論がある。それは後半で述べる。しかし、この分析に「客観性」がないことだけは、次の事例を引けばこと足りる。この信州大学の問題は、安田亨の「入試数学伝説の良問100」(講談社ブルーバックス:2003年)の問題12に採録されているからである。

安田のこの書物は、「1971〜2002年までの大学入試問題から、真に演習に値する良問を集めた」とあるのだから、冒頭の信州大学の問題も「真に演習するに値する良問」なのだということになる。もちろん、私は安田の書物が、この約30年の大学入試問題の中でベスト100な問題を集めているかどうかについては、確定的な事は何もいえない。また、安田の様々な個人的見解や数学の問題の解答例の書き方についても大いに異論のある箇所が沢山ある。しかし、この信州大学の問題が、丹羽の言う「客観的悪問」とは言い切れないことは明々白々だと思うのだ。


閑話休題

さて、丹羽の書物にあるコメントについて考えてみる。信州大学の問題は
P:「x,y,zを0でない整数とし,等式x^3+y^3=z^3が成立している」
Q:「x,y,zのうち,すくなくともひとつは3の倍数である」
という2つの命題を考え、「PならばQ」が成り立つか否かを問うている。

もちろん、Pという命題は偽なのだから、純粋に命題論理的に言えば、PならばQという命題はQの真偽に関わらず真である。もし丹羽の書物の言うところの「不自然」な「設定」がこのことを指すと善意に解釈するのなら、ひとまず丹羽のコメントを理解することはできる(かもしれない)。しかし、そこで後半最初の部分の注釈「フェルマーの定理を知らないものとして」が効いてくる。

確かに、Pが偽ならばQの真偽に関わらず「PならばQ」という命題は正しい。しかし、いまはPという命題の真偽は知らないことにせよといっているのである。安田の書物の別の部分を引用しよう。

命題「A⇒B」とは、「Aが実現しかつBになる」ということではない。「Aになるかならないか、そんなことは知らないが、もし万一Aになるということを認めるならばBだ」という形式の命題である。これは、Aになるかどうかが簡単には判明しない難問を追求する場合に必要な形式として認められてきたものだ。

上で言うPという命題の真偽は難しい。結論は偽だが、今はそれを知らないものとして考える、つまりPの真偽は問わないというわけだ。このとき、Pという命題が成り立つと仮定した上で、正しい数学的論理を積み重ねていくことでどのような結論が得られるかを考えなさいというのである。その1つの結論としてQを導きなさいという設問なのだ。

というわけで、私は、「Pが偽なのだからQの真偽に関わらず、P⇒Qは正しい」とする議論が出題者の意図に沿っていないと結論するしかない。丹羽の書物のいう設定の不自然さもないと結論せざるを得ないのである。丹羽の書物にあるコメントは、私には埒もない難癖であると思われてならない。

そもそも、このコメントを書いた人(おそらく丹羽ではない別の塾講師であろうと思われるが)は、「ない」ものを「あるものとして」証明させるその形式自体に不自然さを感じたのだろう。命題論理とかそういう難しいことを考えてコメントしたのではなくて、「ない」ものを「ある」と仮定することに不自然さを感じたのだろう。

しかし、入試問題では、背理法という証明方法を良く使う。「○○が存在しないことを示せ」というとき、背理法で証明を考えるなら、「もし存在すると仮定すると」と始めるわけだ。命題Rが正しいか否かがわからないとき、Rが成り立たないと仮定して、それ以後は正しい数学的論理を積み上げていくという証明方法は、まさに数学における必須の方法なのであって、不自然なものでは全くない。

丹羽の書物に書かれているコメントは、こうした意味で全く当を得ていないといわざるを得ない。

─信州大:その1─

1998年信州大学入試問題の数学に次のような問題がある。

n2より大きい自然数とするとき,x^n+y^n=z^nをみたす整数解x,y,z(xyz \neq 0)は存在しない」というのはフェルマーの最終定理として有名である.しかし,多くの数学者の努力にもかかわらず,一般に証明されていなかった.ところが1995年この定理の証明がワイルスの100ページを超える大論文と,テイラーとの共著論文により与えられた.当然,x^3+y^3=z^3を満たす整数解x,y,z(xyz \neq 0)は存在しない.

さて,ここではフェルマーの定理を知らないものとして,次を証明せよ.
x,y,zを0でない整数とし,もしも等式x^3+y^3=z^3が成立しているならば,x,y,zのうち少なくとも一つは3の倍数である.

背理法で証明することになるのだろう。

[ひとつの解答例]

もしx,y,zがすべて3の倍数ではないとすれば,3k+1または3k+2の形をしている。この3乗を計算してみると
(3k+1)^3=27k^3+27k^2+9k+1=9(3k^3+3k^2+k)+1
(3k+2)^3=27k^3+54k^2+36k+1=9(3k^3+6k^2+4k)+8
である。つまりx^3,y^39で割った余りは1または8しかない。
したがって、x^3+y^39で割った余りは、1+1=2,1+8=9,8+8=16から2,0,7のいずれかに限られる。ところがz3の倍数ではないので、z^39で割った余りは1または8しかない。これは矛盾である。

この問題が良い問題であるかどうかということの判断は私にはできない。整数問題を考えるときには、「余りによる分類」がポイントになることが多い。


都立大の問題を類題として取り上げておこう。

x^2+y^2=3をみたす有理数x,yは存在しないことを示せ.

この問題でも3で割った余りで分類することが大切である。もうひとつのポイントは有理数をどう扱うかということだろう。

[ひとつの解答例]

x=\frac{b}{a},y=\frac{c}{a}とし,a,b,cは共通する素因数を持たない(つまり最大公約数が1)としてよい。このとき、b^2+c^2=3a^2が成り立つ。

次に、ある整数nの2乗n^2を3で割った余りを考える。n3で割った余りは0,1,2の3通りがあるが、
(3m)^2=3(3m^2)
(3m+1)^2=3(3m^2+2m)+1
(3m+2)^2=3(3m^2+4m)+4
であることから,n^23で割った余りは0,1の2通りしかない。

いま、3a^23で割り切れているからb^2+c^23で割り切れる。ところが、b^2c^23で割った余りは0,1しかありえないので、その和が3で割り切れるためには、b^2,c^2がともに3で割り切れるしかない。ということは、b,c3で割り切れることになる。これは、b^2,c^2がともに9で割り切れることを意味する。よって、3a^29で割り切れることになり、a^23で割り切れる。よってa3で割り切れることになる。これは、a,b,cがすべて3で割り切れることを意味しているから、a,b,cの取り方に反し矛盾である。

この解答例でポイントになったのは、

(1) 整数n^23で割った余りは0,1しかありえない。
(2) 整数n^23で割り切れることと整数n3で割り切れることは必要十分である。
(3) 整数n,mに対し、n^2+m^23で割り切れることと、n,mがともに3で割り切れることとは必要十分である。

ということである。これは3で割った余りによる分類を丁寧に調べることで証明できる。この考え方は、整数問題を解くための最も基本的な道具である。

(摂南大学)─その3:蜘蛛の巣図法─

1999年摂南大学工学部の数学入試問題

f(x)を実数を係数とする多項式とする。実数aに対し、a_1 = aから以下帰納的にa_{n+1}=f(a_n)で数列\{a_n\}を定める。このとき、f(\alpha)=\alphaであることは、\lim_{n \to \infty}a_n=\alphaであるためのどのような条件か。下から選べ。
(1)必要十分条件である。
(2)必要条件だが十分条件ではない。
(3)十分条件だか必要条件ではない。
(4)必要条件でも十分条件でもない。

の続きである。今回は、a_{n+1}=f(a_n)の形で定義される数列の振る舞いを図を用いて理解する方法である「蜘蛛の巣図法」を紹介しよう。

まずは、その1でもとりあげた数列a_1=0,a_{n+1}=\sqrt{a_n+2}の振る舞いを蜘蛛の巣図法を用いて考えてみよう。

まず、a_1=0であるから、x=0y=\sqrt{x+2}のグラフの交点を考える。交点のy座標がa_2である。次にa_3をきめたいのだが、a_2y軸上にしかプロットされていないのでは困る。そこで、直線y=xに関して対称移動し、x軸上にa_2の値をプロットする。そのためには、y=a_2y=xの交点を考える。そのx座標がa_2である。続いてx=a_2y=\sqrt{x+2}の交点のy座標を考えれば、a_3がプロットできる。これをy=xに関して対称移動し、x軸上にa_3の値をプロットする。以下これを繰り返していく。その図が上の図になる。

この図を眺めながら、a_10以外の値に取り替えてみる。すると、a_1 \gt -2であるようなどんな値を選んでも、やがて2という値に近づいていくことが図形的に納得できるだろう。

(摂南大学)─その2:関数の連続性と極限の分配─

1999年摂南大学工学部の数学入試問題

f(x)を実数を係数とする多項式とする。実数aに対し、a_1 = aから以下帰納的にa_{n+1}=f(a_n)で数列\{a_n\}を定める。このとき、f(\alpha)=\alphaであることは、\lim_{n \to \infty}a_n=\alphaであるためのどのような条件か。下から選べ。
(1)必要十分条件である。
(2)必要条件だが十分条件ではない。
(3)十分条件だか必要条件ではない。
(4)必要条件でも十分条件でもない。

の続きである。今回は、必要性

\lim_{n \to \infty}a_n=\alphaならば、f(\alpha)=\alphaが成り立つ。

の証明を考えよう。なんとなく答案を書く受験生だと

\lim_{n \to \infty}a_n=\alphaのとき、\lim_{n \to \infty}a_{n+1}=\alphaである。
\lim_{n \to \infty}f(a_n)=f(\alpha)である。よって、\alpha=f(\alpha)である。

という感じに書いてしまうかもしれない。しかし、この答案は、第2行目の冒頭で、実は極限操作を関数の中身に移す変形

\lim_{n \to \infty}f(a_n)=f(\lim_{n \to \infty}a_n)

を用いている。この変形はどのような関数f(x)に対しても正しい変形ではない。

例えば、a_n=1-\frac{1}{n}と関数f(x)=x]を考えてみよう。\lim_{n \to \infty}a_n=1である。f(1)=1だ。しかし、[1-\frac{1}{n}=0がすべてのnについて成り立っているので、f(a_n)=0である。極限値をとっても0である。この例に対して上の極限の移行は正しくない。
次の図も参考になるかもしれない。

極限操作を関数の中身に移行してもよいのは、関数f(x)に連続性がある場合のみである。
つまり正しい答案を書くのであれば、次のように書くべきなのだ。

[正しい解答例1]
\lim_{n \to \infty}a_n=\alphaのとき、\lim_{n \to \infty}a_{n+1}=\alphaである。
実数係数の多項式f(x)は連続なので、
\lim_{n \to \infty}f(a_n)=f(\lim_{n \to \infty}a_n)=f(\alpha)である。
よって、\alpha=f(\alpha)である。

Z会の『チェック&リピート数学III・C』も旺文社や聖文社の解答例にも上のような答案が書いてある。もちろんこれで全く正しい。理系学部受験生でも関数の連続性と極限操作の移行にまで注意が向いている人は少ないと思われるし、教科書でも余り丁寧に説明されない箇所であるから、繰り返し言及して意識してもらうことは大切だと思う。

しかし、この問題についている「f(x)を実数係数の多項式とする。」という条件をもう少し好意的に読み取る回答がどこにもないのは少し嘆かわしいといっては言いすぎだろうか。もし出題する側が、上の[解答例1]のように解答して欲しいのなら、多項式などとせずに「連続関数f(x)」としたのではないだろうか。あえて「連続」という言葉を問題文に入れないようにした目くらましなのだろうか。

たぶん次のような解答例を想定して出題したのではないかと推測している。

[正しい解答例2]
f(x)は実数を係数とする多項式であるから、
f(x)=c_mx^m+c_{m-1}x^{m-1}+ \cdots +c_1x+c_0とおくことができる。ここでc_0,c_1, \cdots ,c_{m-1},c_mnによらない実数である。
いま、\lim_{n \to \infty}a_n=\alphaであるから、
\lim_{n \to \infty}f(a_n)
=\lim_{n \to \infty}(c_m(a_n)^m+c_{m-1}(a_n)^{m-1}+ \cdots +c_1(a_n)+c_0)
=c_m\alpha^m+c_{m-1}\alpha^{m-1}+ \cdots +c_1\alpha+c_0=f(\alpha)
が成り立つ。
また、\lim_{n \to \infty}a_n=\alphaのとき、\lim_{n \to \infty}a_{n+1}=\alphaである。
よって\alpha=f(\alpha)である。

この解答例では、連続性を用いた極限操作の移行の代わりに、極限操作の分配を使っている。

2つの数列\{p_n\},\{q_n\}が,それぞれp,qに収束しているとき、
\lim_{n \to \infty}(p_n+q_n)=p+q
\lim_{n \to \infty}p_nq_n=pq
が成り立つ。

これを使えば、\lim_{n \to \infty}a_n=\alphaのとき、\lim_{n \to \infty}(a_n)^m=\alpha^mであることや、例えば\lim_{n \to \infty}(a_n)^2+a_n=\lim_{n \to \infty}(a_n)^2+\lim_{n \to \infty}a_n=\alpha^2+\alphaであることなどが正当化されるのである。

関数の連続性という概念は高校数学ではあまり詳しく扱わない。せいぜい

関数f(x)x=aで連続であるとは、\lim_{x \to a+0}f(x)\lim_{x \to a-0}f(x)が存在して,ともにf(a)に等しいときである。

という定義と、いくつかの例(ex.不連続な関数の典型例としてガウス記号)を説明する程度だろう。中間値の定理にも関数の連続性が効いているのだが、使い方をマスターさせるので精一杯ではなかろうか。

それに対して、極限の分配は必ず扱う。もちろん、各項の収束性を述べないまま極限操作を分配する受験生が居るのだが。

(摂南大学)─その1:Introduction─

1999年摂南大学工学部の数学入試問題に次のようなものがある。

f(x)を実数を係数とする多項式とする。実数aに対し、a_1 = aから以下帰納的にa_{n+1}=f(a_n)で数列\{a_n\}を定める。このとき、f(\alpha)=\alphaであることは、\lim_{n \to \infty}a_n=\alphaであるためのどのような条件か。下から選べ。
(1)必要十分条件である。
(2)必要条件だが十分条件ではない。
(3)十分条件だか必要条件ではない。
(4)必要条件でも十分条件でもない。

この問題のネタ自体は有名で、例えばf(x)=\sqrt{x+2}の場合は多くの参考書や問題集にも取り上げられている。このような問題の場合、普通は、まずf(\alpha)=\alphaとなる\alphaを見つけなさい。それが極限値になるはずだから|a_n-\alpha|を評価しなさい。代数的に(数I的に)やる方法と平均値の定理に持ち込む方法とがありますよ。と教えている。
具体的には次のような感じだ。

f(x)=\sqrt{x+2},a_1=0,a_{n+1}=f(a_n)で定義される数列\{a_n\}極限値を求めよ。
[解]
まず、f(x)=\sqrt{x+2}=xとなるxを求めると、x^2-x-2=(x-2)(x+1)=0からx=-1,2とわかる。
a_1=0から帰納的にa_n \ge 0なので、極限値2と予想できる。
|a_{n+1}-2|を評価しよう。
a_{n+1}-2=\sqrt{a_n+2}-2=\frac{a_n-2}{\sqrt{a_n+2}+2}
であるが、a_n \ge 0であることに注意すれば\sqrt{a_n+2}+2 \le 2である。よって
a_{n+1}-2 \le \frac{1}{2}|a_n-2|
が成り立つ。これを繰り返し使えば
|a_n-2| \le \frac{1}{2^{n-1}}|a_1-2| \to 0
となるので求める極限値2となることが従う。

しかし、よく考えてみると、この教え方だと最初の摂南大の問題に記述答案を書くことはかなり困難である。それは、次の2つの意味である。1つは必要性

\lim_{n \to \infty}a_n=\alphaならばf(\alpha)=\alphaが成り立つ。

ということの証明を端折っている点であり、もうひとつは十分性

f(\alpha)=\alphaならば\lim_{n \to \infty}a_n=\alphaが成り立つ。

が正しいと錯覚させている点にある。最初に取り上げた摂南大の問題はこの2点についての理解を問うていることになる。もちろんマークセンスの問題なので、証明や反例を考えたりしなくても解答することはできる。上のような有名な類題を知っていれば「当たり前」で(A)と答えてしまいそうになる。記述式答案を書かせたら、摂南大学工学部受験生の、いや難関理系国公立受験生のどのくらいの生徒がこの問題に正しく解答することができるのだろうか。

この問題をいろいろな側面から考えてみることは、関数の極限や連続性についてよく考えてみるきっかけとなるし、このような反復合成型数列の極限値という案外高級な話題に興味を持たせるきっかけとなると思う。