ゼロを自然数に含めるべきか
ゼロを自然数とみなすべきかどうかはしばしば議論の的になります。ある人は自然数を「非負の整数」と定義します。この場合、すべての自然数からなる集合\(\mathbb{N} \)は、\begin{equation*}\mathbb{N}=\left\{ 0,1,2,3,\cdots \right\}
\end{equation*}となります。別の人は自然数を「正の整数」と定義します。この場合、すべての自然数からなる集合は、\begin{equation*}\mathbb{N}=\left\{ 1,2,3,\cdots \right\}
\end{equation*}となります。文献や専門分野、時代、国、個人によってどちらの定義を採用するかはまちまちであり、どちらの定義が正しいか決め手はありません。
もう少し主観的な根拠に答えを求める場合もあります。自然数とは「モノを数えるときに使う数」であるが、人間がモノを数える際に最初に使った数は\(1,2,3,\cdots \)などであり、\(0\)はそれらの数よりも後になってから発見された数であるから、ゼロは自然数に含めるべきではないという意見です。ただ、人類学によると、最初の段階から\(0\)を使っていた未開社会も存在するということですので、先のような意見の根拠もぐらついてしまいます。
結局のところ、自然数の定義としてどちらが正しいか決め手はありません。ゼロを自然数に含める流儀もあるし、含めない流儀もあります。重要なことは、議論を行う前に自分がどちらの定義を採用しているかを表明し、その定義を聞き手ないし読み手と共有しておくということです。ゼロを自然数に含めるかどうかは定義次第です。ただ、それで話を終えてしまっては面白みに欠けるため、以下では自然数の定義をいくつか紹介します。
後続集合を用いた自然数の定義
集合\(A\)が与えられたとき、その後続集合(successor set)と呼ばれる集合が、\begin{equation*}
A\cup \left\{ A\right\}
\end{equation*}と定義されます。つまり、集合\(A\)の後続集合とは、\(A\)自身と、\(A\)を唯一の要素として持つ集合族\(\left\{ A\right\} \)の和集合として定義されます。集合\(A\)の後続集合を\(S\left( A\right) \)と表記するものと定めます。つまり、\begin{equation*}
S\left( A\right) =A\cup \left\{ A\right\}
\end{equation*}を満たすものとして\(S\)を定義することです。
\phi =\left\{ {}\right\}
\end{equation*}です。空集合もまた集合であるため、その後続集合をとることができます。具体的には、\begin{eqnarray*}
S\left( \phi \right) &=&\phi \cup \left\{ \phi \right\} \quad \because S\text{の定義} \\
&=&\left\{ \phi \right\}
\end{eqnarray*}すなわち、\begin{equation*}
S\left( \phi \right) =\left\{ \phi \right\}
\end{equation*}となります。これもまた集合であるため(1つの集合\(\phi \)を要素として持つ集合族)、その後続集合をとることができます。具体的には、\begin{eqnarray*}
S\left( \left\{ \phi \right\} \right) &=&\left\{ \phi \right\} \cup \left\{
\left\{ \phi \right\} \right\} \quad \because S\text{の定義} \\
&=&\left\{ \phi ,\left\{ \phi \right\} \right\}
\end{eqnarray*}となります。これもまた集合であるため(2つの集合\(\phi ,\left\{ \phi \right\} \)を要素として持つ集合族)、その後続集合をとることができます。具体的には、\begin{eqnarray*}
S\left( \phi ,\left\{ \phi \right\} \right) &=&\left\{ \phi ,\left\{ \phi
\right\} \right\} \cup \left\{ \left\{ \phi ,\left\{ \phi \right\} \right\}
\right\} \quad \because S\text{の定義} \\
&=&\left\{ \phi ,\left\{ \phi \right\} ,\left\{ \phi ,\left\{ \phi \right\}
\right\} \right\}
\end{eqnarray*}となります。これもまた集合であるため、(3つの集合\(\phi ,\left\{ \phi \right\} ,\left\{ \phi ,\left\{ \phi \right\} \right\} \)を要素として持つ集合族)、その後続集合をとることができます。こうしたプロセスを無限回繰り返すことができます。
上の例から明らかになったように、空集合\(\phi \)を出発点として後続集合を次々にとっていくと、
$$\begin{array}{l}
\phi \\
\left\{ \phi \right\} \\
\left\{ \phi ,\left\{ \phi \right\} \right\} \\
\left\{ \phi ,\left\{ \phi \right\} ,\left\{ \phi ,\left\{ \phi \right\} \right\} \right\} \\
\vdots
\end{array}$$
という集合の列が得られます。そこで、この列を構成する個々の集合を自然数と呼び、すべての自然数からなる集合を\(\mathbb{N} \)で表記します。つまり、\begin{equation*}\mathbb{N}=\left\{ \phi ,\left\{ \phi \right\} ,\left\{ \phi ,\left\{ \phi \right\}
\right\} ,\left\{ \phi ,\left\{ \phi \right\} ,\left\{ \phi ,\left\{ \phi
\right\} \right\} \right\} ,\cdots \right\}
\end{equation*}と定義するということです。
集合を用いて自然数の概念を定義することに成功しました。ただ、個々の自然数を上のような集合としていちいち表記していては面倒ですので、それぞれの自然数に対して簡略的な名前をつけましょう。例えば、それぞれの自然数に対して以下のような名称を与えます。
$$\begin{array}{l}
0=\phi \\
1=\left\{ \phi \right\} \\
2=\left\{ \phi ,\left\{ \phi \right\} \right\} \\
3=\left\{ \phi ,\left\{ \phi \right\} ,\left\{ \phi ,\left\{ \phi \right\} \right\} \right\} \\
\vdots
\end{array}$$
つまり、最初の自然数\(\phi \)を\(0\)と呼び、その次の自然数\(\left\{ \phi \right\} \)を\(1\)と呼び、さらにその次の自然数\(\left\{ \phi ,\left\{ \phi \right\} \right\} \)を\(2\)と呼ぶ、ということです。以降についても同様です。このとき、すべての自然数からなる集合を、\begin{equation*}\mathbb{N}=\left\{ 0,1,2,3,\cdots \right\}
\end{equation*}と言い換えることができます。このようなルールのもとでは、それぞれの自然数に割り当てられた名称(数字)は、その自然数の順番を表しているとともに、その自然数に含まれる集合の個数も同時に表すことに成功しています。つまり、自然数\(\phi \)を\(0\)と呼ぶことは、\(\phi \)が最初の自然数であるとともに、その自然数\(\phi \)に含まれる集合の個数が\(0\)であることも同時に意味しています。また、自然数\(\left\{ \phi \right\} \)を\(1\)と呼ぶことは、\(\left\{ \phi \right\} \)が最初の自然数である\(\phi \)の次の自然数であるとともに、その自然数\(\left\{ \phi \right\} \)に含まれる集合の個数が\(1\)であることも同時に意味しています。以降についても同様です。つまり、数\(0,1,2,3,\cdots \)に対して人間がすでに持っている常識を前提とした場合、集合論的に定義された自然数に対して\(0,1,2,3,\cdots \)と名称をつければ(自然数を\(0\)から始めれば)、それぞれの自然数の序数(その自然数が何番目か)と、その自然数の基数(その自然数がどれくらい大きいのか)を一致させることができます。
では、自然数を\(0\)から始めるのではなく、\(1\)から始めた場合にはどうなるでしょうか。つまり、それぞれの自然数に対して以下のような名称
$$\begin{array}{l}
1=\phi \\
2=\left\{ \phi \right\} \\
3=\left\{ \phi ,\left\{ \phi \right\} \right\} \\
4=\left\{ \phi ,\left\{ \phi \right\} ,\left\{ \phi ,\left\{ \phi \right\} \right\} \right\} \\
\vdots
\end{array}$$
を与えた場合、何らかの問題は発生するのでしょうか。このようなルールのもとでは、それぞれの自然数に割り当てられた名称(数字)は、その自然数の順番を表すことに成功している一方、その自然数に含まれる集合の個数を上手く表現できていません。つまり、自然数\(\phi \)を\(1\)と呼ぶことにより、\(\phi \)が最初の自然数であることを表現できている一方、その集合\(\phi \)に含まれる要素の個数は\(1\)ではないため(実際には\(0\)個)、この名称\(1\)は自然数\(\phi \)に含まれる要素の個数を表現できていません。また、自然数\(\left\{ \phi \right\} \)を\(2\)と呼ぶことにより、\(\left\{ \phi \right\} \)が最初の自然数である\(\phi \)の次の自然数であることを表現できている一方、その集合\(\left\{ \phi \right\} \)に含まれる要素の個数は\(2\)ではないため(実際には\(1\)個)、この名称\(2\)は自然数\(\left\{ \phi \right\} \)に含まれる要素の個数を表現できていません。以降についても同様です。つまり、集合論的に定義された自然数に対して\(1,2,3,\cdots \)と名称をつけた場合、それぞれの自然数の序数(その自然数が何番目か)と、その自然数の基数(その自然数がどれくらい大きいのか)が一致しなくなってしまいます。
帰納的集合を用いた自然数の定義
すべての実数からなる集合\(\mathbb{R}\)が与えられているものとします。ただし、この\(\mathbb{R}\)は実数の公理と呼ばれる公理系を満たす集合です。\(\mathbb{R}\)の部分集合\(A\)に対して、\begin{equation*}
1\in A
\end{equation*}が成り立つとともに、任意の実数\(x\in \mathbb{R} \)について、\begin{equation*}
x\in A\Rightarrow x+1\in A
\end{equation*}が成り立つ場合には\(A\)を帰納的集合(inductive set)と呼びます。
&&\left( a\right) \ 1\in \mathbb{R} \\
&&\left( b\right) \ \forall x\in \mathbb{R} :\left( x\in \mathbb{R} \Rightarrow x+1\in \mathbb{R} \right)
\end{eqnarray*}がともに明らかに成り立つからです。
&&\left( a\right) \ 1\in \mathbb{R} _{+} \\
&&\left( b\right) \ \forall x\in \mathbb{R} :\left( x\in \mathbb{R} _{+}\Rightarrow x+1\in \mathbb{R} _{+}\right)
\end{eqnarray*}がともに明らかに成り立つからです。すべての正の整数からなる集合\(\mathbb{R}_{++}=\left\{ 1,2,3,\cdots \right\} \)もまた帰納的集合です。実際、\(\mathbb{R}_{++}\)は\(\mathbb{R}\)の部分集合であるとともに、\begin{eqnarray*}
&&\left( a\right) \ 1\in \mathbb{R} _{++} \\
&&\left( b\right) \ \forall x\in \mathbb{R} :\left( x\in \mathbb{R} _{++}\Rightarrow x+1\in \mathbb{R} _{++}\right)
\end{eqnarray*}がともに明らかに成り立つからです。
1\not\in E
\end{equation*}が成り立つからです。すべての奇数からなる集合\(O=\left\{ \cdots ,-1,1,\cdots \right\} \)もまた帰納的集合ではありません。実際、例えば、実数\(1\in \mathbb{R} \)に対して、\begin{equation*}
1\in O\wedge 1+1\not\in O
\end{equation*}が成り立つからです。
以上を踏まえた上で、すべての自然数からなる集合\(\mathbb{N} \)とは、すべての帰納的集合の共通部分として定義されます。つまり、すべての帰納的集合を要素として持つ集合族を\(\left\{ A_{\lambda }\right\} _{\lambda \in \Lambda }\)で表記するとき、\begin{equation*}\mathbb{N}=\bigcap\limits_{\lambda \in \Lambda }A_{\lambda }
\end{equation*}として\(\mathbb{N} \)は定義されるということです。上のように定義される集合\(\mathbb{N} \)の要素を自然数と呼びます。定義より、実数\(x\in \mathbb{R} \)を任意に選んだとき、\(x\)が自然数であることと、\(x\)がすべての帰納的集合の要素であることは必要十分です。
帰納的集合の定義より、任意の帰納的集合は\(1\)を要素として持ちます。以上の事実と\(\mathbb{N} \)の定義を踏まえると、\(1\)は\(\mathbb{N} \)の要素です。つまり、\(1\)は自然数であるということです。一方、\(0\)は自然数ではありません。実際、すべての正の実数からなる集合\(\mathbb{R}_{++}\)は帰納的集合ですが、これは\(0\)を要素として持たないからです。したがって、帰納的集合を用いて自然数を以上のように定義する場合、\(0\)は自然数とみなされないということになります。とは言え、以上の結論は帰納的集合をどのように定義するかに依存して変化します。\(\mathbb{R}\)の部分集合\(A\)の中でも、\begin{eqnarray*}
&&\left( a\right) \ 0\in \mathbb{R} \\
&&\left( b\right) \ \forall x\in \mathbb{R} :\left( x\in A\Rightarrow x+1\in A\right)
\end{eqnarray*}を満たすものとして帰納的集合と定義するのであれば、先と同様の議論の議論をなぞることにより、\(0\)は自然数とみなされることになります。結局、\(0\)を自然数とみなすかどうかは定義次第であるということです。
\(0\)を自然数に含めるべきかどうかという点に関しては以上で議論を終えても終えても良いのですが、関連して、帰納的集合について少し補足します。繰り返しになりますが、帰納的集合とは、\begin{eqnarray*}
&&\left( a\right) \ 1\in \mathbb{R} \\
&&\left( b\right) \ \forall x\in \mathbb{R} :\left( x\in A\Rightarrow x+1\in A\right)
\end{eqnarray*}をともに満たす\(\mathbb{R}\)の部分集合\(A\)として定義されます。すべての帰納的集合の共通部分として\(\mathbb{N} \)を定義した上で、さらに、その部分集合\(A\subset \mathbb{N}\)を任意に選びます。ただし、これは以下の2つの性質\begin{eqnarray*}
&&\left( a\right) \ 1\in A \\
&&\left( b\right) \ \forall k\in \mathbb{N}:\left( k\in A\Rightarrow k+1\in A\right)
\end{eqnarray*}をともに満たすものとします。\(\mathbb{N} \subset \mathbb{R} \)であることを踏まえると、上の2つの条件が成り立つことは\(A\)が帰納的集合であることを意味します。\(\mathbb{N} \)はすべての帰納的集合の共通部分であるため、\(\mathbb{N} \)は任意の帰納的集合の部分集合であり、したがって\(\mathbb{N} \subset A\)が成り立ちます。一方、仮定より\(A\subset \mathbb{N}\)であるため、結局、\begin{equation*}
A=\mathbb{N} \end{equation*}であることが示されました。これを数学的帰納法の原理(the principle of mathematical induction)と呼びます。
&&\left( a\right) \ 1\in A \\
&&\left( b\right) \ \forall k\in \mathbb{N}: \left( k\in A\Rightarrow k+1\in A \right)
\end{eqnarray*}をともに満たす場合には、\begin{equation*}
A=\mathbb{N} \end{equation*}が成り立つ。
上の命題は数学的帰納法による証明(proof by mathematical induction)の根拠になります。数学的帰納法とは、自然数\(n\)に関する主張\begin{equation*}
P\left( n\right)
\end{equation*}が任意の自然数\(n\in \mathbb{N}\)に関して成り立つことを示すための手法であり、具体的には、まず、\(n=1\)の場合の主張\begin{equation}
P\left( 1\right) \quad\cdots (1)
\end{equation}が真であることを示した上で、さらに自然数\(k\in \mathbb{N}\)を任意に選んだ上で、\begin{equation}
P\left( k\right) \Rightarrow P\left( k+1\right) \quad\cdots (2)
\end{equation}が成り立つことを示すというものです。\(\left( 1\right) \)と\(\left( 2\right) \)がともに真であることを証明できたとしましょう。これは、先の命題中の集合\(A\)に相当する集合の任意の要素\(k\in A\)について\(P\left( k\right) \)が成り立つことが示されたということです。ただ、先の命題より\(A=\mathbb{N} \)という関係が成り立つため、以上の証明により、\(P\left( k\right) \)が任意の自然数\(k\in \mathbb{N}\)について成り立つことを示したことになります。
1+2+\cdots +2^{n-1}=2^{n}-1
\end{equation*}が成り立つことを証明します。ただし、\(\mathbb{N} =\left\{ 1,2,\cdots \right\} \)です。\(n=1\)の場合、与えられた主張は、\begin{equation*}
2^{1-1}=2^{1}-1
\end{equation*}すなわち、\begin{equation*}
1=1
\end{equation*}となりますが、これは明らかに成り立ちます。自然数\(k\in \mathbb{R} \)を任意に選んだ上で、\(k\)について主張が成り立つものと仮定します。つまり、\begin{equation}
1+2+\cdots +2^{k-1}=2^{k}-1 \quad\cdots (1)
\end{equation}が成り立つことを仮定するということです。このとき、\begin{eqnarray*}
1+2+\cdots +2^{k} &=&\left( 1+2+\cdots +2^{k-1}\right) +2^{k} \\
&=&\left( 2^{k}-1\right) +2^{k}\quad \because \left( 1\right) \\
&=&2\cdot 2^{k}-1 \\
&=&2^{k+1}-1
\end{eqnarray*}となるため、\(k+1\)についても主張が成り立つことが明らかになりました。したがって、数学的帰納法により、任意の自然数\(n\)について主張が成り立つことが示されました。