2004年11月2日火曜日

1+1=2 の証明

たまに質問サイトに投稿される質問である.
これは
「1 を足すことは 1 の次の数 2 を求めることだから成り立つ」
さらには
「1+1=2と決めた」
で十分なのだが,「証明を知りたい」という素人には,次のような「数学的記述」をして煙に巻く.
やっていることは「1に1を足したら 1の次の数 2 に等しい」というだけ.


証明するには前提となる公理系が要請されていなければならない.
1+1=2 は自然数の範囲で示せばいいと思うので,ここではペアノの公理系を採用する.
公理1 自然数 0 (先頭元)が存在する.
公理2 任意の自然数 a にはその後者 (successor)、suc(a) が存在する.
公理3 0 はいかなる自然数の後者でもない(0 より前の自然数は存在しない).
公理4 異なる自然数は異なる後者を持つ:a ≠ b のとき suc(a) ≠ suc(b) となる.
公理5 0 がある性質を満たし,a がある性質を満たせばその後者 suc(a) もその性質を満たすとき,すべての自然数はその性質を満たす.(数学的帰納法)




定義 suc(0)=1, suc(1)=suc(suc(0))=2, suc(2)=suc(suc(suc(0)))=3 などと略記する.


定義 f(1)=suc(a),f(suc(x))=suc(f(x)) を満たす関数 f を定義する.
この関数は,これから示すが自然数の和の法則を満たし,f(b) は a に b を加えた和 a+b を表すことがわかるので,f(b)=a+b と略記できる.


定理1 f(0)=a (つまり f(0) の略記 a+0 に対して,a+0=a となるから 0 は和の右単位元である.)
証明 f(suc(x))=suc(f(x)) で x=0 を代入して f(suc(0))=suc(f(0)),suc(0)=1で左辺を置き換えて,f(1)=suc(f(0)).
f(1)=suc(a) で左辺を置き換えると,suc(a)=suc(f(0)).
公理4の対偶をとって,a=f(0) がいえる.


定理2 g(1)=suc(0),g(suc(x))=suc(g(x)) を満たす関数 g を定義すると,g(a)=a.
(つまり g(a) の略記 0+a に対して,0+a=a となるから 0 は和の左単位元である.)
証明 a に関する数学的帰納法.
g(suc(x))=suc(g(x)) で x=0 を代入すると g(suc(0))=suc(g(0)),g(1)=suc(g(0)),suc(0)=suc(g(0)),公理4の対偶で 0=g(0)である.
x=a のとき,g(a)=a とすると,g(suc(x))=suc(g(x)) で x=a とすると,g(suc(a))=suc(g(a))=suc(a) より x=suc(a) でも成り立つ.
ゆえにすべての自然数 a で g(a)=a といえる.


定理3 0 は和の単位元である.(つまり a+0=0+a=a)
証明 定理1,2 より明らか.


定理4 f(1)=suc(a),f(suc(x))=suc(f(x)) を満たす関数 f と,g(1)=suc(b),g(suc(x))=suc(g(x)) を満たす関数 g を定義すると,f(b)=g(a).(つまり f(b)=a+b,g(a)=b+a に対して和の交換律 a+b=b+a が成り立つ.)
証明 a, b に関する数学的帰納法.
a=0 について,定理1,2 より成り立つ.
a で成り立つと仮定する.
 b=0 なら定理 1,2 より成り立つ.
 f(b)=g(a) と仮定.f(suc(b))=suc(f(b))=suc(g(a))=f(suc(a)) より f(suc(b))=f(suc(a)) でも成り立つ.
よって,すべての a, b について成り立つ.
よって,交換律が成り立つ.
よって,f(1)=suc(a),f(suc(x))=suc(f(x)) を満たす関数 f は自然数の和の性質を満たしている.
具体的に f がどんな関数か書いてみる.たとえば a=5 なら,
f(1)=suc(5)=6,f(suc(x))=suc(f(x)) を満たす関数 f は
f(2)=f(suc(1))=suc(f(1))=suc(6)=7,これが 5+2=7 を表す.
f(3)=f(suc(2))=suc(f(2))=suc(7)=8,これが 5+3=8 を表す.


定理5 1+1=2 である.
証明 f(1)=suc(1), f(suc(x))=suc(f(x)) を満たす関数 f について,
f(1)=suc(1)=suc(suc(0)).つまりf(1)=suc(suc(0)).
f(1) は 1+1 の略記であり,suc(suc(0)) は 2 の略記であるから,1+1=2


これで完璧!ふっふっふ

2005/01/22追記
「証明」と「わかった」感覚は別.1+1=2である理由を考察.

