全脳科学帳

これを好む者はこれを楽しむ者に如かず

引き算の減加法と減減法

id:Yama-Mikasaさんのブログ「読書生活」にこんなエントリがあった。

www.yama-mikasa.com

12 - 5のような繰り下がりのある計算を頭の中でどのように計算しているか? という問題。これくらいなら誰でも答を覚えていると思うが、覚えていないとしたらどう計算するかという話。

①12からまず2を引き、12-2は10。10から残りの3を引いて7。
②12を10と2に分けて、10-5は5。5に2を足して7。
ほぼこの二つのやり方で計算しているようです。みなさんはどちらですか?①ですか?②ですか?
 実は、日本人の9割の方は②のやり方で計算しているのだそうです。それは小学校1年生の算数教育によるものなのだそうです。今回はそういう話です。

これを読んで驚いた。私は「5から2を引いて3、10から3を引いて7」と計算していたからである。上でいうと①と同系統のやり方。つまり少数派だということになる。②のようなやり方は考えたこともなかった。非常に興味があったので、コメント欄でやりとりすることになった。id:Yama-Mikasaさんはこの問題を、子供の「思考と表現のずれ」の行動を調べていた時に偶然見つけられたとのことだった。

その時のコメントでも書いたのだが、私が繰り下がりのある引き算のやり方を「編み出した」のは4〜5歳のころだったと思う。その時に自分でも「変なやり方」だと思った記憶があるので、少数派だというのはわかる気はする。

調べてみると、論文が1つ見つかった。

[PDF]計算に困難を示す児童の指導 一 繰り下がりのある減法計算のストラテジーの変化 一

「繰り下がりのある減法計算のストラテジー」として代表的なものを7つ紹介していて、その中に以下の2つがある。

②減々法: 「14−6」の場合、減数の6を4と2に分け、「14−4」を行い、その答えの10から2を引き、答えの8を導き出す方法である。
(中略)
③減々法’:「14−6」の場合、被減数の14を10と4に分け、減数の6から4を引き、その答えの2を10から引く方法である。

「減々法」の系統としてこの2つが紹介されている。私のやり方は③になると思うが、②と③の違いがわからない。「減数の6を4と2に分け」というのは6から4を引くことに他ならないし、「『14−4』を行い」は「14を10と4に分け」と同じことを頭の中でやることになるはず。

この論文では続いて、「③減々法’」について以下のように解説されている。

これは、減々法の誤パターンと言われている。すなわち減々法では、その2つの引き算の操作は被減数から減数を引くものであるが、その操作の誤りで、減数から被減数の1位を引いている。減法計算の意味と数の構造の理解が十分できていれば、減数を予め減らしておき、計算しているとも言える。このような思考は、形式的操作の段階であり(片桐,1995)、具体的操作の段階である下がりのある減法計算の初期においては、減々法の誤りのパターンであることが多く、これで正解であることから定着させていることが多い。

「誤パターン」「その操作の誤り」と言われてしまった。納得いかないなあ。一方で「…理解が十分できていれば、…とも言える」と持ち上げてくれている(?)が、邪道だと言われている感じは否めない。

さらにこうも書いてある。

繰り下がりのある減法計算は、2年以降の筆算を考えた場合、減加法が適しているため、小学校1年生の教科書では、減加法の考え方が示されている。そして、ほとんどの子どもたちはこの方法で習得していくことになっている。

筆算の引き算(「10を借りてくる」方法)の時に減加法の方がいいと言っているのだが、私はまったく困ったことがないので理由がよくわからない。それに、筆算をやるころには「1□ - △」の答は全部覚えているものではないのだろうか。そうでもないのかな。

学校では減加法で教えているとあるのだが、私には教わった記憶がない。当時はそういう教え方をしていなかったか、減加法を教わっても私が無視していたか、どちらかだと思う。

私の通っている大人のための数学教室 和の松森先生がTwitterで質問を受け付けられていたので、この件を聞いてみた。

そろばんを頭に置くとは。習われてたのかな。「3に5を足す」の5は10から5を引いた結果の5なので、手順としては減加法の系統になるのではないか。

ABC予想の同値な表現

先月のことになるが、ABC予想が解決されたらしい、ということが報じられた。

www.asahi.com

大ニュース。どうやらこれはもう、証明されたと思ってよさそうである。

ところで、ABC予想が主張している内容にはいくつかの表現方法がある。

まず共通の事柄として、

  • 自然数 nに対して、 nの互いに異なる素因数の積(素因数分解して指数をすべて 1にしたもの)を nの根基(radical)と呼び、 \mathrm{rad}(n)と書く。
    例:  \mathrm{rad}(6) = \mathrm{rad}(2 \cdot 3) = 2 \cdot 3 = 6
     \mathrm{rad}(45) = \mathrm{rad}(3^2 \cdot 5) = 3 \cdot 5 = 15
  • 自然数の組 (a, b, c)で、 a \lt b a bは互いに素、 a + b = cであるもの(ABCトリプルという)を考える。

このとき、ABC予想は以下のように表現される。

ABC予想(表現1)
任意の \varepsilon \gt 0に対し、次を満たす (a, b, c)の組はたかだか有限個しか存在しない。
 c \gt \mathrm{rad}(abc)^{1 + \varepsilon}

