集合論和一階邏輯的關係?

http://logic.fudan.edu.cn/doc/Course/2014/MathLogic/Lecture01.pdf最後一段:

  • 集合論可以被看作是一種一階邏輯理論

  • 一階邏輯的語法、語義概念都可以在集合論中定義,
    關於一階邏輯的定理可以被看作是集合論的定理

建立一階邏輯時貌似很多定義都用了集合論描述。

而集合論本身又可以被看作是一種一階邏輯理論。

不是有循環定義的嫌疑嗎?

2015.3.27

找到了Stackexchange上一個類似的問題An (apparently) vicious circle in logic。


幻燈片竟然被引用到知乎了。

鏈接中是上學期第一堂課的幻燈片,最後一張的標題是「集合論與一階邏輯是什麼關係?」,以問號結尾。關於這個問題,我給出了兩則容易令人困惑的命題而沒再做進一步的解答。目的是激發同學們的思考,希望大家帶著這個問題,經過一個學期的學習,能形成自己的見解。

一來,對這個日常語言表達的問題很難說某個答案是完備且無爭議;二來,對這個問題有意義的討論需要一些知識和訓練作前提(例如,一個學期的數理邏輯課程)。因此,在這裡也只能很粗略地談談我的理解。

1. 一些澄清

我們先澄清幾個相關概念以縮小討論範圍。有關概念的解釋並非唯一。這裡的「澄清」也並非嚴格的數學定義,限於篇幅,更談不上完備。

1.1) 一階邏輯 http://en.wikipedia.org/wiki/First-order_logic

1.1.1) 一階邏輯的語言。一種人工語言。我們人為規定了一些初始符號(邏輯符號、輔助符號、變元、等詞、函數符號、謂詞符號等),由這些符號組成(合規格的)公式、句子的規則。這些初始符號、公式在本體論上可以是符合一些條件(為保證唯一可讀性)的任何東西,當然也可以是集合。通過定製不同的函數符號、謂詞符號可以得到不同的一階邏輯語言,如集合論的語言(只含有一個二元謂詞符號,用以表示「屬於」關係)、數論的語言(有加法符號、乘法符號等)等。

1.1.2)一階邏輯的語法概念。一般我們用這個稱謂囊括了一階邏輯語言的「初始符號」、「公式」、「句子」、「邏輯公理」(一集一階邏輯語言的句子集)、「證明」等概念。

1.1.3) (狹義的)一階邏輯。指一些一階邏輯語言句子組成的集合,它們是邏輯公理和僅從它們「可證」的句子。

1.1.4) 一階邏輯的語義概念。指「(一個一階語言公式)在(某個結構、賦值下)滿足」、「(一個一階句子)是(在某個結構下)真的」、「(一個一階邏輯公式/句子)是有效的」、「(一個公式)定義了(一個結構論域上的某個子集或關係)」等。

1.1.5) 一階(邏輯)理論。某個一階語言的一集句子。有時候也可以加上在「可證」下封閉這個條件。

1.1.6) 關於一階邏輯的定理,指一階邏輯的唯一可讀性、完全性定理、緊緻性定理等等。

1.2) 集合論指某種公理化的集合論,如常見的Zermelo-Fraenkel Set Theory(http://plato.stanford.edu/entries/set-theory/ZF.html)。這是一組一階集合論語言(這是一種一階邏輯語言。也有其他形式語言中的公理化集合論,如NBG http://en.wikipedia.org/wiki/Von_Neumann%E2%80%93Bernays%E2%80%93G%C3%B6del_set_theory,它可以被看作是一種 two-sorted language http://en.wikipedia.org/wiki/Many-sorted_logic的理論)的句子,即所謂集合論公理,以及從它們「可證」的句子組成的集合。

不難看出,(狹義的)一階邏輯與集合論都是一階語言句子集。如果限定在集合論語言下,(狹義的)一階邏輯是公理化集合論的一個子集。它們都是一種一階理論。

1.3) (一個一階理論)描述(一個一階理論)。一般沒這個說法。我們有關於用一個一階理論「解釋」(interpret)另一個一階理論的說法。例如,把PA(皮亞諾算術)翻譯到ZF中。我們也可以說,例如,PA(作為一個集合)在ZF中可定義。(見後文)

2. 基於上述澄清,我們說「集合論是一種一階理論」。原命題中用了「可以」,是因為「集合論」還可以有別的解釋。

3. 「一階邏輯的語法、語義概念都可以在集合論中定義, 關於一階邏輯的定理可以被看作是集合論的定理」。

「(一個概念)在(一個一階理論中)可定義」是什麼意思?

