論人類下一代語言的可能—4.1算術

我們主要從對算術的研究來探討與理解數學。從歷史來說,算術是數學最早的部分之一。在集合論等現代理論出現前,算術一直看作整個數學的基礎。相比同樣古老的幾何,算術更能體現數學抽象符號的使用方式。今天看起來很簡單的算術,歷史上經歷過數千年的發展才成為今天的樣式。人類個體學習經歷也與此對應,每個正常人從呀呀學語時就開始接觸到數數,之後經歷漫長的幼兒園與小學的學習,花費十年左右的時間才算掌握了算術。

算術也稱為自然數的理論。簡單說後續的概念,再加數學完全歸納法構成了算術理論。更完整的一個總結是意大利數學家皮亞諾(peano,1858.8-1932.4)的算術公理系統,用自然語言可陳述如下:

1、0是自然數

2、每一個確定的自然數n,都有一個稱為n的後繼數s(n)的自然數

3、0不是任何自然數的後繼

4、任意二個不同的自然數不能有相同的後繼數

5、對於命題P(n),如果下面二個判斷同時成立(這裡的「=1」表示命題為真)

    P(0)=1

    P(n)=1⇒P(s(n))=1

那麼∀n∈N,P(n)=1(N為自然數集)

其中第5公理就是常說的完全歸納法。皮亞諾的工作不僅是整理出算術公理系統,而且最大程度地實現了形式化,即不依靠自然詞彙,由抽象符號組成系統,有興趣的讀者可以去參閱更專業的書籍。本書在講解算術時,有時候為了特定表述簡單,自然數假定是從1開始而不是從0開始。

算術漫長發展歷史上,關鍵的進展並不是理論上明白什麼原理,並進行相應的總結,如得出上述皮亞諾公理系統那樣。在成熟的算術出現前,早期人類主要是通過實物來進行計數與簡單的計算。比如一個牧羊人要對其放牧羊群的數量有所掌握,他可以這樣做:早上從羊圈裡每放出一隻羊,就在羊圈門口的特定位置放置一個小石子,所有羊從羊圈出來後所堆成的石堆就是自己羊群的數量,妥善地保管這個石堆;每天晚上放牧回來,每有一隻羊進入羊圈,就從早上的石堆拿開一個石子,最後一隻羊進圈時正好拿開石堆的最後一個石子,說明今天的羊沒有丟失,也沒有其他牧羊人的羊混進自己的羊群,或者混入自己的羊群的羊與丟失的羊的數量相同。用石子計數的方法可進一步發展,比如可以匹配二堆石子來比較二群羊的數量熟多熟少。這些方法足夠讓人滿意,自然人們會去尋找方便操作、易於保管,甚至讓人喜歡的石子,作為這裡的工具,比如小鵝卵石那樣;還可能會去製作羊皮袋,專門用於收納石子。如果牧羊人第二年改為牧牛了,他也會先嘗試用石子來對牛計數。這不是完全虛構的描述,英文中的計算一詞為「Calculation」,來自拉丁文的「Calculus」,意思是計算用的小石頭。

小鵝卵石性質上也是一種中介物,我們通過這種中介物來掌握羊群或牛群的數量。這裡的鵝卵石與羊、牛相比,分別是不同的實際事物,用今天的術語來說,是不同的離散事物。代表二群羊的二堆石子,如果大小差不多,我們並不能通過感官分別出哪一個多哪一個少,各是多少,問題看上去似乎並沒有解決,只是發生了轉移。不同在於鵝卵石容易被我們人類掌管與操作,我們可以輕易把一顆鵝卵石拿過來拿過去,這樣我們就容易進行二個石堆的匹配操作,區分出哪一堆石子多,哪一堆少,從而也就知道哪一群羊多。我們也容易進行其他類型的鵝卵石操作,以掌握其他情形下的數量關係或變化。鵝卵石對羊群的計數與計算,只是一種離散事物對另一種離散事物及其變動的模擬操作。容易用來做計數操作的實物還包括我們的身體,特別是我們的十個手指。利用十個手指及身體的其他部位進行計數,這種方法出現在不同區域的各古代文明中。

考察早期人類語言,或者現代處於原始狀態部落的語言,可以發現:表達2隻羊與表達2頭牛,或表達2匹馬時,所使用量詞不同,數詞也可能不同,或者說可以是完全不同的表達。數的抽象性被認為是算術發展的一個難點。還可發現,各種原始語言中,最大的數詞是「3」或「4」,更多數量的情況,只能用「很多」「非常多」這樣的詞彙表達。這表示僅僅依靠我們的感知辨別能力,我們感官能夠直接識別清楚的最大數量應該是3,或者4,更多的數量就只有模糊的感知。算術在其漫長的發展過程中,我們看不到什麼天才思想帶來意識上的突變。更可能是實物計數的操作:拿來拿去石子;在木頭上一道道地刻畫;在繩子上打結等等,以及這類實物計數操作對不同計數對象的適應性,啟發了人類關於自然數的觀念,並且讓心智順應了數的抽象性。

