在命題邏輯中,我們考慮了關於原子物件的公式,這些物件只能是真或假。一階邏輯是本章的主題,它建立在命題邏輯的基礎上,並允許您檢視公式中討論的物件內部。我們可以透過將物件討論為大於集合
的集合的元素,幷包括任意複雜的相互關係來提供這種更精細的粒度級別。
我們首先透過定義一階 (FO) 邏輯的語法開始,然後賦予這些結構意義。
一階邏輯的討論域是一階結構或模型。一個一階結構包含
- 關係,
- 函式,以及
- 常量(元數為 0 的函式)。
一階邏輯的詞彙是
- 一組具有關聯元數的關係符號,以及
- 一組具有關聯元數的函式符號。
以下是一些示例一階邏輯詞彙
- 圖
- 關係集 = {
: 一元,
: 二元 }
- 函式集 = {
: 一元 }
- 算術
- 關係集 = {
: 三元,
: 三元,
: 三元,
: 二元,
: 二元 }
- 函式集 = {
: 一元,
: 常量 }
這裡,圖是由一組頂點
和一組邊
組成。對於算術集,請注意使用
和
純粹是語法上的,我們本可以使用“加”和“乘”符號來代替。我們還沒有給這些符號賦予任何意義。
項表示一階結構中的一個元素。項用於指代我們討論域中的元素。以下是描述項是什麼的規則
- 每個變數都是一個項,其中變數只是一個符號集合
- 每個常數都是一個項
- 如果
是項,且
是
元函式,那麼
是一個項。
例如,如果
是一個二元函式,而
是一個三元函式,那麼以下都是項:
.
原子公式是
,
其中
是
元關係,而
是項。當將
視為一個集合時,這只是另一種說法,即元組
.
一個特殊的“
”關係表示“等於”,不能被解釋為其他含義。例如,
代表
.
一階公式是由給定的 一階詞彙表、變數和符號
構成的表示式。 一階公式的集合是滿足以下條件的最小集合。
- 原子公式是一階公式
- 如果
和
是公式,
是一個變數,則以下也是公式