例如:我們說,「自然數」這個概念在ZF中可定義,是指存在一個集合論語言的公式 phi(x),我們認為 phi(x) 定義了自然數集。「我們認為 phi(x) 定義了自然數集」不是一個嚴格的數學判斷,因而無法得到一個數學證明。因為這裡的「自然數」只是人們的一個直觀。但是,我們可以通過在ZF中證明一些命題來讓人們相信,phi(x) 確實刻畫了我們關於自然數的直觀。例如,ZF可以證明,phi(1)、phi(2)、……甚至證明 forall x phi(x) -&> phi(x+1) (注意,「+」、「1」、「2」也是ZF中定義的,並非集合論語言的初始符號),對應於我們關於「1是自然數」、「2是自然數」……以及「自然數的後繼也是自然數」這些直觀。這裡,我們又稱諸如「forall x phi(x) -&> phi(x+1)」是ZF中所證明的關於自然數的一個定理。

在這個意義上,我們宣稱,如,「一階邏輯的公式」這個概念在ZF中可定義,等等。也正是在這個意義上,我們宣稱幾乎所有的經典數學概念都可以在集合論中定義。這和丘奇論題(Church"s thesis,參見 Church)宣稱,「(函數f)可計算」這個直觀概念被「(函數f)圖靈機可計算的」(即某個一階公式psi(f))刻畫,是異曲同工的。它不是一個數學判斷,但我們可以證明關於圖靈可計算的一些定理,讓我們相信它確實刻畫了我們關於「可計算」概念的直觀。

在上述意義上,我們說一階邏輯的一些語法、語義概念在ZF中可定義,也可以說(狹義)一階邏輯這個句子集在ZF中可定義,甚至可以說ZF這個句子集在ZF中可定義。但反過來,我們不能說這些概念在(狹義)一階邏輯這個理論中可定義的,因為這個理論證明不了的我們需要的一些定理。

4. 數理邏輯中有關於理論的解釋力(interpretability strength)的一些刻畫,例如一致性強度(consistency strenth,參見 http://en.wikipedia.org/wiki/Equiconsistency#Consistency_strength)。在這些刻畫下,集合論的解釋力都強於(狹義)一階邏輯,即集合論可以解釋一階邏輯,反之則不行。沒有循環。

5. 在邏輯學中,給定一個形式語言初始符號及其語義,我們可以把新的符號定義為初始符號的特定組合,新符號的語義可以歸約為初始符號的語義。但如果把非初始符號A定義為包括了非初始符號B的一些符號的組合,而B又是包括了A的一些符號的組合,就出現了「循環定義」。這種情況下,我們沒法把A和B還原為初始符號的組合,也沒法通過對初始符號的解釋準確得到對A、B的解釋。

以上,我們在集合論中對諸概念的定義,都表現為把「初始符號」、「公式」、「證明」、「滿足」、「真」、「一階邏輯」、「ZF」還原為集合論語言初始符號的組合。不存在「循環定義」。

「循環定義」作為日常語言使用中的一個現象,普遍存在。在日常語言中,本就沒有所謂初始符號或初始概念,許多概念都是相互解釋模糊不清的,也就談不上「循環定義」的錯誤了。

6. 「建立」的問題。數學實在論(柏拉圖主義)認為,數學對象都是獨立於人而存在的,自然沒有「建立」一說。數學直覺主義認為,數學(對象)都是由心靈構造的。按照直覺主義(布勞威爾)的路線,人的心靈是先通過所謂「二一性」(two-oneness)的直觀,構造出各個自然數乃至自然數概念(部分),由此,我們可以構造出上面所涉及的各個邏輯學概念(並不一定要集合論這麼強的理論)。特別地,「(狹義)一階邏輯」、「ZF」概念也可以由此被構造出來,不會依賴對方才能被構造。值得一提的是,一些構造主義(包括直覺主義)的確基於一些概念的構造必須以彼此為前提來拒絕承認那些概念是有效的(見:Impredicativity)。這裡並不涉及這種情況。

7. 就現實中的學習過程而言。我們的確會在數理邏輯的課程中穿插著講很多集合論的內容;在集合論的課程中又講很多關於一階邏輯的知識。並且這是必要的,即對彼此的理解依賴對方。注意,這裡的集合論、一階邏輯的意義不再限於前面的澄清。此外,如果在哲學上採納柏拉圖主義立場,即這些數學對象都是獨立於我們而存在的,它們彼此聯繫。如此,更不難解釋為什麼我們對它們的認識理解必須這樣穿插著進行了。

我個人對上述回答很不滿意。限於篇幅,很多斷言缺乏論證。回答中避免使用一些專業術語,因為若不給出大量定義、定理,一些術語的日常理解容易引起誤解。因此,只能盡量選擇日常語言中較易理解又不易產生誤解的說法。但這樣可能既不能完全避免誤解,又顯得不專業,很難把握。所以,我還是建議對相關問題感興趣的讀者,花時間系統學習一下數理邏輯與集合論課程。這方面優秀的教材很多,這裡就不謙虛地推薦一下我們的《邏輯與形而上學教科書系列:數理邏輯·證明及其限度》和《集合論:對無窮概念的探索》。

====2015.5.9更新=============

上述回答無疑是失敗的,因為我原本試圖在不預設任何哲學立場的前提下回答這個問題。站在不同的哲學立場上,答案是簡單而直接的。

如果採取實在論(柏拉圖主義)的立場。那麼無論集合論還是一階邏輯都是我們有限的人類關於那個無窮的概念世界之規律的描述。就如同物理定律是對物理世界規律的描述一樣。因為是對一個客觀世界的描述,那就無所謂誰先誰後,誰建立誰的問題了。

如果站在形式主義的立場。ZFC公理系統是一階邏輯公理系統的擴張。我們在ZFC公理系統里演繹出一些符號串。至於這些符號串是不是表達關於一階邏輯或ZFC公理系統本身的一些事情,嚴格的形式主義者根本不關心。

……


我用類比科普一下吧。集合論是描述集合這個結構的理論。就如同牛頓力學是描述物理世界的理論一樣。一個理論可以在多個框架下表述。比如牛頓力學可以用哈密頓方程的框架等方式。

一階邏輯是一種表述理論的框架。比如,它可以使用存在,任意這兩個詞語(基本所有的數學理論都用到這兩個詞語,比如自然數的理論中的語句,「任何x.y x+y=y+x」)。你小學到大學期間所做的所有數學題的證明或計算(計算也可看做證明)都是在一階邏輯的框架下。

這個框架的規則是各個理論通用的,比如命題p.q都正確,則命題p且q正確。一階邏輯不能表述的語句,比如「任何性質p,p蘊含性質q」。一階邏輯法則還包括命題p要麼真要麼假。另一種邏輯,多值邏輯則不要求這一條。

同一個理論往往可以在多個邏輯框架下表述。比如集合論也可以用無限邏輯(可數無限次地使用存在,任意這兩個詞語。可數無限步的證明。而一階邏輯限定,只能用有限個存在,任意,有限步的證明。)

一般來說研究一個數學結構都只選定一個在一階邏輯框架中表述。因為這個框架人們最熟悉,也最直接的契合柏拉圖主義。而且換用其他邏輯框架表述並不會有本質不同。比如,這兩個問題。

量子力學中,粒子的狀態不確定,是否意味著只能用多值邏輯或模糊邏輯表述它?

哥德爾不完備定理針對的是一階邏輯,換用其他邏輯是否就可以規避不完備定理產生的困難,就是說遇到獨立於當前一階邏輯框架下表述的理論的公理,是否可以通過換用其他邏輯框架(如無限邏輯),從而就不需要尋找新的公理了?


使用「元-對象」的區別即可像開掛一樣解決這個問題。

我們先建立樸素的公理集合論(就是用自然語言描述的公理集合論),然後用這個樸素的集合論建立一階邏輯。這些都是元理論。

接著我們就可以用一階邏輯這種形式語言建立公理集合論了,但是此「集合論」非彼「集合論」。這就是說我們建立了兩遍集合論,一個叫元集合論,另一個叫對象集合論,元集合論是用來研究對象集合論的工具,對象集合論就是被研究的對象。然後你可以以這個公理集合論為起點再建立一遍一階邏輯,同樣的這個一階邏輯和之前的那個一階邏輯不是一個東西。


因為寫教材的兩邊不通氣,它只是建立一個本分支的體系,並沒有考慮整個數學體系。實際上,你可以先用自然語言描述集合論,再用集合論的定義和符號描述一階邏輯。也可以先用自然語言描述一階邏輯,然後再用一階邏輯的定義和符號描述集合論。無論如何只有一種選擇才能前後連貫的。布爾巴基集合論選擇了第一種方案,在一階邏輯的定義中,根本不需要提到什麼集合。


@楊睿之

也談談我的理解

1.您認為公理系統是存在於客觀世界的 對嗎;

2.我也承認一些概念是天然存在與我們腦海中的,比如據我所知,量化的概念,獨立於任何公理系統,並非構造出自然數才有量化概念。

3.我最初學習的集合論公理系統是自然語言公理系統,一些公理系統(如實數公理系統中一些公理似乎只能用二階邏輯的語句才能描述)

4.我的見解是,我承認集合論的天然存在性,在集合論當中,集合的概念是不加解釋的,一階邏輯謂詞系統中也要用到集合的概念,將集合論用一階語言表述的結果是zfc

5.我認為 zfc公理系統事實上可以看作一階邏輯系統的擴張 但我認為這是用一階語言描述集合論本身那些公理的結果


一階邏輯是集合論的元語言(Meta Language).


推薦閱讀:

阿列夫零是什麼?
為什麼不能用數學歸納法證明函數項級數的收斂性?
如何證明 不存在最大的集合的勢?

TAG:數學 | 邏輯學 | 集合論 |