ABC予想(表現2)
任意の \varepsilon \gt 0に対し、ある K(\varepsilon) \gt 0が存在し、すべての (a, b, c)の組に対して次が成り立つ。
 c \lt K(\varepsilon) \cdot \mathrm{rad}(abc)^{1 + \varepsilon}

ABC予想(表現3)
 (a, b, c)に対し \displaystyle q = \frac{\log c}{\log(\mathrm{rad}(abc))}とする。
( q (a, b, c)の「クオリティ(質)」という)
任意の \varepsilon \gt 0に対し、 q \gt 1 + \varepsilonとなる (a, b, c)の組はたかだか有限個しか存在しない。

これら3つが同値であるというのだが、なぜ同値になるのかがわからなかった。

 \mathrm{rad}(abc) cも自然数であるから、

 q \gt 1 + \varepsilon

 \Leftrightarrow \log c \gt (1 + \varepsilon) \log(\mathrm{rad}(abc))

 \Leftrightarrow c \gt \mathrm{rad}(abc)^{1 + \varepsilon}

となり、表現1と表現3が同値であることはすぐわかる。しかし表現2が表現1(あるいは表現3)となぜ同値になるのかは簡単ではない。

たかだか有限個しか存在しなければそれに合わせて K(\varepsilon)をとればいいので、表現1⇒表現2は明らか。しかし表現2⇒表現1となる理由がわからなかった。

このことを数学教室 和で質問したら、以下の記事を紹介いただいた。ここに「同値であることの証明」が載っている。

integers.hatenablog.com

なるほど! 任意の \varepsilon \gt 0に対して成り立つので、 \varepsilonより小さい \varepsilon' \gt 0でも成り立ち、それを用いて有限個であることを証明するのか。

これで、表現1〜3が同値であることはわかった。悩んでいた1と2の同値性がとりあえず自明なことではなさそうなのでちょっと安心した。

肝心の予想の証明は超難解らしいが、入り口だけでも理解できる解説書が出るといいな。

連続性と微分可能性 (1)

実関数  f(x) x = a で連続であるとは、極限  \displaystyle \lim_{x \to a} f(x) が存在して  f(a) に等しくなることをいう。もっとちゃんと言うと、任意の  \varepsilon \gt 0 に対して  \delta \gt 0 が存在して、 |x - a| \lt \delta ならば  | f(x) - f(a) | \lt \varepsilon となることである。

関数  f(x) x = a で微分可能であるとは、微分係数  \displaystyle \lim_{h \to 0} \frac{f(a + h) - f(a)}{h} が(有限の値として)存在することをいう。

 x = a で微分可能であるためには、上式の分子の極限  \displaystyle \lim_{h \to 0} (f(a + h) - f(a)) が0に収束しなくてはならず、このとき \displaystyle \lim_{x \to a} f(x) = \lim_{h \to 0} f(a + h) = f(a) となるから、 x = a で微分可能ならその点で連続であるということが言える。したがって、 f(x) の値が存在する各点において、以下の3つのいずれかである。

(1) 連続かつ微分可能である
(2) 連続でも微分可能でもない
(3) 連続だが微分可能でない

数学で習う関数の多くは、いたるところで(任意の  x について)(1)になっている。 x^2,  e^x,  \sin x などがその例である( f(x) の値が存在しない  x のある関数もある:  \displaystyle \frac{1}{x},  \log x,  \tan x など)。

いたるところで(2)つまり不連続となる関数が存在する。たとえばディリクレの関数と呼ばれる以下の関数がそれである。

 f(x)=
\begin{cases}{}
1 \ (x \in \mathbb{Q})\\
0 \ (x \notin \mathbb{Q})
\end{cases}

つまり、 x が有理数のとき1、無理数のとき0となる関数。どんなに短い区間をとっても1と0が混在するから、連続にはならない。

最近知ったのだが、このディリクレの関数を1行の式で定義することができる。関数の考案者であるディリクレ自身が作った式。

 \displaystyle f(x) = \lim_{n \to \infty} \lim_{k\to \infty} \cos^{2k} (n!\, \pi x)

ここで  n,  k は自然数としての極限をとる。

 x が有理数の場合、 n を大きくすれば  n!\, x は必ず整数になるから、 \cos (n!\, \pi x) は 1または-1となり、 \cos^{2k} (n!\, \pi x) は1となる。 x が無理数の場合には  n を大きくしても  n!\, x は決して整数にならないから  -1 \lt \cos (n!\, \pi x) \lt 1 であり、 k を大きくしたときの  \cos^{2k} (n!\, \pi x) の極限は0になる。

ここで、 x が有理数の場合には、 n を大きくすれば  n!\, x は整数になるだけでなく偶数になり、 n!\, \pi x 2\pi の倍数になるから、 \cos (n!\, \pi x) は -1 にならず 1 のみを値としてとるようになる。だから  \cos 2k 乗ではなく  k 乗とした式

 \displaystyle f(x) = \lim_{n \to \infty} \lim_{k\to \infty} \cos^k (n!\, \pi x)

でもいいのではないかと思うのだがどうなのだろう。これだと、 n が十分大きくなくて  \cos の値が -1 になるときに  k 乗の値が振動してしまうのがよろしくないということなのだろうか。

ディリクレの関数は十分病的だが、いたるところで(3)、つまり連続なのにどこでも微分できないという、もっと病的な関数も存在する。その例として最初に考案されたのはワイエルシュトラスの関数。

 \displaystyle f(x) = \sum_{n=0}^\infty a^n \cos(b^n \pi x)

