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

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

そこで、分かり易い説明を考えてみたが思いつかず、また時間もなく返答できなかったため、後で上手な説明はないかと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」が成り立つということだけだ。
「マイナスの整数×マイナスの整数=プラスの整数」となることが示されたわけではない。
これを証明する真にすばらしい方法を思いついたが、これを書くには時間が少なすぎるため省略する。

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

関連する記事

  • Bioconductor HeatplutsパッケージのregHeatmapで文字の大きさを変えるBioconductor HeatplutsパッケージのregHeatmapで文字の大きさを変える BioconductorのHeatplusパッケージのregHeatMap関数を用いると、ヒートマップを描けるが、行と列の文字の大きさを変える方法が分かり難かったので、備忘録として残しておく。 サンプルデータのために、Biobaseパッケージをインストールしておく。 > […]
  • DockerでMariaDB10.5を使う方法DockerでMariaDB10.5を使う方法 DockerでMariaDB 10.5を使用できるまでの手順をお伝えします。 ここでは、docker-composeとDocker公式のMariaDB 10.5イメージを用います。 環境 ホストOS ホストOSはUbuntu 20.04を用いております。 $ cat /etc/lsb-release […]
  • R言語 CRAN Task View:極値解析R言語 CRAN Task View:極値解析 CRAN Task View: Extreme Value Analysisの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Christophe Dutang, Kevin Jaunatre Contact: Christophe.Dutang at […]
  • UbuntuでRStudioの外観をDarkに変更する方法UbuntuでRStudioの外観をDarkに変更する方法 Ubuntu上のRStudio(ver 1.0.153)の外観をダークテーマに変更する方法をお伝えします。 2017年8月31日時点の安定版RStudioには、外観を変更する機能は搭載されておりません。しかし、daily […]
  • R言語 CRAN Task View:社会科学の統計R言語 CRAN Task View:社会科学の統計 CRAN Task View: Statistics for the Social Sciencesの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: John Fox Contact: jfox at […]
なぜマイナス×マイナス=プラスとなるのか