本文使用 Zhihu On VSCode 创作并发布
笔者计划分为两篇文章。这一篇介绍笔者对Gödel完备性定理的理解以及这个定理的若干应用。下一篇文章完整地证明Gödel完备性定理。
Part II在这里:Gödel完备性定理 —— 一阶谓词逻辑演绎系统 Part II
一阶谓词逻辑语言
和命题逻辑语言相比,谓词逻辑语言有更精细的结构。我们能讨论变量,谓词与函数。具体来说,我们的语言
- 变量符号:
- 函数符号:
(右上角的数字表示元函数,这是一种纯粹为了省事的写法,下同)
- 谓词符号:
- 常数符号:
- 逻辑连接符:
- 括号
和逗号
- 量词:
- 等号:
(为了和元语言(metalanguage)的等号作区分,这里谓词逻辑的等号上面加一个点)
注意等号本质上也是一个特殊的谓词,这里把它单列出来是为了讨论方便。
注意这里一阶(first-order)限制了我们只能对变量使用量词,也就是数学上「对于所有的
关于
在命题逻辑中,我们通过给每个命题符号赋值(assignment),使命题逻辑语言的句子具有真值。一阶谓词逻辑更复杂一些:我们需要首先考虑一个模型(model)
- 论域(domain)
,
- 对每个函数符号
指派一个函数
- 对每个谓词符号
指派一个函数
- 对每个常数符号
赋值。
而一阶谓词逻辑中的赋值(assignment),则是对每个变量符号
考虑一个公式
举个栗子,考虑一个一阶语言
我们知道,任何满足
在引入演绎系统前,我们还需要一个介绍一个换元法则。我们需要如下拗口的定义:设
(通俗地说,一个项是不含有任何谓词符号,等号和量词的公式;严格的定义请参考一阶谓词逻辑的唯一可读性定理)
让笔者尝试解释这个定义的必要性。考虑
现在请读者尝试验证如下规则:
设
演绎系统
我们在之前的文章中介绍过命题逻辑的演绎系统
和2种演绎规则:
上面的
这个演绎系统的A1, A2, A3和MP是我们在命题逻辑中所熟知的,而A4, A5, A6, A7和
如果从前提
演绎系统
和命题逻辑的演绎系统
和
设
它的证明和命题逻辑几乎一模一样(命题逻辑演绎系统的可靠性与完备性),只是在归纳的时候多了一个情况,即全称普遍化,该情况需要用到公理A5。读者可以自行补全细节。
我们在命题逻辑演绎系统的可靠性与完备性中证明了
在一些数理逻辑的教科书中,谓词逻辑的公理系统将全体命题逻辑的重言式作为公理使用。这样做的优势是trivialize命题逻辑的完备性定理。当然,一些数学家希望从尽可能少的公理模式出发得到全部重言式。因此就有了此文中采用的公理系统。
我们举一个栗子来看
设
由演绎定理,只要证
.
四个核心定理
设
可靠性定理(Soundness Theorem): 若
Gödel完备性定理(Gödel's Completeness Theorem):若
紧致性定理(Compactness Theorem):
Löwenheim–Skolem定理:若
完备性定理的意义
声明:本段属于笔者的学习感想,对其中一些名词或者论述的专业性不作保证,如有纰漏恳请指教。
在命题逻辑中,我们可能会感觉到一个演绎系统的存在是不必要的。比如一个公式
然而在一阶谓词逻辑中,即使一个简单的句子
Gödel完备性定理还有两个很强的推论:紧致性定理和Löwenheim–Skolem定理。紧致性定理是证明一个数学命题不属于一阶逻辑的有力工具。比如
关于紧致性定理有个著名的栗子。我们熟悉的任何域都有代数闭包的证明是由Artin给出的,这个证明基于Zorn引理;事实上任何域都有代数闭包只需要用到一阶逻辑的紧致性定理,而紧致性定理事实上是弱于选择公理的。可以参考:Is the statement that every field has an algebraic closure known to be equivalent to the ultrafilter lemma?
Gödel完备性定理是一阶逻辑的强大之处。然而对于更复杂的系统,完备性就失去了。我们有著名的Gödel第一不完备定理:通俗地说,一个蕴含Peano算数(即自然数)的有效公理化的一致的形式系统中,一定存在既不能被证明也不能被证伪的命题。