先日、ある人と話しているときに、私が大学で数学を学んだことを告げると、「なぜ、マイナス×マイナス=プラスとなるのか」と質問を受けた。
どうやら、「マイナス×マイナス=プラス」はルールとして覚えているようだった。

この質問を受けたとき、正直に言うと「すばらしい」と思った。なぜそう思ったのかというと、すでに当たり前として組み込まれている「マイナス×マイナス=プラス」に対して、疑問に感じて投げかけているからである。

そこで、分かり易い説明を考えてみたが思いつかず、また時間もなく返答できなかったため、後で上手な説明はないかとGoogle検索してみると、2通りの説明があった。

  • 何かに例えて文章で説明
  • 数式を用いて数学的に説明

この2つを比較して感じたことは、「何かに例えて文章で説明」の方が読み難かった。
また、理解の難易度という観点では、どちらも同じような気がした。

そこで、ここでは「なぜ、マイナス×マイナス=プラスとなるのか」という問いに対して、「数式を用いて数学的に説明」してみることにする。

ここからは、掛け算「×」を「⋅」と記述し、整数の世界で「マイナス×マイナス=プラス」となることを見ていこう。
ちなみに、整数とは「…, -2, -1, 0 , 1, 2, …」のような数のことである。

整数の性質

整数は次の性質を持つ(0,1,a,b,cは整数)。

  1. a⋅0 = 0⋅a = 0
  2. a⋅1 = 1⋅a = a
  3. a + 0 = 0 + a = a
  4. a + (-a) = a – a = (-a) + a = -a + a = 0
  5. a⋅(b + c) = a⋅b + a⋅c
  6. a,bが整数ならばa⋅bも整数

これらを言い換えると、次のようになる。

  1. 任意の整数に対して、0を掛けると、ゼロになる
  2. 任意の整数に対して、1を掛けても、変化なし
  3. 任意の整数に対して、0を加えても、変化なし
  4. 任意の整数に対して、その整数にマイナスを掛けた数を加えると、ゼロになる
  5. 2つの任意の整数に対して、その2つの整数を加えた後ある整数を掛けた数と、2つの整数それぞれにある整数を掛けた数を加えた数とは一致する
  6. a,bが整数ならばa⋅bも整数である

証明

それでは、次が成り立つことを示す。

(-1)⋅(-1) = 1

性質1から次が成り立つ。

(-1)⋅0 = 0

性質4から左辺の0を1+(-1)で置き換える。

(-1)⋅(1 + (-1)) = 0

左辺に性質5を適用する。

(-1)⋅1 + (-1)⋅(-1) = 0

性質2から(-1)⋅1を(-1)で置き換える。

(-1) + (-1)⋅(-1) = 0

両辺に1を加える。

1 + (-1) + (-1)⋅(-1) = 1 + 0

左辺に性質4、右辺に性質3をそれぞれ適用する。

0 + (-1)⋅(-1) = 1

性質6から (-1)⋅(-1) も整数となるので、左辺に性質3を適用する。

(-1)⋅(-1) = 1

となり示された。

終わりに

分かり難かっただろうか。もし、そうならば是非、紙とペンを用意して実際にゆっくりと一つ一つ書き写して言って欲しい。

注意して欲しいこととして、今示されたことは、「(-1)⋅(-1) = 1」が成り立つということだけだ。
「マイナスの整数×マイナスの整数=プラスの整数」となることが示されたわけではない。
これを証明する真にすばらしい方法を思いついたが、これを書くには時間が少なすぎるため省略する。

是非この拡張を目の前に紙とペンを用意して、チャレンジしてみてほしい。
きっと、良い頭の体操になるはずだ。

関連する記事

  • R言語 CRAN Task View:経験的ファイナンスR言語 CRAN Task View:経験的ファイナンス CRAN Task View: Empirical Financeの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Dirk Eddelbuettel Contact: Dirk.Eddelbuettel at […]
  • R スミルノフ・グラブス検定を繰り返し用いて外れ値を除去する方法 スミルノフ・グラブス検定は、正規分布を仮定した標本において、最大値または最小値が外れ値かどうか判定する検定の一つである。 外れ値を除去する際、外れ値を一つずつ検証することよりも、外れ値がすべて除去されたデータだけがほしいときもあるのではないだろうか。 ここでは、正規分布を仮定したデータからスミルノフ・グラブス検定を繰り返し用いて外れ値を除去するソースコードをご紹介する […]
  • Opal ユーザーを登録する方法Opal ユーザーを登録する方法 OBiBaのOpalサーバにユーザーを登録する方法をお伝えします。 ユーザー登録はAdministratorが行うことができる機能になります。 そのため、administratorでサインインします。 表示された画面の右上にあるAdministrationをクリックします。 Administration機能一覧から、Users and […]
  • SlideShareで公開されているR言語関係のまとめSlideShareで公開されているR言語関係のまとめ SlideShareで公開されているR言語関係の資料をまとめてみたのでご紹介する。全てを網羅しているわけではないが、あなたのお役に立てれば幸いだ。 Rによる医療統計2015 第1部 医療統計の基礎知識 前編 2015-12-18 / 70 slides Rによる医療統計2015 第1部 後半 2015-12-18 / 57 […]
  • R knitrできれいな多重クロス集計をPDFで出力する方法R knitrできれいな多重クロス集計をPDFで出力する方法 knitrパッケージのkable関数を使えば、matrixやdata.frameなどの表形式をきれいに出力してくれるが、ftable関数を用いた多重クロス集計の結果は、kable関数を使うことができない。 これは非常に残念なので、他の方法できれいに出力する方法をお伝えする。ちなみにこの方法ではPDF出力のみの対応となるので注意してほしい。 手順を簡単に説明すると、 […]
なぜマイナス×マイナス=プラスとなるのか