2011-05-10 [長年日記]
■1+1=2を証明する
昨日の話の追補。
そして、
1+1=2であると論理的に証明してください。
そう定義しているからというのは証明ではありません。
http://q.hatena.ne.jp/1304867846
のお話。
ここに「2 + 2 = 4 の計算を公理まで溯ったら?」という trivia が書いてある。
ちょうどこの部分に「なんで 1 + 1 = 2 を例にしないのかといえば、これは本質的には 2 の定義であるから、したがってtrivialな証明になる」としっかり書かれている。
「定義だから」で終わりにしていいわけではないことが分かる。「定義と本質的に同じなので簡単な証明で終わる」となっているのだ。
ここ↓
が、1 + 1 = 2 の証明。
どうやら、定義以外に可換則*1が必要になるということのようだ。
1 の 定義、= の 定義、整数の + の定義、2 の 定義、可換則の定理と連なっていることがここから読める。
細かく見ていくと、「A を B と定義する」という意味での記号=と、「A と B は等しい」という意味での記号=とは違うものらしいことが見てとれる。
この2つに同じ記号を使っていい理由─私たちが普段気にしなくてもいい理由は、つまり、「A を B と定義したらA=Bが成立する、が証明可能だから」なのだろうか? (追記2011/05/16:違うなぁ。定義の記号と等号に同じ記号を使うけど。厳密には違う記号だよ、という程度の話に思えてきた。)
私では断言はできないが、2 を 1 + 1 と定義したから 1 + 1 = 2 を証明したことにはならない、らしい。
さすがに厳密である。
もっとも、私がなんとか「読める」のは説明文の方であって、証明にあたる公理への道筋はとても追えないのだが。
その他にも、プリンキア・マティマティカに書いてある「1 + 1 = 2 の証明」を、モダンに書き直したものも書いてある。
空集合(0)を定義*2。空集合の後続数として1を定義。1の後続数として2を定義。後はちゃんと追えないのだけど、1 + 1 を集合バージョンで記して、それが 2 と同じ集合になる、と書いているようである。
後者に関しては、2の定義と1+1=2は別物で、証明になっている。
前者の関しても、確かに2の定義は1+1ではあるけれど、「2の定義が1+1である」ことと、「1+1=2 という数式が成立する」こと*3」は、厳密にみればやっぱり違うんだな、ということが分かった。
(追記)
ここに書いてあることはほぼ嘘で、実際には(複素数での1+1)が(複素数での2)の定義だとして進行してます。
自然数での1+1=2の証明は大ざっぱに以下の通り。
自然数と呼べる集合は、どのような性質を持っていないといけないか、を考察して形にします(公理と呼びます)。
加算を定義します。
1を定義します。
2を定義します。
1+1 の結果と 2 が同じことを確認します。
と進みます。
《自然数の公理》
・0 という自然数が存在する。 0∈N
・任意の自然数 a には、後続数 a' が存在する。 ∀a∈N[a'∈N]
・後続数が同じなら、元の数は同じ。 ∀a∈N ∀b∈N [a'=b' ⇒ a=b]
・a' = 0 となる a は存在しない。 ∀a∈N[a'≠0]
・もう一つ、数学的帰納法に関する公理がありますが省略。
《加算の定義》
加算を
a + 0 = a
a + b' = (a + b)'
で定義します。
《1と2の定義》
1=0'
2=1'=0''
として定義します。
あとは確認。
1+1
=1+0' ←1の定義から
=(1+0)' ←加算の定義の2番目
=1' ←加算の定義の1番目
で、1+1の結果が2の定義と同じになることが確認できました。
これだと簡単すぎて加算のエッセンスが分からないのでもすこし。
2+2
=2+1' ←2の定義から
=(2+1)' ←加算の定義の2番目
=(2+0')' ←1の定義から
=((2+0)')' ←加算の定義の2番目
=(2')' ←加算の定義の1番目
=3' ←3の定義から
=4 ←4の定義から