0到1之間的實數是可數的
李長白
(沈陽體育學院,遼甯省沈陽市 110033)(本文已經發表于《數學教學研究》2018年第30期第25頁。)
摘要:按照位數以及大小等規律把0到1之間的十進制小數進行排列,則這個區間内所有十進制小數的總數是10^n個(”^‘’表示乘方。10^n表示10的n次方。下面相同。),而且0到1之間的所有的十進制小數都在其中,所以它們是可數的。康托的一個證明其實已經得出了相同的結論。利用定積分的運算結果進一步證明了實數的可數性。還找出了實數是不可數的一個證明中的漏洞。
關鍵詞:實數;可數性;窮舉法
現在數學界把數系分為兩種:可數數系和不可數數系。認為自然數、有理數等等是可數數系,而實數系例如0到1之間的十進制小數是不可數的。[1]
其實0到1之間的實數是可數的。
1 0到1之間的全體十進制小數是可數的,是10n個
證明:
把0到1之間的區間逐步分割如下:
圖1 0到1 之間的全體十進制小數的有規律排列
由于條件所限制,上面隻列出了三行,其中隻把0到1之間的十進位一位小數全部表示了出來,即第一行;而0到1之間的全部十進位二位(百位)小數以及0到1之間的全部十進位三位(千位)小數則隻列出了很少的一部分,見第二行和第三行。 本文中雖然無法把所有的十進制小數全部列出,卻可以斷定任何一個0到1之間的十進制無窮小數在必然位于上面所列出的數列中。因為它的第一位的數字肯定是0到9之間的一個,所以必然在上面第一行中找到;而當它的第一位數字确定了之後,它的第二位數字也隻能是在已經選定的數字下面的0到9之間的一個數字,所以必然能夠在第二行的相應位置中找到。如此等等。上面是以0.274…為例。在第一行的0到9中,顯然應該選擇2;在第二行中,是2下面的0到9中選擇7,即在0.20到0.29中選擇0.27;…
上面所有的實數是10^n個。道理很顯然:第一行是10個,即0.0到0.9(未包括1.0。下同),第二行是10^2個即100個,從0.00到0.99;第三行是10^3個即1000個,從0.000到0.999;…。顯然這裡已經窮舉了它們,即0到1之間的所有的十進制小數都列于其中,沒有遺漏。于是按照現在集合論的觀點,它們顯然是可數的。
所以0到1之間的所有無窮的十進制小數共有10^n個,是可數的。
2 康托的一個證明中已經包含了這個結論
康托已經證明了全體有理數集是可數集。這個證明在一般的集合論教科書中都有。故略[2]。可是分數顯然是有理數的真子集。于是馬上可以推出有理數集是可數集。
而0到1中的全體十進制小數顯然又是分數集中的一個真子集,是其中分母為10,100,1000,…,10^n(n為正整數),…的所有真分數的集合,所以它仍然是可數集。
3 對角線證明的錯誤在于沒有把十進制小數有規律的排列
康托利用對角線法證明了從0到1之間的實數是不可數的。他的證明顯然不妥[3]。因為他沒有把0到1之間所有的十進制小數進行有規律的排列。
康托如果不把有理數按照一定的次序排列,會認為有理數也是不可數的。
4 定積分運算進一步證明了0到1之間的實數是可數的
定積分的運算結果更有力地證明了有限區間内的數點即單子是可數的。而0到1的區間當然是一個有限區間,所以其間的單子當然也是可數的。具體過程可以參考下面 4。
4.1 (1/n)乘以n等于1(n→∞)的結果證明了0到1區間的全體實數是可數的
首先把區間[0,1]分成為n等分。n是從1開始,逐漸增加的正整數。于是該區間每個小區間的長度為1/n。
在n→∞的時候,小區間的長度成為1/∞。
很顯然:
圖2
(4.1)
甚至在n→∞的時候也是這樣。
由于n是正整數,所以在n→∞的時候,根據集合論,n相當于
圖3 阿列夫0
(阿列夫0),也就是正整數無窮大。于是現在[0,1]區間就是由可數的無窮多個點組成。這是定積分運算中常見的運算。
康托利用無窮序列定義實數的做法[4]中隐含着辯證法:有窮可以轉化為無窮,可以利用無限的有窮數列表示無窮小數,包括表示超越數,如:e,π。
目前的集合論的觀點有值得商榷之處。
5 對連續區間的實無窮多次“切割”使包括了其間的全部實數
5.1 連續的無窮多次“切割”使[0,1]區間的實數成為可數的
連續性是看起來簡單、實際則非常困難的概念。
人們早已經知道
圖 4 根号2
等等不是有理數,而是無理數。有理數沒有填滿數軸。
可是本文則證明了[0,1]區間的全部十進制小數填滿了數軸。
這是明顯的矛盾。
若幹個均勻的連續“切割”可以把大區間變成為小一些的區間。但是小區間仍然是區間。
但是當有限的均勻切割逐漸增加,最後成為無窮多的均勻切割的時候,由于有一個飛躍:從有限變成為無窮,則區間發生了變化,不再是均勻的小區間,變成了極限狀态的區間:點。
這時的切割應該被理解成是“完成”的無窮,即實無窮。隻有在實無窮多次連續切割[0,1]區間的情況下,得到的可數實數才能包括此區間的所有實數。
是無窮推翻了目前的集合論中的某些結論!
5.2 以0.9…為例進一步說明(略。見拙作《0.9…≠1的證明及沖擊》[5]。)
6 柯朗證明中的漏洞
6.1 柯朗試圖利用反證法證明連續統是不可數的
柯朗的證明[6]略述如下。
假設在直線上從0到1的區間内的所有的點能夠排成序列,如下:
a1(1是a的下标。下同。),a2,a3,… (6.1.1)
他提出:把a1點用長度為1/10的區間蓋住,a2點用長度為1/10^2的區間蓋住,……。于是如果從0到1之間的所有的點都包含在序列(6.1.1)中,則該單位區間将完全被長度為
1/10,1/10^2,…… (6.1.2)
的區間序列(可能互相有所重疊)完全蓋住(其中有些區間超出了該單位區間,這一事實不影響證明)。但是這些區間的長度的總和為下列等比級數的和:
1/10 1/10^2 ……=1/9 (6.1.3)
他的結論是:從序列(1)包括從0到1之間的所有實數出發,推出的結果是可以用一系列總長度為1/9的區間覆蓋長度為1的區間,顯然很荒謬。他認為這個矛盾證明了連續統的不可數性。
6.2 該證明中有錯誤
該證明中主要有兩點錯誤:
①他沒有考慮微積分中的點的尺度。
②他沒有考慮無窮的大小。
顯然,在他看來,任何點序列中點的尺度都是相同的0。其實不然。微積分中的點都是具體的、特定的點,有特定的尺度。無窮大亦然。都需要具體問題具體分析。
按照柯朗的說法,把
a1(再一次提醒:1是a的下标。),a2,a3,… (6.2.1)
排成序列。
一個基本的事實是:如果它們能夠排列成為一個線段,則它們一定有尺度。
分為兩種情況:①0到1這個區間被分均勻地成為n等分,即每個點的尺度為1/n。②這個區間被均勻地分成為10^n等分,即每個點的尺度為1/10^n。最終都必須有n→∞。
6.3 點的尺度為1/n時候的分析
點的尺度為1/n。無疑,在n趨近于無窮大的時候,1/n的尺度為0。
必須強調一點:柯朗提出的兩個序列的項數是相同的,都是n項。如下:
①a1(1/n),a2(1/n),a3(1/n),…, an(1/n)。 (6.3.1)
(請注意:原文中利用上面的符号表示(6.3.1)和(6.3.2)之中的項是一一對應的。
一一對應的。由于格式問題,無法表示。隻能出現一個箭頭符号。抱歉。李長白)
②1/10, 1/10^2 , 1/10^3 , …, 1/10^n。 (6.3.2)
容易看出,(6.3.1)和(6.3.2)的項數是相同的,一樣多,都是n項。
注意:在n是有限數的時候, (6.3.2)中的一部分項的尺度已經會小于對應于(6.3.1)中那一些項。例如,在n=2的時候,如下:
a1(1/2),a2(1/2)。 (6.3.3)
1/10, 1/10^2。 (6.3.4)
于是,(6.3.4)中的這兩項蓋不上(6.3.3)中的那兩項。
再考慮n=10的時候,則:
a1(1/10),a2(1/10),a3(1/10),…,a10(1/10)。 (6.3.5)
1/10, 1/10^2 , 1/10^3 , …, 1/10^10。 (6.3.6)
現在(6.3.6)中一共10項,其中隻有第一項與(6.3.5)中的第一項的數值相等,其餘各項的數值都小于(6.3.5)中的對應的那一項。于是結論是:隻有(6.3.6)第一項勉強可以認為蓋上了(6.3.5)中的第一項,其餘的都不可能蓋上對應的那一項。
容易看出,随着n的變大,下面的序列中,能夠蓋上上面的序列中的項數有所變化,但是後面仍然存在大量的蓋不上的情況。
現在考慮在最終n趨近于無窮大時候的情況。注意:在這個時候, (6.3.2)中很大部分項的 “尺度”會小于對應于(6.3.1)中那一些項。也就是說,(6.3.1)序列後面的那些點的尺寸會比序列(6.3.2)中後面的表示的“區間”的尺寸大(現在必須給區間加上引号。因為這時候原來的區間已經變成了點。)。具體如下:
a1= a2= …=an…=1/n(n→∞) (6.3.7)
1/10, 1/10^2 , 1/10^3 , …, 1/10^n。 (6.3.8)
由于(6.3.7)中的所有項數值都等于1/n,所以(6.3.8)中的前面若幹項的數值會大于(6.3.7)相應的對應項。例如,1/10肯定大于1/n(n→∞),等等。于是會有一些項能夠蓋上對應的那些項。但是明顯的事實是:(6.3.8)中各項變小的速度非常快,而(6.3.7)中的各項的大小不會變化,所以(6.3.8)中隻有非常有限的項能夠蓋上(6.3.7)中的對應項,而絕大部分都不能蓋上對應的項。又,到了n→∞的時候,根據極限
據羅必塔法則
。 (6.3.9)
(請參考微積分中的羅必塔法則中的極限
。)
從(6.3.9)的結果,容易理解當n大到一定的時候、特别是到了無窮大的時候,序列(6.3.8)中的項會變小到蓋不住序列(6.3.7)中的點。所以雖然(1/n)和(1/10^n)二者在n→∞的時候尺度都是0,但是它們是具體的、不同的0。
6.4 第二種情況的分析
我們再考慮第二種情況,即:
a1=a2=…=an…=1/10^n(n→∞) (6.4.1)
如此,則柯朗的第二個序列即1/10,1/10^2,1/10^3,…中的項能夠蓋住序列(6.4.1)中的對應的項了。
但是。隻要仔細考察,就會發現序列(6.4.1)中的項數是10^n個,也就是有10^n個點;而柯朗下面序列中的項數隻不過是n項即n個點,列出如下:
(6.4.2)有10^n項,而(6.4.3)才有n項。所以後者的數目遠遠小于前者。所以(6.4.2)中的a(n 1)項以及以後的所有項與(6.4.3)序列都沒有對應項。由于有大量的點沒有被蓋上,所以後者仍然不可能蓋住前者。
7 研究無窮需要謹慎
本文已經證明了0到1之間的實數是可數的。
同理,可以證明全體實數是可數的。因為可數集加可數集仍然是可數的。
在實際運算中,沒有抽象的無窮,無窮總是具體的。分析無窮需要非常細緻、小心謹慎。
參考文獻:
1 例如,可參考〈美〉威廉∙ 鄧納姆《天才引導的曆程》[M],苗 鋒譯,中國對外翻譯出版公司,1994年12月,第1版,最後兩章。
2 同上。
3 同上。
4王建午 曹之江 劉景麟 《實數的構造理論》[M]人民教育出版社1981年1月第1版52-53。
5 李長白《0.9…≠1的證明及沖擊》[J] 當代教育實踐與教學研究,2017,7:153。(文章中有錯誤。相信讀者會發現和糾正。)
6 〈美〉R.柯朗 H.羅賓著I.斯圖爾特修訂《什麼是數學》(增訂版)[M]左 平 張怡慈譯 複旦大學出版社2005年5月第2版96-97。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!