通常的邏輯演算是一階謂詞演算,也叫一階邏輯。在其中除命題聯結詞外,所討論的函詞及謂詞都隻以個體為變目,而量詞及摹狀詞隻以個體變元為指導變元(約束變元)。一階邏輯是很重要的。但它也有不足,它不是自封閉的。雖然一階邏輯中含有量詞符號“∀”、“彐”,又含有謂詞、函詞變元符A、f,但卻沒有以謂詞變元、函詞變元為指導變元的量詞。例如當A>、B是謂詞變元符時,A(x)→B(x)是一階邏輯的公式,但彐A彐B(A(x)→B(x))卻不再是一階邏輯的公式瞭。
可以從多方面來推廣一階邏輯。首先是允許量詞、摹狀詞的指導變元既可以為個體變元,又可以為謂詞變元及函詞變元。這樣推廣後就得到瞭通常所說的二階邏輯。例如,彐A彐B(A(x)→B(x))便是二階邏輯的公式。
在一階邏輯中無法定義出“等於”這個謂詞。在二階邏輯中,對於公式“x=y”則可以定義為∀A(A(x)≡A(y))。該式表示:對於任何性質A,A(x)與A(y)或同時成立或同時不成立。由於當且僅當x與y相等時∀A(A(x)≡A(y)成立,所以就可以用∀A(A(x)≡A(y))作為x=y的定義。但是如果省略“∀A”而寫成A(x)≡A(y),那麼意思就完全改變瞭。它隻表示:對於所給的性質A,A(x)與A(y)或同時成立或同時不成立。這就表明用A(x)≡A(y)絕不能定義x=y。所以,二階邏輯的確強於一階邏輯。
對於二階邏輯所使用的公理系統通常與一階邏輯使用的公理系統相仿。不過有關量詞的公理推廣到瞭以謂詞變元及函詞變元(不再限於僅是個體變元)作為指導變元。但是,這種公理系統是不能夠推出二階邏輯中的一切永真公式(所謂主要永真公式)的,而隻能推出其中的一部分(所謂次要永真公式)。已經證明瞭,主要永真公式是不能公理化的,即不能夠做出一個公理系統,使得凡是主要永真公式均可在該系統中推出並且該系統可推出的公式僅為主要永真公式。在二階邏輯中所討論的常常是主要永真公式。既然它不能公理化,因此上面所說的二階邏輯公理系統也就沒有一階邏輯公理系統那麼優越瞭。
如果對含有自由謂詞變元,函詞變元的公式利用概括原則抽象出一個新謂詞。那麼這個新謂詞就是一個以謂詞、函詞為變目的二階謂詞。例如,對於含二元謂詞R的公式∀x∀y(R(x,y)→R(y,x)根據概括原則可抽象出一個表示對稱性的謂詞Sym,即
![](/img3/5131.gif)
![](/img3/5132.gif)
在高階邏輯中,每個謂詞或函詞的空位,究竟應該填以什麼東西這完全是由謂詞或函詞本身決定的,由一個謂詞(函詞)空位中可以填入的東西的全體組成的集合叫做該謂詞(函詞)的定義域。一階謂詞(函詞)的定義域必須是某個個體域,而高階謂詞(函詞)的定義域就必須是由較低階謂詞,函詞及個體組成的集合。對於一個高階謂詞(譬如n+1階謂詞),哪個空位必須填以n階謂詞、函詞,哪個空位必須填以較低階謂詞、函詞甚至是個體,都有著明確的規定。因此就不會出現高階謂詞。函詞填入較低階謂詞的空位中的現象。所以,在高階邏輯中就可以無條件地使用概括原則而不致產生悖論。反之,如果把各階謂詞、函詞不加區別,組成一個共通的域(無類型的集合域),這便是集合論。在集合論中對概括原則必須加適當的限制,否則就會產生悖論。人們寧肯對概括原則加以一定的限制,而使用無類型的集合論作為數學的基礎。因此高階邏輯就被人們忽略瞭。
對於高階謂詞及高階函詞的本質還可有另一解釋,例如前面提到的Sym、tr,可以不把它們看成是以謂詞為變元的高階謂詞,而把它們看成是具有兩個指導變元的約束詞。即對於Sym(R)及tr(R),寫成Symx,yR(x,y),trx,yR(x,y),其中x、y是Sym及tr的指導變元,R(x,y)是Sym及tr的作用域。Symx,yR(x,y)與trx,yR(x,y)的意思就是說:作為x,y的二元謂詞而言,R(x,y)是對稱的和可傳的。在這裡,Sym及tr的作用完全和量詞∀,彐的作用一樣,其所以具有兩個指導變元,隻因R是二元謂詞罷瞭。在這種解釋之下,所謂的高階謂詞無非是一些類似於量詞的約束詞,所謂的高階函詞無非是一些類似於摹狀詞的約束詞,在高階邏輯中,隻是研究由概括原則抽象出的各種約束詞的公共特性。鑒於約束詞的使用日益頻繁,所引進的約束詞日益增多,作為研究各種約束詞公共特性的高階邏輯就將會日益顯示其重要性。