Gödel 完备性定理
Gödel 完备性定理是数理逻辑中的基本定理, 它说明了一阶语言的完备性, 即语义蕴涵与句法蕴涵等价.
通俗来说, Gödel 完备性定理说明了 “所有真的命题都是可证明的”.
1定理
定理 1.1 (Gödel 完备性定理). 设 是一个一阶语言, 是其中的某个公式集, 而 是其中的某个公式. 那么我们有:
2证明
我们采取 Henkin 的证明.
模型存在定理
首先只需要证明如下的模型存在定理:
定理 2.1 (模型存在定理). 如果语句集 (句法) 相容, 即 , 则 存在一个模型.
模型存在定理可以推出 Gödel 完备性定理 (1.1). 首先无妨假设 Gödel 完备性定理中的 只包含语句: 否则只需要把那些自由出现的变元视作一个新语言 中的常数, 而 也仅仅只在 上添加这些常数. 然后我们证明:
• | 是明显的: 验证推导规则每一步即可. |
• | 假设 . 则有 没有模型. 由模型存在定理 (2.1), 知 . 利用排中律和否定规则便得 . |
下面我们证明模型存在定理 (2.1).
Henkin 语言
首先我们需要扩充语言 和语句集 .
在实质性地构造之前, 我们先把 “” 和其公理加进 . 它不影响证明.
定义 2.2.
• | 我们按如下步骤定义 :
被称作 Henkin 语言. | ||||||
• | 对于 中的语句 , 记它被称为 Henkin 公理. |
引理 2.3. 在 中相容.
证明. 首先 在 中相容. 若否, 则 . 从而存在一段演绎使得其叶的后件形如 , 其根的后件是 , 每个节点的后件是 中的公式. 但是 的公式只是 的公式添加一些常数, 所以我们可以把所有出现在节点后件公式中, 却不在 中的常数替换成不出现在这段演绎的变元. 由于叶和根的后件是 中的公式, 所以这个替换不影响叶和根; 但替换之后所有节点的后件都是 的公式, 故 , 与 的相容性矛盾.
其次证明如果 是 中相容的语句集, 且其中的语句不含 , 那么 也是 中相容的公式集. 若否, 则 . 通过推导规则便知 且 . 因为 中的语句不含 , 利用与第一段同样的替换可得 , 其中 是不出现在 中的变元. 全称概括告诉我们 , 即 . 所以 (由存在列举). 结合 知这与 的相容性矛盾.
最后我们利用 Lindenbaum 引理将上述语句集扩充成 上的一个完备理论, 记为 .
Henkin 模型
定义 2.4. 定义如下 - 结构:
• | , 其中 是 中所有常数, 是等价关系 . |
• | 对于 元函数 , . |
• | 对于 元谓词 , . |
显然此定义是良定的, 且 Henkin 公理 (2.2) 告诉我们常数在此结构下保持不变 (即 ).
引理 2.5. 对于任意 中的语句 , 有
证明. 对 递推.
• | 语句 最基础的形式是 . 此时 等价于 , 也就是等价于 . |
• | 对形成语句的规则逐一验证 (需要用到 的完备性), 唯一不平凡的验证是对规则 的验证 ( 可以通过 消去). 如果 , 那么 Henkin 公理 (2.2) 说明 . 从而便说明 是语句 的模型. 由 的定义可以直接得到 . 另一方面, 如果 , 则存在 使得 , 从而有 . 存在概括说明 . |
完成证明
对于不可数语言, 证明完备性定理需要使用 Zorn 引理.
3应用
定理 3.1. 向下 Löwenheim–Skolem 定理: 若可数句子集 是一致的, 为一个可数语言, 则它有一个论域至多 的模型.
Lowenheim-Skolem-Tarski 定理要比这要强: 如果一个一阶逻辑语言 的理论存在无穷大的模型模型, 那么这个模型存在一个基数至多为 的子模型; 还可以要求, 在不违背模型基数要求的情况下, 原模型中任意元素被包含进子模型内. 这一性质 Henkin models 不满足.
(...)