今天算術里的數字「1」「2」「3」「4」「5」等,在古代各文明中曾經書寫如下:

 

 

(圖4-1:古代各文明中數字的寫法,從上至下分別為古代中國、古巴比倫、羅馬、古埃及、古瑪雅的寫法)

其中,古瑪雅文明裡1-4就分別是對應數量的圓點來表示,5很可能是5個點,後面演化成了一條線。其他的古代文明大致都是這樣的寫法。從歷史上對數字的書寫方式可以推測,人類可能首先是嘗試一進制的數字表示,而這可能就是源自用石子、木棍等來計數。一進制的數字,它都不是象形字,它就是紙面上的鵝卵石或木棍,另一種形式的離散事物。這種離散物完全是人類製造的,且只存在於紙面。我們對它們的操作也不同於對石子、木棍的操作,我們是通過後來稱為書寫的動作來操作這些數字符號。

真正成為符號,一進制並不是好主意。符號使用的一個要求是要製造相互區別明顯的符號以表徵對應內容上的差異。在符號的辨別上一進制沒有什麼技巧,數字稍微大些,辨識與書寫就變得很困難。從一進制到多進制的位置記數法,是算術發展歷史上決定性的步驟。因為人類有二隻手十個指頭,最終十進制位置記數法得到了普遍採用。十進制下,首先是個位數上採用了阿拉伯數字:1、2、3、4、5、6、7、8、9。關於阿拉伯數字,另一說法是印度人最先使用的。大於9的數字,應用「逢十進一」的規則來形成表示,這樣任意大的自然數書寫與識別都變得相對容易。在一進制下,每一符號所在的位置與其他符號所在的位置並無區別,它們是平等的。在多進制里,不同位置是不同的「階」,這樣表示法上可以利用二種維度來產生符號上的區別。用實物進行計數時,也可採用某種進制,相比較,符號表示可更容易穩定這種用法。當然這也犧牲了直觀性,需要更多的智力來應付。

位置記數法的另一重要意義是讓算術計算的總結變得容易,計算的操作也變得簡潔。算術的計算包括了加減乘除計算,其中加法計算是基礎。減法是加法的逆運算,乘法可由連加運算引入,除法是乘法的逆運算。有了位置記數法及進位規則,再構造加法表(其他的計算可能需要其他的計算表),說明1~9內任意二個數相加的結果,就形成了加法計算實際操作的基礎。算術計算要簡潔易操作,另一個重要的事情是引入其他抽象符號,如計算符號+、—、×、/、=,這些符號的引入是數學故事的一部分。為了便於理解,還可引入「?」表示填寫計算結果的位置。通過位置記數法表示的數字以及上述符號,可編輯組合出算術表達式,任何算術範圍內的計算問題可由算術表達式表示。想體會位置記數法下算術計算的簡單性,你可以嘗試學習下羅馬數字下相同計算的操作。

我們可以設定不同的基,來形成不同的進位制。不同的進位制里,進位規則、加法表、乘法表等也不相同。同時各個方面是統一對應地變化,所有的進制原理上仍是一樣的。用前面使用過的術語來說,這些不同的系統實際是同構、協變的,都等價於一進制的系統。一進制系統是對小石子計數計算系統的模擬,小石子計數計算系統是用於對各種離散事物數量關係與變化的模擬。這其中不變的是操作,或者說是動作的系統。這些動作系統在實物操作時就獲得。簡單地說就是將鵝卵石拿來拿去做不同的堆放,以匹配實際對象的變動。完整的操作還包括心智層面,需要理解到操作物是表徵實際實物的,對錶征物的操作,匹配了實際事物的變動或相互間關係。進一步,手工上的操作也是心理上可以擬想的。這形成一個心理基礎,使得實物計數、計算的操作可以向符號遷移。位置記數法可看作對石子順序堆放時結果狀態不斷變化的模擬,計算起源於對一類動作累計效果的直接模擬。在古代埃及的符號表示中,是用人腳走近、走遠的象形文字表示加法與減法。

十進制的採用使得我們可以保留搬動手指進行計數與計算的操作,這是小學生常見的動作。隨着年齡的增長,這類動作也變得少見。簡單的情況下,計數動作可以只是在心理上發生,同時順序念着數字,就可以完成計數工作。簡單的算術計算也可由心算完成。進行心算時是想像對某一進制下的具體符號,按算術的規則進行操作來完成的。此時心智上直接操作的對象是符號,而不是其它的心理意象。而且心理上進行計算的想像操作時,主要是對書寫符號進行的,對應的聲音的符號是第二位的。試着用心算完成398648+47583+36329的計算,對沒有專門訓練的人來說,這是一個大腦不堪重負的過程,這還只是最簡單的加法運算。心算時,心理想像的難度與過程中記憶的負載,使得心算的能力非常有限。

有了紙筆媒介系統,算術計算的整體構思及每一步所要進行的操作,仍需要依靠人腦先在思想里完成。人需要在理解記憶的基礎上,進行識別、判斷、匹配……不同在於每完成一步思考,可以用筆在紙面按一定的空間形式進行過程與結果記錄。有了這種同步記錄,之前的過程結果與當前的狀態都顯示於紙面,無需心理上額外的記憶,大腦所要做的是根據當前情況進行下一步或多步的構思與操作。此時所需面對只是有限的情形,心智的負載已減輕到一般人能勝任的程度。正是紙面記錄形成對心智的這種輔助,包括算術計算在內的所有複雜的計算,才成為可能,並得以日益發展。

紙面記錄對心智的輔助作用,利用了書寫符號的持久性,同時計算同步記錄的形式也不再是簡單的線性方式,它的空間形式充分利用了紙張平面的二維屬性。觀察那些如分數、指數、對數、積分等等的符號及符號的計算過程,同樣不再固守線性約束。紙筆媒介系統下的這種用法,使數學裏的書寫符號構造,以及符號的組合排列,可以更自由地進行,同時也使計算過程變得更容易操作與理解。

實物的計數計算遷移至視覺符號,發展出實用的算術系統。實物的計數計算並沒有退出歷史,而是逐步演變為傳統的計算工具。如算籌(中國古代的計算工具,二百多根粗細、長短相同的竹棍)、算盤、機械計算機等。計算工具普遍出現於古代的各文明中,計算工具的發展也一直與數學的發展相伴隨。在古代中國,數學主要不是圍繞視覺符號表示的概念、定理來發展,更多是圍繞這些計算工具對各類問題的求解來發展的,這體現了中國古代數學的實用性質。最初計算工具上的操作,只涉及對木棍、木珠等的移動操作,在設計製造良好的工具上,人手很容易進行此類的操作。各種計算只要能形成操作上的規則,計算工具上的計算過程就可以是機械的,更具效率的。

在十進制下,位置記數法的表示里已隱含着0+1=1、1+1=2、2+1=3、3+1=4等,即已包含了後繼的概念。提出「後繼」概念只是出於對算術系統邏輯整理的需要。說數字表示法、進位規則、計算表、運算律等可看作後繼概念演化出的具體內容。這也只是一種理論上的說法。現代數學的發展,除了皮亞諾對算術系統進行了公理化、形式化的總結外,還出現多種理論可以以不同的形式重構算術系統。這些後來的系統都是理論性的,目的是為算術系統提供邏輯上更一般的形式,直覺的認知可以得到證明,系統的無矛盾可以得到保障。位置記數法的算術系統則是面向實際應用,這是二個不同的考慮方向。以皮亞諾算術公理系統為例,它不關注位置記數法與計算表,沒有為實際計數、計算提供可直接操作的手段,這些實用上的關鍵內容,在理論中最多只是一些具體部分,並無特殊的位置。另一方面,實用的算術系統強調應用時的操作性,對邏輯的關注則是有限的,在它的總結中可能未將完全歸納法作為自己的一部分。這些更「現代」的算術系統並不會真正替代作為實用工具的算術系統。算術的計數與計算不只是邏輯問題,從應用的角度,更是一個操作問題。

最後,我們對算術計算給出一個更一般性的描述,這需要稍微進入代數的領域。引入自然數變量符號a、b……利用「=」號與變量符號可以表示四則運算的運算律,它們是交換律:a+b=b+a,結合律:a+(b+c)=(a+b)+c,和分配律:a(b+c)=ab+ac。這些運算律可用完全歸納法證明。這樣,算術式可發展為包含自然數、自然數變量符號、以及「+」「=」等符號的代數式,其計算過程的原子步驟就是匹配運算律或計算表,當代數式中某部分內容與運算律或計算表某一項中「=」號左邊的內容相當,則可以用「=」號右邊的內容進行替換,反之亦然。通過替換不斷轉換表達式,直到求解出未知數。這是一個機械的操作過程。