也談「為什麼(-1)×(-1)=1」

某天在「知乎」看到了這個問題,然而之後搜不到了= =。

提問者要求使用儘可能簡單的模型和盡量少的數學假設。

那我就在「2+2=4」、「加法交換律、結合律與數學歸納法」這兩篇文章基礎上談談我的理解:


回答「為什麼(-1)×(-1)=1」,首先需要釐清兩個問題:

  1. 什麼是乘法
  2. 什麼是「-1」?

比較容易接受的處理的方式是——從皮亞諾自然數公理化定義出發不斷定義和擴充,雖然它很繁瑣(由於過長,以下只介紹基本路線而不給出詳細嚴謹的定義和證明):

? 自然數中的乘法可以如下遞歸定義:

  • a times 1 =a
  • a times S (b) = atimes b + a

可以證明它滿足:

? 對加法的分配率 a times (b+c) = atimes b + a times c (固定 a,bc 做歸納);

? 結合率 (atimes b)times c=atimes(btimes c) (固定 a,bc 做歸納);

? 1times a=a (使用歸納法);

? 交換律 atimes b=btimes a (固定 ab 做歸納,並利用?和?)。

? 由於之前的介紹中。「自然數」是從1開始的,因此需要補充定義一個新事物——0。

定義一個新的對象「 0 」,並對所有自然數 a 定義 0+_1a=a+_10=a0+_10=0 ,然後將原有的「 + 」運算和新的運算「 +_1 」合起來還稱作「 + 」,並可以證明它滿足:

? 交換律(這很自然);

? 結合律——對任意自然數 a,b 證明 0+(a+b)=(0+a)+ba+(0+b)=(a+0)+ba+(b+0)=(a+b)+0

? 還可以證明「 0 」的唯一性即若 a+0_2=0_2+a=a ,則 0_2=0

並可以記 S(0)=1

再定義新的運算「 times_1 」為 atimes_1 0=0 ,然後和原有的「 times 」合併還稱為「 times 」,並可證明它仍然滿足?的????。

? 然後引入一類新事物(負數),對自然數 a 定義「 -a 」,並定義運算「 +_3 」, a+_3(-a)=(-a)+_3a=0

然後在新事物內部定義運算「 +_4 」:(-a) +(- (b)) = - ( a + b )

再之後定義就是自然數和負數之間的加法「 +_5 」(論述就太麻煩了,而且後面用不到)。

最後把「 + 」 、「 +_3 」、「 +_4 」、「 +_5 」合在一起,構成「 + 」,然後可以證明它內部無矛盾,滿足交換律、結合率,還可以證明「相反數的唯一性」,即若 x+a=a+x=0 ,則 x=-a 。由此還可以得到 -0=0

? 之後就是將原來自然數上的乘法擴充到 atimes (-b) ,到現在大意已經明了:就是要擴充後還保持原有的?的????,那麼由於 0=atimes 0=atimes(b+(-b))=atimes b+atimes (-b) ,及「相反數的唯一性」,只能定義為 atimes (-b)=-(atimes b)

? 然後 0times (-b)=-(0times b)= (-0)=0

? 最後就是將原來自然數上的乘法擴充到 (-a)times (-b) ,仍然要保持原有的?的????,那麼 0=((-a)+a)times (-b)+atimes (-b)=(-a)times (-b)+atimes (-b)=(-a)times (-b)+ (-ab)

於是 (-a)times (-b)=-(-(atimes b)) ,由「相反數的唯一性」,只能定義為 (-a)times (-b)=atimes b

好了剩下的 (-1)times(-1) 就不是問題了。


前面我是掙扎著寫下去的??(雖然很多地方也都跳過了),下面介紹一種不是很直觀的方式,而且涉及到「等價」的概念。

? 如前定義自然數之間的乘法。

? 引入自然數組成的有序二元組 (a,b) ,其中 a,b 都是自然數。

定義這樣的二元組之間的等價性:若 a+d=b+c ,則稱二元組 (a,b)(c,d) ,將 (a,b) 所在的等價類記為 [(a,b)] (就是表示通常所說的「 a-b 」),可以證明這是一個等價關係。

