これは 好きな証明 Advent Calendar 2018 6日目の記事です.
素数が無限個あることの証明方法は複数知られていますが, 今回はその中でも私が気に入っているものをご紹介します. 整数の問題なのに位相空間論を使うところがお気に入りです.
有理整数の全体 $\mathbb{Z}$ の部分集合 $O$ が開集合であることを, 「$O$ が空集合である」または「任意の $a \in O$ に対して $$N_{a, b} := \{ a + bn \ | \ n \in \mathbb{Z} \} \subset O$$ となる整数 $b \gt 0$ が存在すること」と定義します.
これが実際開集合系になっていることを確認しましょう. $O_\lambda$ が開集合であるとき, $\bigcup O_\lambda$ が空集合でないとして, 任意の $a \in \bigcup O_\lambda$ に対して $a \in O_\lambda$ となる $\lambda$ が存在し, かつ整数 $b \gt 0$ で $N_{a, b} \subset O_\lambda$ となるものが存在します. このとき明らかに $$N_{a, b} \subset O_\lambda \subset \bigcup O_\lambda$$ なので $\bigcup O_\lambda$ も開集合です.
一方, $O_1, O_2$ が開集合で, ともに空集合でないとします. このとき任意の $a \in O_1 \cap O_2$ に対して整数 $b_1 \gt 0, b_2 \gt 0$ で $$N_{a, b_1} \subset O_1, N_{a, b_2} \subset O_2$$ となるものがあります. このとき $$N_{a, b_1 b_2} \subset N_{a, b_1} \cap N_{a, b_2}$$ なので $N_{a, b_1 b_2} \subset O_1 \cap O_2$ となり, $O_1 \cap O_2$ も開集合です.
この定義からわかることとして, 「空でない開集合は必ず無限集合である」ことがわかります. また $N_{a, b}$ 自身は開集合になります. 一方で $$N_{a, b} = \mathbb{Z} \setminus \bigcup_{i = 1}^{b - 1} N_{a + i, b}$$ なので, $N_{a, b}$ は開集合の補集合, すなわち閉集合にもなります.
さて, $\pm 1$ 以外のあらゆる整数は素因数を持つので $$\mathbb{Z} \setminus \{ -1, 1 \} = \bigcup_p N_{0, p}$$ が成り立つのですが, ここで素数の全体が有限個だとすると, 右辺は有限個の閉集合の和集合になるため閉集合です. これ $\{ -1, 1 \}$ が開集合であると言っていることになりますが, 空でない開集合は無限集合でなければならないはずなので不合理です.
以上で「素数が無限個あること」が証明されました!
赤猫堂本舗「数学に関するよしなしごと」へ