ここで  0 \lt a \lt 1 b は奇数の自然数、また  \displaystyle ab \gt 1 + \frac{3}{2}\pi = 5.712\ldots となるようにとる(これより、 b は 7 以上の奇数ということになる)。たとえば  \displaystyle a = \frac{1}{2},  b = 13 とすればよい。

この関数が任意の  x において連続かつ微分不可能となることの証明を読んでみた。

どの点 x = x_0 においても、その左と右から、ある近づけ方で極限をとると、微分係数は  + \infty - \infty となり、有限の値にも無限の値にも確定することはないのだった。

負の数と負の数を掛けるとなぜ正の数になるのか

あるセミナー(数学とは関係ない)で講師の人が何かの例を説明する時に「マイナスとマイナスを掛けるとプラスになりますからね」と言ったら、参加者の一人から「なつかしい!」という声が上がったことがあった。「そうか、なつかしいのか…」と妙に感心してしまった。

「マイナスとマイナスを掛けるとなぜプラスになるの?」は、「数学でわからないこと」の定番として挙げられる。 -2 \times (-3) はなぜ  -6 ではなくて  6 なのかということである。

なぜなのかというと、「そう決めたから」「そうでないと辻褄が合わないから」としか言いようがないと思うのだが、もう少し説得力のありそうな説明をいくつか挙げてみる。

(1) 分配法則を使う

 -2 \times 0 = 0            どんな数も  0 を掛けると  0 になる
 \Rightarrow -2 \times (3 + (-3)) = 0       0 (3 + (-3)) に置き換えた
 \Rightarrow -2 \times 3 + (-2) \times (-3) = 0    分配法則を使った
 \Rightarrow -6 + (-2) \times (-3) = 0      -2 \times 3を計算した
 \Rightarrow -2 \times (-3) = 6         両辺に  6 を足した

逆に言うと、マイナスとマイナスを掛けてプラスにならないと分配法則が成り立たなくなって困るのである。 しかしこんな式の変形だけで納得してもらうのは難しいな。

(2) 貯金と借金

スッカラカンでお金を全く持っていない状態が0、貯金がある状態がプラス、お金を持っていなくて借金だけがある状態がマイナスと考える。

  • 現在貯金0で借金もない。毎日2万円稼ぐと3日後にはどうなっているか?
     \Rightarrow 2 \times 3 = 6   6万円の貯金がたまる
  • 現在0で、毎日2万円借金して全部使ってしまうと、3日後にはどうなっているか?
     \Rightarrow -2 \times 3 = -6   6万円の借金が残る
  • 毎日2万円稼いでいて、現在は貯金0である。3日前にはどうだったか?
     \Rightarrow 2 \times (-3) = -6   6万円の借金があった
  • 毎日2万円使っていて、現在は貯金0である。3日前にはどうだったか?
     \Rightarrow -2 \times (-3) = 6   6万円の貯金があった

日常生活の中で負の数を意識しやすいと考えられる「貯金と借金」「未来と過去」を使って説明しようというアプローチ。ていねいに説明すれば比較的わかりやすいと思うのだが。他にも水槽の水位を使って説明する方法もある。

(3) 九九の拡張

 2 \times 3 = 6
 2 \times 2 = 4
 2 \times 1 = 2

積は2ずつ減っていくので、さらに続けると

 2 \times 0 = 0
 2 \times (-1) = -2
 2 \times (-2) = -4
 2 \times (-3) = -6

次に、

 -2 \times 3 = -6
 -2 \times 2 = -4
 -2 \times 1 = -2

積は2ずつ増えていくので、さらに続けると

 -2 \times 0 = 0
 -2 \times (-1) = 2
 -2 \times (-2) = 4
 -2 \times (-3) = 6

「マイナス×プラス=マイナス」を納得してもらっていれば、これは割とわかりやすいと思う。

(4) 足し算と引き算

  •  2 \times 3 は、2を3回足すことである。
     \Rightarrow 2 \times 3 = 2 + 2 + 2 = 6
  •  -2 \times 3 は、-2を3回足す、つまり2を3回引くことである。
     \Rightarrow -2 \times 3 = -2 - 2 - 2 = -6
  •  2 \times (-3) は、2を-3回足す、つまり2を3回引くことである。
     \Rightarrow 2 \times (-3) = -2 - 2 - 2 = -6
  •  -2 \times (-3) は、-2を-3回足す、つまり-2を3回引くことであり、それは2を3回足すことである。
     \Rightarrow (-2) \times (-3) = -(-2 - 2 - 2) = 2 + 2 + 2 = 6

多分ややこしくてわかりにくい。

eが超越数であることの証明

 e (ネイピア数、自然対数の底)が超越数であることは、1873年にシャルル・エルミートによって証明された。つまり  e は有理数係数(整数係数としても同じ)の代数方程式の解とならない数である。その証明は相当ややこしい。

私はこの動画を観て自分のノートにまとめた。


eが超越数であることの証明

ここでは概要だけ書いておく。

 e を代数的数であると仮定する。するとある整数の組  a_0, a_1, \cdots , a_n (a_0 a_n \neq 0)に対して

 \displaystyle a_0 + a_1 e + a_2 e^2 + \cdots + a_n e^n = 0 \quad(*1)

