2025-03-03 數(shù)學(xué)中的類型

計(jì)算機(jī)基礎(chǔ)課中,我們都學(xué)過類型轉(zhuǎn)換,在沒有顯式聲明要進(jìn)行類型轉(zhuǎn)換的語句時(shí),計(jì)算機(jī)會(huì)幫我們強(qiáng)制類型轉(zhuǎn)換。類型匹配是重要的。

數(shù)學(xué)中,要定義一個(gè)映射f,標(biāo)準(zhǔn)的格式是

f:X\to Y\\
x\mapsto x^2

其中第一行是映射的類型,第二行是映射的實(shí)現(xiàn)。

與之遙相呼應(yīng)的是C語言中的函數(shù):

double f(int a)

{? ?a=100;

return (double)a/8; }

不難見到,在以上的情形下,映射/函數(shù)的類型是由其輸入和輸出的數(shù)據(jù)類型決定的。但這并不絕對(duì)。

——————————————————————————————————————————————————

數(shù)學(xué)與計(jì)算機(jī)中,兩個(gè)“函數(shù)”概念不同點(diǎn)在于,數(shù)學(xué)中的函數(shù),是從自變量索引到函數(shù)值的一個(gè)工具,一個(gè)數(shù)學(xué)變量a,被f了一下之后毫發(fā)無損,a還可以被g作用,因?yàn)閒和g都只是向a問路的,a告訴f:去找f(a)吧!你要找的f(a)值是8;a又告訴g:去找g(a)吧!你要的g(a)它的值等于9。而無論被f了還是被g了,a本身都還是那個(gè)a。而計(jì)算機(jī)科學(xué)中,出于計(jì)算機(jī)在物理層面實(shí)現(xiàn)的限制,內(nèi)存世界就有了部分物理世界的實(shí)在性,函數(shù)是施加于內(nèi)存世界的一系列動(dòng)作,它可以真正改變這個(gè)世界中變量的狀態(tài),如上段C語言語句,f完之后a就變了,變成100。

根本差異在于,數(shù)學(xué)中,所有數(shù)學(xué)變量是可以同時(shí)存在的,R可以被同時(shí)copy無窮份放在那里,放在虛空中的理念世界中,我們可以認(rèn)為a在函數(shù)下改變或不改變都無所謂,因?yàn)榧词顾淖?,我們也能再copy出一份f作用前的a出來。數(shù)學(xué)世界是無需物理實(shí)現(xiàn)的,因而數(shù)學(xué)對(duì)象的存在形式是多重態(tài)的。我們甚至可以說,數(shù)學(xué)世界里只有關(guān)系,沒有動(dòng)作。因?yàn)榉舱務(wù)搫?dòng)作,必然涉及著狀態(tài)到狀態(tài)的改變,而數(shù)學(xué)對(duì)象作為理念存在,可以被無窮份復(fù)制,改變后的東西和改變前的東西可以同時(shí)存在。這就使得它不必引入動(dòng)作。而計(jì)算機(jī)則不然,計(jì)算機(jī)首先被物理地設(shè)計(jì)出來,內(nèi)存的有限性使得同時(shí)存在的變量只能有有限個(gè),每個(gè)變量又只能取一個(gè)值,這種物理世界導(dǎo)致的有限性,使得計(jì)算機(jī)變量不像數(shù)學(xué)變量那樣同時(shí)以無窮份copy的形式存在,而是以一種遵循實(shí)在性、類似費(fèi)米子(同一時(shí)空點(diǎn)不能出現(xiàn)兩個(gè)相同的)的姿勢(shì)存在著。

我知道肯定有學(xué)過計(jì)算機(jī)系統(tǒng)或編譯原理的人要噴我了,說變量未曾真正存在過,只是棧或什么東西上的數(shù)據(jù)寫入/擦除,說我思而不學(xué)則殆。我想說你別急,你懂很多實(shí)現(xiàn)層面的東西,但我所說的事情并不依賴于具體實(shí)現(xiàn),我想說的是,如果從今天開始所有計(jì)算機(jī)全部被天降神雷擊碎,那么我們?nèi)匀豢梢栽O(shè)想一個(gè) 內(nèi)存有限、變量只能取單值 的理想計(jì)算機(jī)內(nèi)存世界,恰似你們沒有人親手做一個(gè)圖靈機(jī),卻可以思考它在某些任務(wù)上是否停機(jī)一樣——我們并不需要物理實(shí)現(xiàn)也可以思考某些東西。進(jìn)一步地,以下這段代碼,即便世界上不存在計(jì)算機(jī)這個(gè)物理對(duì)象,我們?nèi)匀皇强梢运伎计浜x的。我們只需把物理地實(shí)現(xiàn)內(nèi)存世界的方法全部拋棄、直接用內(nèi)存世界的抽象屬性規(guī)定出一個(gè)世界,即可開始討論這段代碼的含義。

double f(int a)

{? ?a=100;

return (double)a/8; }

內(nèi)存世界歸根結(jié)底是物理世界的模擬,最為重要的是模擬了物質(zhì)存在形式的費(fèi)米性,因而計(jì)算機(jī)的函數(shù)實(shí)際上是一系列動(dòng)作;數(shù)學(xué)世界不是物理世界的模擬,其對(duì)象的存在形式是同時(shí)存在無窮多份,因而數(shù)學(xué)的函數(shù)可以說是一種索引關(guān)系,或者你非要說是動(dòng)作也可以——只不過動(dòng)作前后的數(shù)學(xué)世界完全相同。(我指的是把所有可能存在的數(shù)學(xué)對(duì)象及其無窮份copy都收集在一起的最大的數(shù)學(xué)世界)

——————————————————————————————————————————————

例子1,范疇作為帶類型的群

例子2,龐加萊對(duì)偶隱藏強(qiáng)制類型轉(zhuǎn)換

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容