素数は無限に存在する
素数(2, 3, 5, 7, 11, …)は無限に存在する。
この記事の要点
- 素数が有限個しかないと仮定し、全部かけて 1 を足した数を考えると矛盾が起きる(背理法)
- 作った数そのものが素数になるとは限らない。2⋅3⋅5⋅7⋅11⋅13+1=59×509
- 大学数学では、素数が「どのくらいの割合で」あるかを調べる素数定理や、ゼータ関数へと話が広がる
素数が無限にあることは、2000年以上前のギリシャの数学者ユークリッドの『原論』(第9巻 命題20)に証明が書かれています。このコラムでは、その証明を高校数学の背理法で確かめ、そこから大学数学の素数の研究へどうつながるかを紹介します。
高校数学の問題:素数は無限にあるか
問題
素数が無限に存在することを、背理法を用いて証明せよ。
1. 有限個だと仮定する
素数が有限個しかないと仮定し、それを全部並べて p1, p2, …, pn とします。
2. 全部かけて1を足す
N=p1p2⋯pn+1という数を考えます。並べた素数には 2 が含まれるので N≧3 で、N は少なくとも1つの素数で割り切れます(N 自身が素数なら N で割り切れます)。
3. どの素数でも割り切れないことを示す
N を p1 で割ると、p1p2⋯pn は p1 の倍数なので、余りは 1 です。p2, …, pn で割っても同じで、余りはいつも 1 になります。つまり N は、並べたどの素数でも割り切れません。
4. 矛盾を導く
手順2で、N を割り切る素数があるはずでした。その素数は手順3より p1, …, pn のどれでもないので、「素数はこれで全部」という仮定に反します。よって、素数は無限に存在します
。
よくある誤解:「p1p2⋯pn+1 は素数になる」と覚えている人がいますが、正しくありません。2+1=3、2⋅3+1=7、2⋅3⋅5+1=31、2⋅3⋅5⋅7+1=211、2⋅3⋅5⋅7⋅11+1=2311 までは素数ですが、
2⋅3⋅5⋅7⋅11⋅13+1=30031=59×509は素数ではありません。証明で使ったのは「並べた素数以外の素数で割り切れる」ことだけです。
その先1:素数はどのくらいあるか(素数定理)
素数が無限にあると分かると、次は「x 以下に素数はいくつあるか」が気になります。この個数を π(x) と書きます(円周率とは別の記号です)。
| x | 10 | 100 | 1000 | 104 | 105 | 106 |
|---|
| π(x) | 4 | 25 | 168 | 1229 | 9592 | 78498 |
| logxx | 4.3 | 21.7 | 144.8 | 1085.7 | 8685.9 | 72382.4 |
(logx は自然対数)
x 以下の素数の個数 π(x) と、x / log x の比較18世紀の終わりごろには、π(x) が logxx に近いことが予想されていました。これは1896年に、アダマールとド・ラ・ヴァレ・プーサンがそれぞれ独立に証明し、素数定理と呼ばれています。x を大きくすると、π(x) と logxx の比が 1 に近づく、という定理です。表でも比は 1.16(x=1000)、1.08(x=106)と、ゆっくり 1 に近づいています。
その先2:オイラーの積の式とゼータ関数
素数が無限にあることには、オイラーによる別の証明もあります。使うのは、数学Bの等比数列の和で項の数を限りなく増やした、数学IIIの無限等比級数です。素数 p について、公比 p1 は 0<p1<1 なので和は収束し(p−1=p1)
1−p−11=1+p1+p21+p31+⋯です。これをすべての素数についてかけ合わせると、どの自然数もただ1通りに素因数分解できる(素因数分解の一意性)ので、右辺を展開すると 11, 21, 31, … がちょうど1回ずつ現れます。
p は素数∏1−p−11=1+21+31+41+⋯右辺は、数学IIIで学ぶように、いくらでも大きくなる(発散する)和です。もし素数が有限個なら、左辺は有限個の数のかけ算で、決まった値になります。これは矛盾なので、素数は無限にある
ことが、今度は「和が発散する」ことから分かります。オイラーは1737年の論文でこの考え方を使い、素数の逆数の和 21+31+51+71+⋯ も発散することを示しました。
この式の 1+21+31+⋯ を 1+2s1+3s1+⋯ に一般化したものがゼータ関数 ζ(s) です。素数定理の証明でもゼータ関数が主役になり、ゼータ関数についての予想(リーマン予想)は、今も解かれていない大問題の1つです。
注意
オイラーの積の式は、無限個のかけ算と無限個の足し算を扱うので、厳密に扱うには大学で学ぶ級数の収束の考え方が必要です。このコラムでは、考え方の紹介にとどめています。
この記事のまとめ
- 素数を全部かけて 1 を足した数は、並べたどの素数でも割り切れないので、素数は無限にある(背理法)。
- その数自身が素数とは限らない(30031=59×509)。
- 素数の個数は logxx くらい(素数定理)。オイラーは等比数列の和の積から、素数とゼータ関数を結びつけた。