が成り立つことになる。

さて、 f(x) I(t) J を以下のように定義する。

 \displaystyle f(x) = x^{p-1}(x-1)^p (x-2)^p \cdots (x-n)^p ( pは素数)

 \displaystyle I(t) = \int_0^t e^{t-x}f(x)dx

 \displaystyle J = -(a_0 I(0) + a_1 I(1) + \cdots + a_n I(n))

すると、 p が十分大きな素数(素数が無限に存在することは証明されているので、いくらでも大きくとれる)であるとき

 \displaystyle | J | \ge (p-1)! \quad(*2)

 \displaystyle | J | \le c^p ( c pによらない自然数)  \quad(*3)

がともに成り立つことが示せる。

ところがどんな  c に対しても、十分大きな  p をとれば  (p-1)! \gt c^p となるから、これは矛盾。 したがって、 e が代数的数であるという仮定が誤りであり、 e は超越数であるということが示される。

 e を代数的数と仮定して何か矛盾が生じればいいという戦略だが、証明は長い道のりだった。特に (*2) を示すには、補題を使ったり場合分けが生じたりしてかなり複雑である。いつもながら、こういうことを思いついた人はえらいと思う。

ここでいう補題というのは以下のもの。

補題
 f(x) を次数  m の多項式、 I(t) を上記で定義した  t の関数とし、

 \displaystyle F(x) = f(x) + f'(x) + f''(x) + \cdots + f^{(m)}(x)

とすると

 \displaystyle I(t) = e^t F(0) - F(t)

である。

これによって  J の式を簡単にした上で場合分けしながら計算し、「 (p-1)! で割り切れるが  p! では割り切れない」ことを突き止める。したがって  J 0 でない  (p-1)! の倍数なので、  | J | \ge (p-1)! となるのである。といっても、 e は代数的数であるというウソの仮定をすればの話。 J の式を簡単にする過程で(*1)を使っている。

背理法を使わないで証明しようとするとどうなるか。ウソの仮定を使っているのは (*2) の方で、(*3)は本当に成り立つので、「十分大きな p に対して  (p-1)! \gt c^p であるから、(*2)はすべての  p に対して成り立つわけではない」ことから(*1)が成り立たないことを導くことになると思う。

フィボナッチ数列の一般項を求める

フィボナッチ数列は、

 \displaystyle F_0 =0, F_1 = 1, \, F_{n+2} = F_{n+1} + F_n \, (n = 0, 1, 2, \ldots)

という漸化式で与えられる数列。具体的な値は、

 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, \ldots

である。この数列の一般項を知った時は驚いた。

数学ガール」(シリーズ第1作)では母関数を用いて一般項を導出していたが、等比数列に帰着する方法でガリガリと求めることもできる。

 \displaystyle F_{n+2} - \alpha F_{n+1} = \beta(F_{n+1} - \alpha F_n) \quad(*1)

がすべての  n に対して成り立つとすると

 \displaystyle F_{n+2} = (\alpha + \beta)F_{n+1} - \alpha \beta F_n

となるので、フィボナッチ数列の定義と比較して

 \displaystyle \alpha + \beta = 1, \, \alpha \beta = -1

これを解くと  \displaystyle \alpha, \beta = \frac{1 \pm \sqrt{5}}{2}

どちらを  \alpha としてもよいが、 \displaystyle \alpha = \frac{1 - \sqrt{5}}{2}, \beta = \frac{1 + \sqrt{5}}{2} とする。(*1)の形から A_n = F_{n+1} - \alpha F_n とおくと、

 \displaystyle A_0 = F_1 - \alpha F_0 = 1

 A_{n+1} = \beta A_n

 \displaystyle \therefore A_n = \beta^n

 \displaystyle \therefore F_{n+1} - \alpha F_n = \beta^n\quad(*2)

 F_n に関する等比数列を導くために  F_{n+1} - \beta \gamma = \alpha (F_n - \gamma) とおくと

 \displaystyle F_{n+1} - \alpha F_n = (\beta - \alpha) \gamma

これを(*2)と比較して

 \displaystyle (\beta - \alpha) \gamma = \beta^n

 \displaystyle \therefore \gamma = \frac{\beta^n}{\beta-\alpha}

 \displaystyle \therefore F_{n+1} - \frac{\beta^{n+1}}{\beta-\alpha} = \alpha(F_n - \frac{\beta^n}{\beta-\alpha})

 \displaystyle B_n = F_n - \frac{\beta^n}{\beta-\alpha} とおくと

 \displaystyle B_0 = F_0 - \frac{1}{\beta-\alpha} = - \frac{1}{\beta-\alpha}

 \displaystyle B_{n+1} = \alpha B_n

 \displaystyle \therefore B_n = \frac{- \alpha^n}{\beta-\alpha}

 \displaystyle \therefore F_n - \frac{\beta^n}{\beta-\alpha} = \frac{- \alpha^n}{\beta-\alpha}

 \displaystyle \therefore F_n = \frac{1}{\beta - \alpha} (\beta^n - \alpha^n)

 \displaystyle \alpha = \frac{1 - \sqrt{5}}{2}, \beta = \frac{1 + \sqrt{5}}{2} を代入して計算すると

 \displaystyle F_n = \frac{1}{\sqrt{5}}\left(\left(\frac{1 + \sqrt{5}}{2}\right)^n - \left(\frac{1 - \sqrt{5}}{2}\right)^n\right)