給定詞彙表上的一個一階結構包含以下內容:
- 一個域,它是一組元素(也稱為宇宙)
- 一個對映,它將詞彙表中的每個
元關係符號與域上的
元關係相關聯,並將每個
元函式符號與域上的
元函式相關聯。
這些元件賦予符號意義。
例子
- 關係集 = {
: 三元,
: 三元,
: 三元,
: 二元,
: 二元 }
- 函式集 = {
: 一元,
: 常數 }
在這個詞彙表上的一個一階結構是
- 域:整數集
- 對映 :
加法,
乘法,
冪運算,
排序, 
在這個結構中,公式
![{\displaystyle \exists x\forall y\forall z[\times (y,z,x)\rightarrow ((y=1)\vee (z=1))]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/377ac8513552e4a7fbf47f6b19d20d8e80132996)
表達了“存在質數”的命題(數字1也滿足該命題)。
這裡要注意
等價於
.
在公式
或
中,
被稱為變數
的量化作用域。公式中變數的出現,如果在該變數的量化作用域內,則稱該出現是約束的,否則稱該出現是自由的。您可以將量詞的用法視為變數宣告。
句子是一個沒有自由變數的公式(即所有變數都是約束的)。句子要麼為真要麼為假。
包含自由變數的公式可以被認為是描述自由變數的屬性。例如,
表示一個包含
自由變數的公式,並描述了
的屬性。
如果一個句子
在結構
上評估為真,我們說
滿足
,並將其記為
。
當且僅當
,其中
是
在
中的解釋。
當且僅當
且
。(對於
類似)。
當且僅當
。
如果
對於某些
在域中。
如果
對於每個
在域中。
注意:
表示用
替換
在
中的所有自由出現的結果。替換將在本章後面進一步討論。
公理是一組句子,旨在區分“期望”模型與其他模型。但通常,也存在“非期望”模型,稱為非標準模型。
例如: 考慮詞彙表
,其中符號具有通常的含義(由關於此詞彙表的 FO 句子定義)。這組公理的標準解釋(見本章末尾)是整數,但模
的整數集也滿足這些公理。透過將以下句子新增到公理中,可以排除這種可能性: 
問題: 所有非標準模型都可以透過公理化排除嗎? 答案是否定的。考慮 [TODO: 匯入圖形] 中所示的模型,該模型的詞彙表僅包含
(上行中的所有元素都大於下行中的元素)。
沒有一組一階句子可以區分此模型與自然數。直觀地,原因是,我們無法在一階句子中任意“回溯”(向
)。對於上面的完整詞彙表,也可以獲得類似的非標準模型。
給定一階結構
和 FO 句子
,我們能否判斷
?
對於有限結構,這個問題是可判定的。例如,假設
是一個表示圖邊界的二元關係,而給定句子是
.
我們可以透過嘗試
和
的所有可能值來評估這個句子的真值。(樸素評估:“巢狀迴圈”。)這在域大小上是多項式時間,但在公式大小上是指數時間。
在無限域上,我們可能能夠評估句子的真值,也可能不能。在詞彙
中,其中
是自然數集,如果句子為真,則它是可判定的。(這被稱為普雷斯伯格算術。)但是,如果我們包含乘法,則句子的真值將變得不可判定。
FO 句子的集合
是
- 可滿足的,如果存在某個結構
使得 
- 不可滿足的,如果它不可滿足
- 有效的,如果對所有結構
,都有 
給定一組 FO 句子
和一個句子 
蘊涵
(記為
),如果每個滿足
的結構也滿足
。
當且僅當
是不可滿足的。
- 如果
是有限的,那麼,
當且僅當
是有效的。
- 如果公式
有自由變數
,
是有效的,當且僅當
是有效的。
有效性公理分為三類:
- 布林有效性公理。這些公理從命題邏輯中繼承而來。
- 等式公理。
- 量化公理。
給定一個一階邏輯公式
,
的布林形式是一個命題公式
,使得
是透過將
中的每個命題變數替換為
的子公式得到的。
的布林形式集合用
表示。
例子
- 對於一階邏輯公式
,布林形式為
。
- 如果
,那麼
,其中
。
斷言: 如果
並且
是有效的,那麼
是有效的。
令
是項。以下是一階邏輯的有效公式。

, 其中
是一個
元函式。
, 其中
是一個
元關係。
給定一個公式
,其中變數
出現自由(表示為
)和一個項
,我們定義將
代入
的
,記為
,為將
中每個
的自由出現用
代替得到的結果公式,但必須滿足約束條件:
不包含任何在
中被量化的變數
,使得
出現在
量化範圍內的自由位置。如果
不在
中自由出現,那麼
被定義為
。
例如:設
為
,
那麼
是一個有效的替換
不是一個有效的替換。
,其中
是一個項,
是一個有效的替換



總之,有效性的公理是 
- 布林有效性公理。這些公理從命題邏輯中繼承而來。
- 等式公理。
- 量化公理。
定義:一個證明是一個序列
的 FO 語句,使得對於每個
或者
或者
使得
以及
.
符號: 如果存在使用
的
的證明,我們用
來表示這個事實。
事實 (可靠性): 如果
,那麼
是有效的。
備註: 可以證明有效的公式集是遞迴可列舉的。
示例: 公式
的證明









的證明是 對稱的。



例如
"x 是偶數" 以及
"x 是奇數"




斷言:每個 FO 語句都等價於一個形如
的 FO 語句,其中
且
是無量詞的。
這是透過使用量詞的分配律證明的。可能需要重新命名變數,以避免歧義。雖然你總是可以將所有量詞移動到左側,但所得公式的大小實際上可能比原始公式大很多倍。
例子:







- 使用一個(可能是無限的,但遞迴的)公理集
(一階句子)儘可能詳細地描述所需模型。
- 使用演繹證明事物。
符號: 我們說
是
的有效推論(記為
),如果每個滿足
的模型也滿足
。
事實:
當且僅當
不可滿足。
以下十四個一階公理描述了算術和數字的性質,即加法 (
),乘法 (
),冪運算 (
,相等 (
),排序 (
),後繼函式 (
) 和餘數 (mod)。這個例子展示了一階語句的表達能力,最初人們希望它能為“唯一真正的數學”提供基礎。
問題: 為什麼它們被稱為“非邏輯”公理?
- NT1:

- NT2:

- NT3:

- NT4:

- NT5:

- NT6:

- NT7:

- NT8:

- NT9:

- NT10:

- NT11:

- NT12:

- NT13:

- NT14:
