Sokratesさんの備忘録ないし雑記帳

書きたいことを書いている.駄文注意.

【数学】自然数に整数0が含まれることのある3つの理由

 最近ゴジラの話ばかり書いてて, このブログの目的を見失いつつあります.

 是非もないよね!(C.V.釘宮) 

 

 今回のテーマはこちらの記事から.  

【中学数学】自然数に整数0が含まれないたった1つの理由 | マイ勉 : ¥0で使える中学生の無料学習サイト  http://benkyo.me/%E8%87%AA%E7%84%B6%E6%95%B00/

 

 えー......

 なんだか残念な記事ですね......

 端的に言ってしまえば, 「自然数とは指を折って数えられる数である」と主張したいようなのですが, そうすると\(2^{10^{1000}}\)とかは全人類を集めても数え上げられないので自然数じゃないんですかね......

 もっというと, 手が折られていない状態は\(0\)じゃないのかなぁ......

 

 揚げ足取りはともかく, 数学の世界には「自然数に\(0\)を含まない派」と「自然数に\(0\)を含む派」の2通りの流儀が存在します. 日本の初等教育においては「自然数に\(0\)を含まない」とする定義しか教えないので, 上のような勘違いした記事が出てくるのでしょう. 

 

 そこで今回は「自然数に\(0\)を含むことがある」ことについて述べようと思います. わかりやすさとかあまり考えずに突っ走りますが, お付き合い願えると幸いです(書いているうちに楽しくなってきたのが悪い. ). 

 

 「自然数に\(0\)を含む」理由は以下のようなものが挙げられると思います. 

1. 「数」という概念自体歴史的にどんどん変わっていくものであったこと. つまり, \(0\)から始まろうが\(1\)から始まろうが数学的にはどうでもよいということ. 

2. 集合論との兼ね合い. つまり自然数論を集合論の上で展開するには\(0\)から始めた方が「自然」であること. 

3. 応用面でも\(0\)を含めておいた方が良いことがあること. 

 一つずつ見ていきましょう. 

1の理由. 

 そもそもギリシャ時代には\(1\)は数ではありませんでした. 現在の\(2\) 以上の整数が彼らにとっての「数」でした. これは\(1\)はunit(単位)であり, 「unitの集まり」としての「数」とは別物と捉えられていたからです. 

 実は現在の「連続量*1」としての「数」がヨーロッパにおいて認識され始めたのは16世紀以降です. これより以前は「数」は離散的と捉えられていたようです. 

 さらに19世紀の数学の厳密化集合論化の中で「自然数」という概念がようやく数学的に定義されることになります. 

 最終的に自然数を「いい感じに」定義したのはPeanoです. その際のPeano自身の定義では自然数を$1$から始まるものとして定義していました(後述). これが19世紀後半の話です. 意外とキチンとした「自然数」になったのは新しいんですねぇ*2

 それでは\(0\)から始まる自然数はいつ誰が定義したのか?

 これはBourbaki『数学原論』(1939)が最初のようです. なぜそのような定義を作ったかは2の理由の時に説明することにします. 

 

 こんな感じで我々が思っているよりも「数」という概念が今の形になるのは, 数千年単位の時間がかかっています. 数学の歴史は古い概念を新しい概念が乗り越えていくことで発展してきました. 当然, 中には元々のモチベーションや目的からどんどんずれていく概念, 分野はたくさんあります. 「自然数」だけが例外なはずがありません. いつまでも「1から始まる自然数」に固執するのは, なんらかの合理的な理由がないかぎり――実際, 整数論などの分野では自明な例外に\(0\)がなることが多いので取り除いておくことが多い――バカげたことのように思います*3

 ともあれ, 歴史的な側面からも「自然数に\(0\)を含むことは不自然ではない」のです. 

 

 それでは, 自然数に\(0\)を含む合理的に良いという側面について説明しましょう. 

2の理由. 

 先ほど, 自然数を「いい感じ」に定義したのがPeanoだと書きましたが, 彼のした定義は以下のようなものです(若干現代風に書き直してあります)  . 

【定義】自然数

 自然数全体の集合\(\mathbb{N}\)とは次の条件i)を満たし,またii), iii) を満たす自分自身への単射写像\(\mathop{\mathrm{suc}}\nolimits:\mathbb{N} \to \mathbb{N}\)を持つ集合のことである*4