シンプルな定義のフィボナッチ数列の一般項がこんなに複雑な形になるのは驚きである。

この式を展開したときの第2項  \displaystyle - \frac{1}{\sqrt{5}}\left(\frac{1 - \sqrt{5}}{2}\right)^n の絶対値は  n = 1のときの値  0.27639\ldots が最大で、どんどん小さくなっていく。これが常に  0.5 より小さいことから、フィボナッチ数列の一般項は、床関数を用いて

 \displaystyle F_n = \biggl\lfloor\frac{1}{\sqrt{5}} \left(\frac{1 + \sqrt{5}}{2}\right)^n + \frac{1}{2}\biggr\rfloor

と表すこともできる。

素数の逆数和 その2

素数の逆数和が発散することをレオンハルト・オイラーが最初に示した時の証明を調べてみた。エルデシュの証明と同じく、これで素数が無限に存在することも言える。「素数が無限に存在することの証明(4)」で書いたオイラーの証明と同じアプローチを使っている。

証明
素数  2, 3, 5, \ldots p_1, p_2, p_3, \ldots と番号づける。各素数  p_i に対し、等比数列の和の公式より

 \displaystyle\sum_{k=0}^\infty \frac{1}{p_i^k} = \frac{1}{1 - \frac{1}{p_i}}\quad(*1)

である。右辺をすべての素数について掛け合わせた値

 \displaystyle M = \prod_{p_i} {\frac{1}{1 - \frac{1}{p_i}}} = \frac{1}{1 - \frac{1}{2}} \cdot \frac{1}{1 - \frac{1}{3}} \cdot \frac{1}{1 - \frac{1}{5}} \cdots \quad(*2)

を考える。これを(*1)の左辺の等比数列の和の方を使って表すと

 \displaystyle M = \prod_{i} {\sum_{k=0}^\infty \frac{1}{p_i^k}}

 \displaystyle = \Bigl(1 + \frac{1}{2} + \frac{1}{2^2} + \cdots\Bigr)\Bigl(1 + \frac{1}{3} + \frac{1}{3^2} + \cdots\Bigr)\Bigl(1 + \frac{1}{5} + \frac{1}{5^2} + \cdots\Bigr) \ldots

これを展開すると、各項は  \displaystyle \frac{1}{p_1}, \frac{1}{p_2}, \ldots の0乗以上を掛け合わせたものとなり、そのすべての組み合わせが現れる。すなわち

 \displaystyle M = \sum_{k_i} \frac{1}{\prod_{i} p_i^{k_i}}

ただしこれは、0以上の整数値をとる数列  k_i \, (i \ge 0) のすべての組み合わせにわたって和をとることを意味する。

任意の自然数は素数の積として表せる(証明は「素数が無限に存在することの証明(4)」参照。ここで1は素数の0乗の積と見なす)ことから、任意の自然数は  \displaystyle \prod_{i} p_i^{k_i} (各  k_i は0以上の整数)と表せる。したがって、任意の自然数  m について、上記の  M の総和表現の中に  \displaystyle \frac{1}{m} が現れる。よって

 \displaystyle M \ge \sum_{k=1}^\infty \frac{1}{k} = 1 + \frac{1}{2} + \frac{1}{3} +\frac{1}{4} + \cdots\quad(*3)

次に、

 \displaystyle 0 \lt x \le \frac{1}{2} のとき  \displaystyle \frac{1}{1 - x} \lt 10^x\quad(*4)

である(証明は後述)。したがって(*2)の各項において、 \displaystyle 0 \lt \frac{1}{p_i} \le \frac{1}{2} より

 \displaystyle \frac{1}{1 -\frac{1}{p_i}} \lt 10^{\frac{1}{p_i}}

これをすべての  p_i について掛け合わせると、(*2)より

 \displaystyle M = \prod_{p_i} {\frac{1}{1 - \frac{1}{p_i}}} \lt 10^{\frac{1}{p_1}+\frac{1}{p_2}+\frac{1}{p_3}+\cdots}

(*3)より  M は調和級数以上の値を持つので、無限大に発散する(調和級数の発散の証明は「素数が無限に存在することの証明(4)」参照)。したがって  \displaystyle 10^{\frac{1}{p_1}+\frac{1}{p_2}+\frac{1}{p_3}+\cdots} も無限大に発散する。これは、その指数である素数の逆数和が無限大に発散することを意味する。(証明終)

導入部分は素数が無限に存在することの証明と同じなのだが、(*4)に着目して一気に逆数和の発散を示してしまう。

(*4)の証明

 e^x のマクローリン展開

 \displaystyle e^x = \sum_{n=0}^\infty \frac{x^n}{n!} = 1 + \frac{x}{1!} + \frac{x^2}{2!} + \cdots

より、 x \gt 0 において

 \displaystyle e^x \gt 1 + x

である。 x \gt 0 なら  2x \gt 0 であるから、 x 2x を代入して、 x \gt0 のとき

 \displaystyle e^{2x} \gt 1 + 2x

 \displaystyle 0 \lt x \le \frac{1}{2} のとき、 1 - x \gt 0 であるから、上記の両辺に  1 -x を掛けて

 \displaystyle e^{2x} (1 - x) \gt (1 + 2x)(1 - x) = 1 + x(1 - 2x) \ge 1

