本稿では「0 は自然数である」という主張について扱っていますが、本稿はあくまでその主張自体を相対化できる人を対象とした記事です。既に「0 は自然数ではない」とするコンセンサスの確立している分野(日本の初等・中等教育や大学入試における数学等)においてはそちらに従ってください。
自然数と聞いて、どのような数を思い浮かべるだろうか?
世の中には、「自然数」の範囲について、2つの流儀が存在する。
当サイト管理人は、前者の流儀を採用している。
本稿では、自然数とは如何なる数であったかを論じた上で、0 を自然数に含めた方が自然であるとする理由を述べる。
日本の初等・中等教育においては、「自然数は 1 から始まる」と教育することになっている。
ℕ = {1, 2, 3, 4, 5, …}
一方、高等教育以降の数学、特に数学基礎論(数理論理学)・抽象代数学・数理情報科学等においては、「自然数は 0 から始まる」とすることが多い。
ℕ = {0, 1, 2, 3, 4, …}
どちらの流儀を採用するのが適切であるかは、特にインターネット上の議論において屡〻論争になっている。
(勿論、どちらの流儀を採用しているかを明らかにした上で議論をする分には、どちらの流儀を採用したとしても実用上は特に問題は生じない)
自然数について語る前に、先ずは他の代数系(整数、有理数、実数、複素数)がどのように特徴づけられるかを見てみる。
では、自然数はどうだろうか?
ここで「自然数とは、0 以上の整数である」或いは「自然数とは、1 以上の整数である」などと定義してはならない。
何故ならば、上述の通り「整数」とは「自然数」を拡張したものであったから、その「自然数」の定義に「整数」を使ってしまうと循環定義に陥ってしまうからである。
あくまで自然数が先、整数は後である。
「自然数」は、整数とは無関係に定義されなければならない。
そこで用いられるのが、ペアノの公理と呼ばれる定義である。
自然数とは、以下を満たす系(自然数全体)の要素である。
- 最初の自然数 Z は自然数である。
- 各自然数 n に対し、その次の自然数 S(n) も自然数である。
- 最初の自然数 Z は如何なる自然数の次の自然数でもない。
(S(n) = Z なる自然数 n は存在しない)- 異なる二つの自然数 m, n に対し、それらの次の自然数 S(m), S(n) 同士も異なる。
- 自然数全体は数学的帰納法を満たす。
(自然数の集合 E が Z ∈ E かつ ∀n ∈ E. S(n) ∈ E を満たすならば、E は自然数全体に等しい)
これを見てもわかりづらいが、要するに
という流れで順々に定まる列
Z, S(Z), S(S(Z)), S(S(S(Z))), S(S(S(S(Z)))), …
の各要素のことを「自然数」と呼ぶ、ということである。
ここで注意すべきは、ペアノの公理は「最初の自然数」「次の自然数」というのが何者であるかについては特に定めていないということである。
つまり、この時点では
Z | = | 0 |
S(Z) | = | 1 |
S(S(Z)) | = | 2 |
S(S(S(Z))) | = | 3 |
S(S(S(S(Z)))) | = | 4 |
⋮ |
かもしれないし、或いは
Z | = | 1 |
S(Z) | = | 2 |
S(S(Z)) | = | 3 |
S(S(S(Z))) | = | 4 |
S(S(S(S(Z)))) | = | 5 |
⋮ |
かもしれない。もっと言うと
Z | = | 1 |
S(Z) | = | 0 |
S(S(Z)) | = | π |
S(S(S(Z))) | = | −2i |
S(S(S(S(Z)))) | = | 58 |
⋮ |
とかでも構わない。
自然数の始まりが 0 であるべきか 1 であるべきかについては、ペアノの公理は何も語ってくれはしないのである。
前節では自然数の定義として「ペアノの公理」というのを導入したが、ペアノの公理が言っているのはあくまで
前節の 1. ~ 5. を満たす系が存在するならば、それを「自然数全体」として扱いましょう
というだけのことであって、抑〻 1. ~ 5. を満たす系が本当に存在するのかについては何も語ってはいない。
ペアノの公理を満たす系の存在を実際に与えてくれるのは、ZFC 公理系と呼ばれる以下の九つの公理である。[注1]
集合とは、以下の公理に拠って「存在する」と言えるものを指す。
- 外延性の公理
- 集合 x と y とが全く同じ要素から成るとき、両者は等しい集合である。
- 空集合の公理
- 要素を持たない集合が存在する。これを空集合と呼び、∅ と書く。
- 対の公理
- 集合 x と y に対し、これらのみを要素とする集合が存在する。これを {x, y} と書く。
特に集合 {x, x} のことを単に {x} とも書く。- 和集合の公理
- 集合 X に対し、その要素の要素全体から成る集合が存在する。これを X の和集合と呼び、∪X と書く。
特に集合 ∪{x, y} のことを x ∪ y とも書く。- 無限公理
- 以下の条件を共に満たす集合 N が存在する。
- 空集合 ∅ は N の要素である。
- 集合 N の各要素 x に対し、x ∪ {x} も N の要素である。
- 冪集合の公理(略)
- 置換公理(略)
- 正則性公理(略)
- 選択公理(略)
ZFC 公理系は、数学の世界に如何なる「集合」が存在するかを規定するものである。
逆に言えば、数学の世界で取り扱うべきあらゆる概念は、ZFC 公理系に拠って存在が認められる「集合」の形で表現してやれば、その時点でこの世界に「存在する」ということになる。
このように、公理によって規定された「集合」の枠組みの中で数学を展開しようというのが、公理的集合論の考え方である。
ZFC 公理系のうちの「無限公理」に着目しよう。
- 無限公理
- 以下の条件を共に満たす集合 N が存在する。
- 空集合 ∅ は N の要素である。
- 集合 N の各要素 x に対し、x ∪ {x} も N の要素である。
この公理に拠って、以下を満たす集合 N が「存在する」と言える。
こうして見ると、これは前節に記した以下の列によく似ている。
つまり、
Z = ∅ S(n) = n ∪ {n}
だと思うことで、ペアノの公理の自然数 Z, S(Z), S(S(Z)), S(S(S(Z))), S(S(S(S(Z)))), … は
Z | = | ∅ |
S(Z) | = | ∅ ∪ {∅} |
S(S(Z)) | = | (∅ ∪ {∅}) ∪ {∅ ∪ {∅}} |
S(S(S(Z))) | = | ((∅ ∪ {∅}) ∪ {∅ ∪ {∅}}) ∪ {(∅ ∪ {∅}) ∪ {∅ ∪ {∅}}} |
S(S(S(S(Z)))) | = | (((∅ ∪ {∅}) ∪ {∅ ∪ {∅}}) ∪ {(∅ ∪ {∅}) ∪ {∅ ∪ {∅}}}) ∪ {((∅ ∪ {∅}) ∪ {∅ ∪ {∅}}) ∪ {(∅ ∪ {∅}) ∪ {∅ ∪ {∅}}}} |
⋮ |
として集合の形で表現することができる。
このようにして構成した自然数をフォン・ノイマン自然数と呼ぶ。
無限公理は、これらの自然数 ∅, ∅ ∪ {∅}, (∅ ∪ {∅}) ∪ {∅ ∪ {∅}}, … を要素に持つ集合、すなわち「自然数全体」ℕ の存在を保証するものであった。[注2]
斯くしてペアノの公理を満たす系、すなわち自然数全体を公理的集合論(ZFC 公理系)の枠組みの中で構成することができた。
ここまでで自然数を構成することができたが、しかし「どれが 1 でどれが 2 でどれが 3 なのか」は未だ決まっていない。
とは言え、流石に
(((∅ ∪ {∅}) ∪ {∅ ∪ {∅}}) ∪ {(∅ ∪ {∅}) ∪ {∅ ∪ {∅}}}) ∪ {((∅ ∪ {∅}) ∪ {∅ ∪ {∅}}) ∪ {(∅ ∪ {∅}) ∪ {∅ ∪ {∅}}}}
といった形の侭では扱いづらいので、取り敢えず絵文字を用いて
🌕️ | := | ∅ |
🏭️ | := | ∅ ∪ {∅} |
🦆️ | := | (∅ ∪ {∅}) ∪ {∅ ∪ {∅}} |
👂️ | := | ((∅ ∪ {∅}) ∪ {∅ ∪ {∅}}) ∪ {(∅ ∪ {∅}) ∪ {∅ ∪ {∅}}} |
🏹️ | := | (((∅ ∪ {∅}) ∪ {∅ ∪ {∅}}) ∪ {(∅ ∪ {∅}) ∪ {∅ ∪ {∅}}}) ∪ {((∅ ∪ {∅}) ∪ {∅ ∪ {∅}}) ∪ {(∅ ∪ {∅}) ∪ {∅ ∪ {∅}}}} |
⋮ |
という仮の名前を付けてみる。
すると以下が成り立つ。
🌕️ | = | ∅ | = | {} | ||
🏭️ | = | 🌕️ ∪ {🌕️} | = | {} ∪ {🌕️} | = | {🌕️} |
🦆️ | = | 🏭️ ∪ {🏭️} | = | {🌕️} ∪ {🏭️} | = | {🌕️, 🏭️} |
👂️ | = | 🦆️ ∪ {🦆️} | = | {🌕️, 🏭️} ∪ {🦆️} | = | {🌕️, 🏭️, 🦆️} |
🏹️ | = | 👂️ ∪ {👂️} | = | {🌕️, 🏭️, 🦆️} ∪ {👂️} | = | {🌕️, 🏭️, 🦆️, 👂️} |
⋮ |
こうして見ると、以下がわかる。
そうであるならば、やはり自然数 🌕️, 🏭️, 🦆️, 👂️, 🏹️, … の値は
🌕️ | = | 0 |
🏭️ | = | 1 |
🦆️ | = | 2 |
👂️ | = | 3 |
🏹️ | = | 4 |
⋮ |
であるべきであろう。
このようにすれば
という綺麗な関係が成り立つ。
逆に、もし
🌕️ | = | 1 |
🏭️ | = | 2 |
🦆️ | = | 3 |
👂️ | = | 4 |
🏹️ | = | 5 |
⋮ |
のようにしてしまうと
となり、自然数 1 の要素数を(何らかの形で別個に 0 という値を定義してやらない限り)表現できなくなってしまう。
これはおかしい。
斯くして自然数 🌕️, 🏭️, 🦆️, 👂️, 🏹️, … の値は
🌕️ | = | 0 |
🏭️ | = | 1 |
🦆️ | = | 2 |
👂️ | = | 3 |
🏹️ | = | 4 |
⋮ |
とすべきである、すなわち自然数は 0 から始めるべきであるということがわかった。
本稿の主題である「0 は自然数である」という主張の根拠は前節までで述べた通りであるが、用心深い読者諸氏は
と思うかもしれない。
そこで、本節では駄目押しとして
「フォン・ノイマン自然数」の構成法は自然に拡張できて、有限の自然数に限らず(集合論で扱うような範囲で)どんな大きな値でも表現できる
という話を簡単に述べる。
自然数を 0 から始めることにしたので、前節で 🌕️, 🏭️, 🦆️, 👂️, 🏹️, … と表した自然数は
0 | = | {} |
1 | = | {0} |
2 | = | {0, 1} |
3 | = | {0, 1, 2} |
4 | = | {0, 1, 2, 3} |
⋮ |
という形で構成されていることになる。
つまり、各自然数 n について
n = {n 未満の全ての自然数}
という関係式が成り立っている。
これを拡張して
ω := {0, 1, 2, 3, …} (全ての自然数からなる; 集合としては ℕ に等しい)
という「数」を定義すると、これは「『自然数全体の個数』を表す数」であると捉えることができる。
ここから更に進めて
ω + 1 | := | {0, 1, 2, ...; ω} |
ω + 2 | := | {0, 1, 2, ...; ω, ω + 1} |
ω + 3 | := | {0, 1, 2, ...; ω, ω + 1, ω + 2} |
⋮ | ||
ω·2 | := | {0, 1, 2, ...; ω, ω + 1, ω + 2, ...} |
ω·2 + 1 | := | {0, 1, 2, ...; ω, ω + 1, ω + 2, ...; ω·2} |
ω·2 + 2 | := | {0, 1, 2, ...; ω, ω + 1, ω + 2, ...; ω·2, ω·2 + 1} |
ω·2 + 3 | := | {0, 1, 2, ...; ω, ω + 1, ω + 2, ...; ω·2, ω·2 + 1, ω·2 + 2} |
⋮ | ||
ω·3 | := | {0, 1, 2, ...; ω, ω + 1, ω + 2, ...; ω·2, ω·2 + 1, ω·2 + 2, ...} |
⋮ | ||
ω·4 | := | {0, 1, 2, ...; ω, ω + 1, ω + 2, ...; ω·2, ω·2 + 1, ω·2 + 2, ...; ω·3, ω·3 + 1, ω·3 + 2, ...} |
⋮ | ||
ω2 | := | {0, 1, 2, ...; ω, ...; ω·2, ...; ω·3, ...; ω·4, ...; ...} |
⋮ | ||
ω3 | := | {ω2·a + ω·b + c | a, b, c ∈ ℕ} |
⋮ | ||
ωω | := | {ω の多項式の形で表せるもの全て} |
⋮ | ||
ωωω | := | (略) |
⋮ | ||
ωω⋰ | := | (略) |
⋮ |
と無限に続けていくことで、際限無く大きな「数」を定義することができる。
このようにして定義される数を順序数と呼ぶ。[注3]
順序数を用いると、どんなに大きな集合であっても、その要素を「0 番目の要素、1 番目の要素、2 番目の要素、…、ω 番目の要素、ω + 1 番目の要素、…」と数え上げることができる。[注4]
つまり、どんなに大きな集合であっても、順序数を用いればその要素数を表現することができるということである。[注5]
もし、自然数の始まり(すなわち順序数の始まり)を 0 ではなく 1 としていたらどうなるだろうか?
この場合、順序数は「どんなに大きな個数でも表せるのに、唯一 0 だけは表すことができない」困った数体系になってしまう。
そう考えると、やはり当然自然数は 0 から始めるべきであるということになる。