i) \(0\in \mathbb{N}\).  
ii) \(0\notin \mathop{\mathrm{suc}}\nolimits\left(\mathbb{N}\right)\). 
iii) 任意の\(X\subset \mathbb{N}\)について, \(0\in X\)かつ\(\mathop{\mathrm{suc}}\nolimits\left(X\right)\subset X\)であれば, \(X=\mathbb{N}\). 

 気が付いた人もいるかもしれませんが, この定義の自然数では\(0\)が含まれています. この\(0\)を\(1\)に置き換えたのが, オリジナルのPeanoの公理により近いものになります. 

 この定義のうち, わかりづらいのはiii)の定義でしょう. この部分は次のようにも書き換えられます. 

 iii)' \(\mathbb{N}\)の元\(n\)についての命題\(P\left(n\right)\)について, \(P\left(0\right)\)が成立し, また任意の\(k\in\mathbb{N}\)について\(P\left(k\right)\Rightarrow P\left(\mathop{\mathrm{suc}}\nolimits\left(k\right)\right)\)が成立するならば, 任意の\(n\in\mathbb{N}\)について\(P\left(n\right)\)が成立する.

 いわゆる数学的帰納法ですね( iii)の集合\(X\)を定義している命題が\(P\left(n\right)\)だと思えば, 話は分かりやすいかと思います). この形の数学的帰納法が扱えるのが自然数の根本的性質なのです*5

 

 こういった対象は同型を除いて一意に定まる[要証明]ので, 数学的に自然数がキチンと定義できたことになります(2016/9/12に解説を追加. 下の方を参照). 

 

 さて, 気になるのはこういった対象がホントに存在するのかどうかですが, 実は空集合を用いて次のように「構成」することができます. 

\begin{align*}0&:=\emptyset \\1&:=0\cup\left\{0\right\}=\left\{0\right\} \\2&:=1\cup\left\{1\right\}=\left\{0, 1\right\} \\3&:=2\cup\left\{2\right\}=\left\{0, 1, 2\right\} \\&\vdots\\&\vdots\\ \mathop{\mathrm{suc}}\nolimits\left(n\right)&:=\left(n-1\right)\cup\left\{n\right\}=\left\{0, 1, 2, \dots, n\right\}\\&\vdots \\&\vdots\end{align*}

 このように構成された対象はPeanoの公理を満たします[要証明]. 

 さて, 上の構成方法の始点を\(0:=\emptyset\)にしました. そのように定義すれば自然数と対応する集合の元の個数が同じになっていることがわかります.  集合を考えるうえで, \(\emptyset\)が必須であり, 始点にすることに自然さを感じることを鑑みるとやはり, \(0\)を自然数としてとらえた方が自然です.  なにより, 有限な集合の元の数え上げにおいて\(\emptyset\)だけ自然数で数えられないことに違和感を感じるのは私だけではないはずです. 

 

 ともかく, 現代の数学の主要な言語たる「集合」を考える上では\(0\)を自然数から外すことに違和感があるというのが, この節で述べたかったことであります. 

3の理由. 

 自然数に\(0\)を含めることの応用面での良さについてですが,  これはホントに簡単に. 

 

 計算論において, 帰納的関数を考えるとき, \(0\)を自然数に含めた方が便利であることが少し勉強するとわかります. このあたりはもっと詳細に述べるべきであろうと思いますが疲れてきたのでまた今度...... 

 

まとめ 

 えー, テンションが上がって必要以上に詳しく書いてしまった感がありますが, 「現代的には\(0\)は自然数なんだ」という気持ちは伝わったでしょうか? かなり雑に書いた部分もあるので, この記事は今後, 暇なときに更新をしていこうかと思います. 

 

 もしも, 何かしら誤りがあった場合, コメント欄にてお教え願えると幸いです.  

 

 

 

 もう, 「\(0\)は自然数」と言うの面倒になってきたので, 「非負整数」って言えばよい気がする......

 

参考文献

[1]三浦伸夫, 『数学の歴史』, 放送大学教育振興会

数学の歴史 (放送大学教材)

数学の歴史 (放送大学教材)

 

 16世紀以前の数学の歴史についてはこの本を参考にしました. 「放送大学の教材」だからと侮るなかれ, イギリスのアマチュア数学者(Philomath)について詳しく記述してある日本の本はこの本ぐらいではないでしょうか? 

 他の数学史についての本であればカッツ 数学の歴史とかOxford 数学史とか復刻版 カジョリ 初等数学史とか佐々木力氏の数学史とかブルバキ数学史〈上〉 (ちくま学芸文庫)が有名だと思います.  

[2]H.D.エビングハウス他, 『数』, 丸善出版

数 上 (シュプリンガー数学リーディングス)