両辺を  1 - x で割ると

 \displaystyle e^{2x} \gt \frac{1}{1 - x} つまり  \displaystyle {(e^2)}^x \gt \frac{1}{1 - x}

 10 \gt e^2 (= 7.389\ldots) なので

 \displaystyle 10^{x} \gt \frac{1}{1 - x}

となる。(証明終)

これを見ると、本題の証明の方で  10 の代わりに  e^2 を使ってもよいことがわかる。

素数が無限に存在することの証明 (6) 〜 素数の逆数和 その1 〜

6つ目の証明は、ポール・エルデシュによるもの。生涯に約1500本もの論文を発表したことや、それらの多くが共著だったことで知られる人。この証明では、素数の逆数の和が無限大に発散することを示す。素数が有限個しか存在しないなら逆数の和は有限の値になるはずであるから、逆数の和が発散することを示せれば素数が無限に存在することが言える。

素数の逆数の和が無限大に発散することを初めて証明したのはオイラーらしいのだが、後にエルデシュが以下のような初等的な証明を与えた。

証明
背理法で証明する。素数の逆数和が有限の数  \alpha に収束する、つまり

 \displaystyle \sum_{i=1}^\infty \frac{1}{p_i} = \alpha

と仮定する(ただし  p_i i 番目の素数。素数が有限の  L 個しか存在しない場合には、  i \gt L については  \displaystyle \frac{1}{p_i} = 0 とみなす)。

極限の定義より、上式は、任意の  \varepsilon \gt 0 に対して自然数  M が存在して

 \displaystyle n \ge M ならば  \displaystyle \Biggl | \sum_{i=1}^n \frac{1}{p_i} - \alpha \Biggr | \lt \varepsilon

となることを意味する。ここで  \displaystyle \varepsilon = \frac{1}{2} とおき、総和の部分が単調増加であることを考え合わせると、自然数  M が存在して

 \displaystyle n \ge M ならば  \displaystyle 0 \le \alpha - \sum_{i=1}^n \frac{1}{p_i} \lt \frac{1}{2}

である。したがって、この  M に対して

 \displaystyle \alpha - \sum_{i=1}^M \frac{1}{p_i} =\sum_{i=M+1}^\infty \frac{1}{p_i} \lt \frac{1}{2} \quad (*1)

となる。

自然数  N 以下の自然数のうち

 \displaystyle p_{M+1}, p_{M+2}, \ldots のいずれかで割り切れる自然数の個数を  N_1
 \displaystyle p_{M+1}, p_{M+2}, \ldots のいずれでも割り切れない自然数( p_1, \ldots, p_M のいずれかでのみ割り切れる自然数と1)の個数を  N_2

とする。このとき  N = N_1 + N_2 である。  N 以下の  p の倍数の個数は、床関数(その数を越えない最大の整数)を用いて  \displaystyle \Bigl\lfloor \frac{N}{p} \Bigr\rfloor と表せるから、

 \displaystyle N_1 \le \sum_{i=M+1}^\infty \Bigl\lfloor \frac{N}{p_i} \Bigr\rfloor \le\sum_{i=M+1}^\infty \frac{N}{p_i} \lt \frac{N}{2}   (最後の不等号には(*1)を使った)

次に、 p_{M+1}, p_{M+2}, \ldots のいずれでも割り切れない N 以下の自然数  n をとり、 n = uv^2 と自然数の積で表す。ただし  u は平方因数を持たないものとする。このとき、 u p_1, \ldots, p_M のたかだか1個ずつの積であるから、 u のとりうる値はたかだか  2^M 通りである。また  v^2 \le n \le N であるから  v \le \sqrt{N}。したがって  n がとりうる値の個数  N_2 について  \displaystyle N_2 \le 2^M \sqrt{N}となる。

以上より、

 \displaystyle N = N_1 + N_2 \lt \frac{N}{2} + 2^M \sqrt{N}

となる。

ところが、 N 2^{2M+2} を代入すると

 \displaystyle 2^{2M+2} \lt \frac{2^{2M+2}}{2} + 2^M \sqrt{2^{2M+2}} =2^{2M+2}

となって矛盾する。 よって、素数の逆数和が収束するという仮定が誤りであり、素数の逆数和は正の無限大に発散する。したがって素数は無限に存在する。(証明終)

素数の逆数和は発散するのだが、その増加は非常に遅い。現在計算されているところまででまだ4ぐらいがせいいっぱいらしい。調和級数がだいたい  \log n (自然対数)のオーダーで、これでも相当に遅いが、素数の逆数和は  \log (\log n) のオーダーとのこと。実際、 \displaystyle \lim_{n \to \infty} (\sum_{p \le n} \frac{1}{p_i} - \log (\log n)) は収束し、その値( =0.26149721\ldots)はMeissel–Mertens定数と呼ばれる。 計算してみると、 \log (\log n) が4になるのは  n が10進数で24桁の数のときであり、5になるのは65桁の数のときである。10になるには9566桁の数にまで  n を大きくしないといけない。

さて、上記の証明を背理法を使わずに書くにはどうすればよいか? 証明の道筋を逆にたどれば何とかなりそうである。

