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

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

そこで、分かり易い説明を考えてみたが思いつかず、また時間もなく返答できなかったため、後で上手な説明はないかと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: Natural Language Processingの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Fridolin Wild Contact: wild at […]
  • R スティール(Steel)法R スティール(Steel)法 スティール(Steel)法とは、ダネット(Dunnett)法の多重比較に対応するノンパラメトリックな多重比較である。 スティール法を簡単に言うと、正規分布を仮定しない1つの対照群と2つ以上の処理群間を順位を用いて多重比較で調べる方法である。 Rで、スティール法を使う場合は、「スティール(Steel)の方法による多重比較」のページにソースコードが紹介されている。 […]
  • Python 科学技術関連のパッケージ一覧Python 科学技術関連のパッケージ一覧 PyPIで公開されているパッケージのうち、科学技術関連のパッケージの一覧をご紹介します。 具体的には、次のフィルターによりパッケージを抽出しました。 Intended Audience :: Science/Research Topic :: […]
  • Ubuntu OpenCVをインストールする手順Ubuntu OpenCVをインストールする手順 Ubuntu16.04にOpenCV3.3をインストールする手順をお伝えいたします。 OpenCVは、JPEGとPNGの画像だけを扱うように、できるだけ最小の構成を目指します。 そのため、動画に関する設定はできるだけ除いた形でインストールを行います。 環境 今回の作業環境を確認しておきます。また、以下の作業はすべてターミナルにて行っております。 Ubuntuのバージ […]
  • R言語 CRAN Task View:関数データ解析R言語 CRAN Task View:関数データ解析 CRAN Task View: Functional Data Analysisの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Fabian Scheipl Contact: fabian.scheipl at […]
なぜマイナス×マイナス=プラスとなるのか