在二元組之間可以定義「 + 」運算: (a,b)+(c,d)=(a+b,c+d) 。之後可以驗證若 (a_1,b_1)(a_2,b_2) 等價、 (c_1,d_1)(c_2,d_2) 等價,則 (a_1,b_1)+(c_1,d_1)(a_2,b_2)+(c_2,d_2) 等價。

於是可以將這個運算擴展到等價類上: [(a,b)]+[(c,d)]=[(a+b,c+d)]

利用自然數加法滿足的各種性質,可以證明這個運算滿足交換律、結合律。

定義二元組之間的「 times 」運算: (a,b)times(c,d)=(atimes c+btimes d,atimes d+btimes c) 。可以類似地證明可以將這個運算擴展到等價類上—— [(a,b)]times[(c,d)]=[(atimes c+btimes d,atimes d+btimes c)] 。之後利用自然數乘法滿足的各種性質,也可以證明這個運算滿足交換律、結合律、對等價類的加法有分配律等性質。

? 所有 [(S(a),1)] 構成的集合和自然數集合同構

  • [(S(a),1)] 對應於 a
  • [(S(a),1)]+[(S(b),1)] 對應於 a+b
  • [(S(a),1)]times[(S(b),1)]=[(S(atimes b),1)](推算過程很繁瑣)對應與 atimes b

? 用記號 0 表示 [(1,1)] ,則可以證明對於任意自然數 a[(S(a),1)]+[(1,1)]=[(1,1)]+[(S(a),1)]=[(S(a),1)]

? 對於任意自然數 a ,用符號「 -a 」表示 [(1,S(a))] ,則可以得到

[(S(a),1)]+[(1,S(a))]=[(1,S(a))]+[(S(a),1)]=[(1,1)]

(事實上這就對應於通常說的「 a 的相反數 -a 」)

? 於是

  • [(S(a),1)]times[(1,1)]=[(1,1)]times[(S(a),1)]=[(S(a)+1,S(a)+1)]=[(1,1)] ;
  • [(1,S(a))]times[(1,1)]=[(1,1)]times[(1,S(a))]=[(1+S(a),1+S(a))]=[(1,1)] ;
  • [(S(a),1)]times[(1,S(b))]=[(S(a)+S(b),S(a)times S(b)+1)]=[(1,S(atimes b))] (就是「 atimes (-b)=-(atimes b) 」);
  • [(1,S(a))]times[(1,S(b))]=[(1+S(a)times S(b),S(a)+S(b))]=[(S(atimes b,1))] (就是「 (-a)times (-b)=atimes b 」,特別是 (-1)times(-1)=1times1=1 )。

{[(S(a),1)]|a是自然數}cup{[(1,1)]}cup{[1,S(a)]|a是自然數} 就稱作整數集合。


事實上,整數就是所有自然數的二元組在這個「等價」關係下的等價類——雖然這個結果對於上述討論並不重要。換言之對於任一個自然數的二元組 (a,b),若 a=b 則它與 (1,1) 等價,否則必定存在自然數 c 使得或者它與 (S(c),1) 等價或者它與 (1,S(c)) 等價。

這一點的證明需要用到如下結果(自然數的三岐性)——對於任意兩個自然數 a,b 則下述三者有且僅有一者成立:

  1. a=b
  2. 存在自然數 c 使得 a+c=b (此時稱「 a<b 」);
  3. 存在自然數 c 使得 a=b+c(此時稱「 a>b 」) 。

(然後,我也懶得給出這個結果的證明了。思路是固定 a ,然後對 b 做歸納;過程中必要時對是否 a=1 、是否 c=1 做討論。)

於是對於二元組 (a,b) 而言,下述三者有且僅有一者成立:

  1. a=b
  2. 存在自然數 c 使得 (a,b) 等價於 (1,S(c))
  3. 存在自然數 c 使得 (a,b) 等價於 (S(c),1)

推薦閱讀:

關於無窮積分的一個命題?
數學大事年表[7/16]

TAG:数学 | 趣味数学 |