数 上 (シュプリンガー数学リーディングス)

 

 16世紀以降の「自然数」についての歴史と自然数の公理的扱いについてはこの本を参考にしました. 「自然数」「実数」などの公理的扱いや構成法について詳しい本です. 

 下巻"数 下 (シュプリンガー数学リーディングス)"もありますが今回はそちらは参照しませんでした. 

[番外] 清史弘, 『受験数学の理論1 数と式』, 駿台文庫

駿台受験シリーズ 分野別 受験数学の理論1 数と式

駿台受験シリーズ 分野別 受験数学の理論1 数と式

 

 私が「自然数に0を含むことがある」ということを初めて知ったのはこの本が最初だと思います. 高校時代このシリーズをやたらと気に入って全巻そろえたのは良い思い出です. 今回は参照はしていませんがついでに.

 ただ, Peanoの公理についての記述周辺に語弊のある説明があったような記憶があるので, 注意をしてください.  

 

追記(2016/9/12)

 どうも, 同型を除いて一意に定まるという概念がわかりづらいようなので, 少しだけ解説します. ここで言う「同型を除いて一意に定まる」というのは, 「名前の付け方によらず, (今回の場合は「自然数の」)構造が一つに決まる」というのが「気持ち」です. この「気持ち」をもう少しフォーマルな形にすると次のようになります. 

定理

 集合とその上の単射関数, およびその上の元の組である\(\left(\mathbb{N}, \mathop{\mathrm{suc}}\nolimits, 0\right)\)と\(\left(\mathbb{N}', \mathop{\mathrm{suc'}}\nolimits, 0'\right)\)が両者ともにPeanoの公理を満たすとき, 次の性質を満たす全単射関数\(M:\mathbb{N}\to\mathbb{N}'\)が存在する. 

i) \(M\left(0\right)=0'\). 

ii) \(M\left(\mathop{\mathrm{suc}}\nolimits\left(n\right)\right)=\mathop{\mathrm{suc'}}\nolimits\left(M\left(n\right)\right)\).

 これが成り立つことの証明は後日もう少し時間があるときに追加したいと思います. 

 

 そうすると, \[0, 1, 2, 3, \cdots\]も\[0, 1, 10, 11, \cdots\]も\[a, b, c, \cdots , aa, ab, \cdots\]みたいな文字列もすべて(\(\mathop{\mathrm{suc}}\nolimits\)をしっかり定めることができれば)数学的には自然数です. 

 

 現代的な数学では「数学的構造」が同じものは同一視するので, 名前がどうなっていようと構わないのです. 

*1:義務教育をしっかり受けた人々には, 数直線に隙間がないというイメージがあるはずです.

*2:当然ですがnaiveな取り扱いはもっと以前よりなされていました. たまに勘違いをしている人がいますが, 現在数学の主流な「言語」たる集合論が成立したのは19世紀のことです. それ以前は「公理」などはあまり重視されずもっと素朴に数学をやっていたようです. 「公理」が現代のように最重要視されるようになったのは, Hilbertなどの登場以降のように思います.

*3:余談ですが, 「函数」という概念も古い概念だよねという話を大学時代の指導教官とした覚えがあります. 入れたものを別のものに変えて吐き出すブラックボックスとしてのイメージの「函数」と集合の元同士の関係としての「関数」とを比べると, Functionの捉え方は現代的には後者にするべきでしょう. 書いてて思ったのですが, 計算可能関数は「プログラム」という「函」にいれたものが変化して返り値を返すと思うと「函数」ですね.

*4:厳密にいうと, \(\left(\mathbb{N}, \mathop{\mathrm{suc}}\nolimits, 0\right)\)の組として定義されるべきものです. それぞれ, \(\mathbb{N}\)は全体の集合, \(\mathop{\mathrm{suc}}\nolimits\)は次の数字を指定する関数, \(0\)は自然数の始点といった気持ちがあります.

*5: 詳しく知りたい人へ. 高校数学においては数学的帰納法の形として「任意の\(k\in\mathbb{N}\)について\(P\left(k\right)\Rightarrow P\left(\mathop{\mathrm{suc}}\nolimits\left(k\right)\right)\)」の部分を「任意の\(k\in\mathbb{N}, l\leqq k\)について\(P\left(l\right)\Rightarrow P\left(k\right)\)」に置き換えた形の数学的帰納法を紹介されることがありますが, このうち後者の「数学的帰納法」は「整列集合」一般に適用されるものです(整列集合についてはそのうちこのブログに書きそう). 本文中のタイプの数学的帰納法こそが「自然数」を「自然数」足らしめる根本的な性質なのです.