1.2. 一阶语言中的证明

Hilbert 式推演系统一例

接下来, 我们在最少的语境下定义证明这个概念. 我们用到的定义方法并不是最简单的, 但它是最经典的.

定义 1.2.0.1 (全称概括). 对公式 , 我们称形如 的公式为它的全称概括, 这里 都是自然数.

定义 1.2.0.2 (逻辑公理). 我们称以下六类公式的全称概括为逻辑公理.

1.

, 这里 是任意两个公式.

2.

, 这里 , 是任意三个公式.

3.

, 这里 是任意两个公式.

4.

, 这里 是无冲突替换.

5.

6.

, 这里 不在 中自由出现.

7.

.

8.

, 这里 是一个原子公式, 是把 中的一部分 替换为 得到的新的原子公式.

所有的逻辑公理可以列举出来, 我们记这个列举为 . fol 是 first order logic 的简写.

评注. 所有的公理可以被列举出来并不是一件平凡的事实.

定义 1.2.0.3 (证明). 列举有穷或无穷个公式 , 我们记这个列举为 . 我们称有序的有穷公式序列 是从 到公式 的证明, 若对每个下标 :

1.

是公理, 或

2.

是某个 , 或

3.

存在两个小于 的下标 , 使得 形如 .

如果存在 的证明, 则称 证明 , 记为 , 通常简记为 .

如果我们的 没有列举任何公式, 则特别地记之为 . 通常简记为 . 我们将在 时称 为一个定理.

接下来, 我们摆出一些关于证明的元定理, 读者可以自行尝试证明它们. 它们都是常见的证明手段, 因此直接承认其正确性也没太大关系.

引理 1.2.0.4 (循环替换). 如果 作为符号不在公式 中出现, 则对任意变元 总有 是无冲突替换, 且进一步有 就是 .

引理 1.2.0.5 (自由替换). 对任意 的自由变元 和项 , 总有 是无冲突替换.

引理 1.2.0.6 (约束替换). 任给公式 , 项 与变元 , 我们总能构造一个公式 , 满足:

1.

.

2.

是无冲突替换.

定理 1.2.0.7 (概括定理). 如果 不在 的任何公式中自由出现, 且 , 则 .

定理 1.2.0.8 (紧致定理). 如果 , 则可以列举出 中的有限个公式 使得 . fin 是 finite 的简写.

定理 1.2.0.9 (演绎定理). 当且仅当 .

定理 1.2.0.10 (逆否定理). 当且仅当 .

定理 1.2.0.11 (反证法). 如果有公式 使得 , 则 .

公理化理论

接下来, 我们讨论给定了一些非逻辑公理后能证明的全体公式.

定义 1.2.0.12 (公理). 任意一次对有穷或无穷个公式 的列举 都可以称作公理组, 其中的公式称作公理.

定义 1.2.0.13 (公理组中的证明与定理). 类比 的情况, 我们可以定义 . 这称作公理组中的证明.

我们将在 时称 是公理组 下的定理.

定义 1.2.0.14 (一致与完全). 如果存在公式 使得 , 则称公理组 不一致. 如果 不是不一致的, 则称 是一致的.

如果对任何公式 , 总有 之一, 则称公理组 完全. 如果 不是完全的, 则称 是不完全的.

评注. 显然按照这个定义不一致的公理组一定是完全的, 但我们很少考虑这种堪称恶堕的情况.

我们的数学总是在某个公理系统下进行推理, 并证明各种各样的定理. 然而, 我们还常常进行定义, 以简化定理的表述, 在此我们有必要对这一行动做一形式化的解释. 我们显然只能定义两种对象: 一种是谓词, 一种是函数. 我们将在下面处理它们.

定义 1.2.0.15 (定义谓词). 在语言 的公理组 下, 含有 个自由变元 的公式 定义了一个 元谓词 指的是以下行为:

考虑新的语言 , 的取值相同, 且 等于上面指定的 . 我们记这一新语言中的 , 并考虑以下的翻译操作 , 它将 下的公式 翻译为 中的公式 :

1.

对形如 , 若 就是 , 若 , 显然这 次替换对 都是无冲突的.

2.

别的情况归纳新增的部分没有变化.

显然 中的公式与项都可以自然地视为 中的公式与项, 因此 也可以视为 的公理组. 我们向其中再引入全体以下两条公理, 形成一个 中的公理组 :

1.

2.

另一个显然的观察是对 中的公式 总有 .

定理 1.2.0.16. 中总有 .

证明. 归纳, 细节是简单的.

推论 1.2.0.17. 特别的, 在 当且仅当在 . 因此, 具有相同的一致性和完全性.

定义 1.2.0.18 (定义函数). 在语言 的公理组 下, 一个含有 个自由变元 的公式 若还满足则我们说 定义了一个 元函数 的时候指的是以下行为:

考虑新的语言 , 取值相同, 且 等于上面指定的 . 我们记这一新语言中的 , 并考虑以下的翻译操作 , 它将 下的项 和公式 都翻译为 中的公式:

1.

对于形如 的项 , 就是 , 这里 是一个新引入的不同于 的变元符号.

2.

对于形如 的项 , 列举每个项 的自由变元记为 , 假定 新引入的变元符号是 , 由自由替换引理不妨设以上所有变元符号皆两两不同, 这个 , 这里 是一个新引入的不同于以上所有变元符号的变元符号.

3.

对于形如 的项 , 此时 , 仍列举每个项 的自由变元记为 , 假定 新引入的变元符号是 , 由自由替换引理不妨设以上所有变元符号皆两两不同, 且均与 两两不同, 这个 , 这里 是一个新引入的不同于以上所有变元符号的变元符号.

4.

对于形如 的公式 , 仍列举每个项 的自由变元记为 , 假定 新引入的变元符号是 , 不妨设以上所有变元符号皆两两不同, .

5.

对于别的情况的公式, 归纳新增的部分没有变化.

显然 中的公式与项都可以自然地视为 中的公式与项, 因此 也可以视为 的公理组. 我们向其中再引入全体以下两条公理, 形成一个 中的公理组 :

1.

2.

定理 1.2.0.19. 中的公式 , 将之视为 中的公式后得到的 仍是 中的公式, 且 .

证明. 归纳, 细节繁而不难.

定理 1.2.0.20. 中总有 .

证明. 归纳, 细节繁而不难.

推论 1.2.0.21. 特别的, 在 当且仅当在 . 因此, 具有相同的一致性和完全性.

最后, 我们定义一些通用的逻辑符号. 用它们写的句子将被视为对应的句子转写.

定义 1.2.0.22. 我们定义以下符号.

1.

指的是 .

2.

指的是 .

3.

指的是 .

4.

指的是 .