証明
 M を自然数とし、 N = 2^{2M+2} とする。 N 以内の自然数のうち、

 \displaystyle p_{M+1}, p_{M+2}, \ldots のいずれかで割り切れる自然数の個数を  N_1
 \displaystyle p_{M+1}, p_{M+2}, \ldots のいずれでも割り切れない自然数( p_1, \ldots, p_M のいずれかでのみ割り切れる自然数と1)の個数を  N_2

とする。このとき  N = N_1 + N_2 である。

次に、 p_{M+1}, p_{M+2}, \ldots のいずれでも割り切れない  N 以下の自然数  n をとり、 n = uv^2 と自然数の積で表す。ただし  u は平方因数を持たないものとする。このとき、 u p_1, \ldots, p_M のたかだか1個ずつの積であるから、 u のとりうる値はたかだか  2^M 通りである。また  v^2 \le n \le N であるから  v \le \sqrt{N}。したがって  n がとりうる値の個数  N_2 について

 \displaystyle N_2 \le 2^M \sqrt{N} = 2^M \cdot 2^{M+1} = 2^{2M+1} = \frac{N}{2}

 \displaystyle \therefore N_1 = N - N_2 \ge \frac{N}{2}

一方、 N 以下の  p の倍数の個数が床関数を用いて  \displaystyle \Bigl\lfloor \frac{N}{p} \Bigr\rfloor と表せることから、

 \displaystyle N_1 \le \sum_{i=M+1}^\infty \Bigl\lfloor \frac{N}{p_i} \Bigr\rfloor \le\sum_{i=M+1}^\infty \frac{N}{p_i}

これらから、 M によらず常に

 \displaystyle \sum_{i=M+1}^\infty \frac{N}{p_i} \ge\frac{N}{2} つまり  \displaystyle \sum_{i=M+1}^\infty \frac{1}{p^i} \ge \frac{1}{2} \quad (*2)

が成り立つ。

素数の逆数和が収束値  \alpha を持つためには

 \displaystyle n \ge M ならば  \displaystyle 0 \le \alpha - \sum_{i=1}^n \frac{1}{p_i} \lt \frac{1}{2}

となる  M が存在することが必要であり、このためには

 \displaystyle \sum_{i=1}^\infty \frac{1}{p_i} - \sum_{i=1}^M \frac{1}{p_i} = \sum_{i=M+1}^\infty \frac{1}{p_i} \lt \frac{1}{2}

となるような  M が存在しなければならないが、(*2)よりそのような  M をとることはできない。これは素数の逆数和が収束しないことを意味する。(証明終)

背理法とどう違うのかと言われると微妙だが、とにもかくにも「ウソを仮定→矛盾」という論法は避けられた。

素数が無限に存在することの証明 (5)

5つ目の証明はゴールドバッハによるもの。フェルマー数を使う。フェルマー数とは  F_n = 2^{2^n} + 1 で表される数のことで、  n = 0,1,2,\ldots に対して  F_n = 3, 5, 17, 257, 65537, 4294967297, \ldots である。

証明
まず、以下の補題を証明する。

補題
任意の  n = 1,2,\ldots に対して  F_0 F_1 \ldots F_{n-1} = F_n - 2 である。

補題の証明
数学的帰納法で証明する。まず  n = 1 のとき、  F_0 = 3 F_1 - 2 = 5 - 2 = 3 であるから成り立つ。  n = k  (k \ge 1) で成り立つとき、  F_0 F_1 \ldots F_{k-1} = F_k - 2 であり、

 F_0 F_1 \ldots F_k = (F_0 F_1 \ldots F_{k-1}) F_k = (F_k - 2)F_k = (2^{2^k} - 1)(2^{2^k} + 1)  = 2^{2^{k+1}} - 1 = F_{k+1} - 2

となるので、  n = k+1 でも成り立つ。したがって補題が証明された。

さて、任意の異なるフェルマー数  F_m, F_n  (m \lt n) に対して、補題から  F_n = F_0 F_1 \ldots F_m \ldots F_{n-1} + 2 = M \cdot F_m + 2 ( Mは自然数) と書ける。  F_m の任意の素因数  p をとると、フェルマー数の定義から  F_m は奇数なので  p \gt 2 である。すると上式から、  F_n p で割った余りは2であり、  F_n p で割り切れない。このことから  F_m F_n は共通の素因数を持たない。つまりフェルマー数はすべて互いに素である。 すると、任意の自然数  n に対して  F_0 F_1 \ldots F_n は少なくとも  (n+1) 個の素因数を持つ。すなわちどんな  n に対してもそれより大きな個数の素数が存在する。したがって素数が無限に存在することが示された。(証明終)

もともとフェルマー数はすべて素数なのではないかと言われていた(実際にはたとえば  F_5 は合成数)ぐらいなので、フェルマー数の列が無限に素数を生成するのではないかというのは自然な着眼点なのかも。 今回も、背理法を使わない証明を書いてみた。

素数が無限に存在することの証明 (4)

次に紹介するのは、かのレオンハルト・オイラーによる証明。 これはかなり毛色が異なる。

証明
素数が有限の  n 個しか存在しないと仮定し、それらを  p_1, p_2, \ldots, p_n とする。 各素数  p_i に対し、等比数列の和の公式より

 \displaystyle \sum_{k=0}^\infty \frac{1}{p_i^k} = \frac{1}{1 - \frac{1}{p_i}}

である。右辺を  p_1, p_2, \ldots, p_n のすべてについて掛け合わせた値

 \displaystyle M = \prod_{i=1}^n {\frac{1}{1 - \frac{1}{p_i}}}