2008/09/14追記
Principia mathematicaでは,論理の公理から純粋に論理式の羅列だけで証明している.>ブログ


linked: 1 1

18 件のコメント:

  1. すみぴょん2009年4月15日 19:52

    ははは(なんとなく引きつった笑い声なり~)。。。1+1=2 が、この証明ですかぁ
    ふっふっふ・・確かに笑える  でもすばらしい証明ですわ わかりますもん^^;

    返信削除
  2. 書いているときは,すっきり流れがわかっていますが,今は見る気がしません.

    返信削除
  3. GUCCI2012年8月23日 22:58

    すばらしいです!
    数学のレポートの参考にさせてもらってもいいですか??

    返信削除
  4. > 数学のレポートの参考
    どうぞ.
    ただし,このページの URL を入れてください.

    返信削除
  5. 突然のコメント失礼します
    この前オンライン麻雀で偶然にも見かけたのでw
    この証明は前から気になっていたのですが、説明もわかりやすくとても勉強になりました!
    またどこかで会えたら…w

    返信削除
  6. コメントありがとうございます.

    >またどこかで会えたら…w
    3.5MHz帯,7MHz帯で毎朝 CW で CQ 出していますから,お呼びください(笑

    返信削除
  7. 自主勉につかわさせてもらいます!
    もちもんURLものせます!

    返信削除
  8. このような、答えになるとは数学はやっぱり興味深いです

    返信削除
  9. このコメントはブログの管理者によって削除されました。

    返信削除
  10. 面白いですね!
    ウラル載せるので、使わせてください!

    返信削除
  11. 私は昔高校から浪人中にかけてブルバキに影響されて1+1=2をわたくしなりのやり方で証明したことがあります.2017年6月2日 11:03

    私は昔高校から浪人中にかけてブルバキに影響されて1+1=2をわたくしなりのやり方で証明したことがあります.
    ペアノの公理は使わずsuccesorを1対1対応
    を用いて定義し,それから加法を定義し1+1と2が等しいことを証明しました.原理的にはペアノの公理を用いた方法と同一と思います.
    よく小学生くらいの子で1+1=2がわからないという子がいますが小学校でもう少し自然数についてきちんと教えてもいいのではないかと思います.
    ただ1+1=2を覚えろというやり方は教育でないと感じます.

    返信削除
    返信
    1. 私もそう思います。小学校の教諭はこの問題に答えられないケースがほとんどです。さらに高校の教諭ですらまともに答えられないという状況これは深刻だと思います。さらに「なんで」と質問されてもろくに答えられないため「そういうものなんだよ❗」と、誤魔化す教諭がいることです。単に1+1=2という問題ですが、いろいろなことを考えさせる問題と言えるかもしれません。

      削除
  12. 自然数とは2019年2月3日 11:56

      ≪ 熊さん
        「1+1は、2と計算できるのってなぜ?」
      八っつぁん
        「そりゃ~昔から決まっているのさぁ~」
        「知りたきゃご隠居に聞いてみろよ」   ≫

       《検索⦆   


    返信削除
  13. 『縮約(縮退)自然数』2019年7月26日 4:48

     十進法の基での桁表示の【数そのモノ】の『離散的有理数の組み合わせによる多変数創発関数論 命題Ⅱ』の帰結から、西洋数学の成果の6つのシェーマ(符号)で観る、『自然比矩形』から[醸成]される、『《モナド》写像(関数)』が≪…1+1=2…≫を悟し・悟らされてくれる。 
     因みに、『(わけのわかる ちゃん)(まとめ ちゃん) (わけのわからん ちゃん)(かど ちゃん)(ぐるぐる ちゃん)(つながり ちゃん)』 の[舞]で観てみたい。  

    返信削除
  14. 안녕하세요
    大学って難しいんですね。
    1+1=2の証明だけで頭がいっぱいになりそうです。
    2桁とかなると・・・。

    返信削除
    返信
    1. 2桁でも3桁でも、定理4の適用です。

      定理 123+45=168
      証明 f(1)=suc(123)=124, f(suc(x))=suc(f(x)) を満たす関数 f について,
      f(2)=f(suc(1))=suc(f(1))=suc(124)=125
      f(3)=f(suc(2))=suc(f(2))=suc(125)=126
      ...
      f(45)=f(suc(44))=suc(f(44))=suc(167)=168
      f(45) は 123+45 の略記であり,suc(167) は 168 の略記であるから,123+45=168

      削除

「コメントの記入者:」は「匿名」ではなく,「名前/URL」を選んで,なにかニックネームを入れてください.URL は空欄で構いません.