を考えると、これは有限の値の有限個の積であるから、 M は有限の値である。 一方、左辺の等比数列の和の方を使って表すと

 \displaystyle M = \prod_{i=1}^n {\sum_{k=0}^\infty \frac{1}{p_i^k}}

 \displaystyle = \Bigl(1 + \frac{1}{p_1} + \frac{1}{p_1^2} + \cdots\Bigr)\Bigl(1 + \frac{1}{p_2} + \frac{1}{p_2^2} + \cdots\Bigr) \ldots\Bigl(1 + \frac{1}{p_n} + \frac{1}{p_n^2} + \cdots\Bigr)

である。これを展開すると、各項は  \displaystyle \frac{1}{p_1}, \frac{1}{p_2}, \ldots, \frac{1}{p_n} の0乗以上を掛け合わせたものとなり、そのすべての組み合わせが現れる。すなわち

 \displaystyle M = \sum_{k_i} \frac{1}{\prod_{i=1}^n p_i^{k_i}}

ただしこれは、0以上の整数値をとる数列  k_i \, (0 \le i \le n) のすべての組み合わせにわたって和をとることを意味する。

任意の自然数は素数の積として表せる(証明は後述。ここで1は素数の0乗の積と見なす)ことと、素数は  p_1, p_2, \ldots, p_n のみであること(この証明での仮定)から、任意の自然数は  \displaystyle \prod_{i=1}^n p_i^{k_i} (各  k_i は0以上の整数)と表せる。したがって、任意の自然数  m について、上記の  M の総和表現の中に  \displaystyle \frac{1}{m} が現れる。よって

 \displaystyle M \ge \sum_{k=1}^\infty \frac{1}{k} = 1 + \frac{1}{2} + \frac{1}{3} +\frac{1}{4} + \cdots

右辺は調和級数であり、無限大に発散する(証明は後述)。したがって  M は無限大に発散する。これは  M が有限の値であることと矛盾する。

以上より、素数が有限個しか存在しないという仮定が誤りであり、素数は無限に存在する。(証明終)

無限数列の積を使うので直感的に理解するのが少し難しいし、これで厳密に示せているのか不安になるが、素因数分解や調和級数と結びつけているのはおもしろい。

これを背理法を使わずに証明するにはどうするか? 単に、 n 個の素数  p_1, p_2, \ldots, p_n をとったときに  M は有限の値になるから調和級数と同じにはならず、すべての自然数を分母にするには任意の  n より大きな個数の素数が必要になることを言えばいいだけか。

上記の証明で、「任意の自然数が素数の積として表せること」と、「調和級数が無限大に発散すること」を使っている。これらの証明を書いておく。

任意の自然数が素数の積として表せることの証明(Wikipediaより)
素数の積として表せない自然数が存在するとし、そのような最小の数を  n とする。1は素数の0乗として表せ、素数はそれ自身で素数の積になっているので、 n は合成数である。したがってある自然数  a \gt 1, b \gt1 によって  n = ab と表せる。 a, b n より小さいので、ともに素数の積で表せる。するとそれらの積である  n も素数の積で表せることになり矛盾する。 以上よりこのような  n は存在せず、任意の自然数は素数の積として表せる。 ※リンク先のWikipediaは算術の基本定理のページであり、この定理では各自然数に対して素数の積(素因数分解)が1通りしかないことも証明しているが、素数が無限に存在することの証明にはそこまでは必要ない。

これを背理法を使わずに証明するには? たとえば数学的帰納法で以下のようにやればいいと思う。

任意の自然数 nが素数の積として表せることを証明する。

(1)  n = 1, 2 のときは明らかに成り立つ。
(2)  n = 1, 2, \ldots, k - 1 \, (k \gt 2) で成り立つとする。
 k が素数なら、それ自身が素数の積であるから  n = k でも成り立つ。
 k が合成数なら、 k k より小さい自然数の積で表すことができ、仮定よりそれらは素数の積で表せるから、 k も素数の積で表すことができる。 したがって、 n = k でも成り立つ。
以上より、任意の自然数  n は素数の積として表せる。

調和級数が無限大に発散することの証明
調和級数の分母の自然数を2の累乗で区切って表せば

 \displaystyle \sum_{k=1}^\infty \frac{1}{k} = 1 +\Bigl(\frac{1}{2}\Bigr) +\Bigl(\frac{1}{3} + \frac{1}{4}\Bigr) +\Bigl(\frac{1}{5} + \frac{1}{6} +\frac{1}{7} +\frac{1}{8}\Bigr) + \cdots

 \displaystyle = 1 + \sum_{i=1}^\infty {\sum_{j=2^{i-1}+1}^{2^i}\frac{1}{j}}

 \displaystyle \gt1 + \sum_{i=1}^\infty {\sum_{j=2^{i-1}+1}^{2^i}\frac{1}{2^i}} = 1 +\Bigl(\frac{1}{2}\Bigr) +\Bigl(\frac{1}{4} + \frac{1}{4}\Bigr) +\Bigl(\frac{1}{8} + \frac{1}{8} +\frac{1}{8} +\frac{1}{8}\Bigr) \cdots

 \displaystyle = 1 + \sum_{i=1}^\infty \frac{1}{2}

最後の総和は無限大に発散するから、調和級数も無限大に発散する。