2.1. 命题逻辑
本节将介绍最简单的一种语言, 并描述其性质.
定义 2.1.0.1 (命题逻辑, 语法蕴含). 命题逻辑的语言 有一个可数集合的变量符号和以下这些有限个函数符号:
1. | 零元函数符号或常元符号, 真 |
2. | 零元函数符号或常元符号, 假 |
3. | 一元函数符号, 非 |
4. | 二元函数符号, 且 |
5. | 二元函数符号, 或 |
6. | 二元函数符号, 蕴含 |
我们定义命题逻辑中的项指的是按照以下操作规则得到的只有有限长度的字符串:
1. | 与 是项. |
2. | 若 是变量符号, 则 是项. |
3. | 若 是项, 则 是项. |
4. | 若 与 是项, 则 、、 是项. |
且若一个有限长度的字符串不能经由此过程生成, 则不称其为项.
我们定义命题逻辑的公理为全体以下这些形式的项, 其中 、、 是任意的项:
1. | : |
2. | : |
3. | : |
4. | , |
5. | , |
6. | , |
7. | , |
注意, 每个这些形式的项都叫公理, 所以其实我们有无穷多个公理. 我们给出的规则无非是让我们能递归地枚举它们. 因此, 上面列出来的那些句子又被我们称为公理模式, 意为 " 长成这样子的都是公理 ".
我们定义命题逻辑的推理规则为分离规则: 若 且 , 则 . 其中 与 是任意的项.
我们定义形式推理 为一串项 的缩略记法, 这些项满足: 对任何 , 都有 满足:
1. | 或 或... 或 , 或 |
2. | 存在一个 使得 , 或 |
3. | 存在一个 和一个 使得 (换言之, 由推理规则从之前的项中得来), |
其中等号是字符串的等号 (所有符号均相同); 且有 . 这个 读作语法蕴含.
我们扩张地定义 , 其中 是一集项, 为 的概称, 其中 .
如果 , 则称 是一个定理.
我们又称这些项为命题, 变量符号为原子命题.
评注. 很多时候我们只考虑 与 , 此时我们在无括号简写时默认 只管右边第一个符号, 从右向左算 (即 是 ).
为了说明以上定义是良定的 (换言之, (在元语言中! ) 无矛盾的), 我们还需要验证以下关于字符串的命题, 其证明留作练习. (Hint: 对命题的长度做归纳)
定理 2.1.0.2 (唯一可读性). 我们考虑把每个命题按照其构造方式做成一棵命题的不多于二叉的树, 即令 的两个子节点为 和 , 其中 是二元函数符号之一, 而 只有一个子节点 , 最后全部叶节点都是原子命题或常元符号.
唯一可读性定理指出, 这棵二叉树唯一确定这个命题, 而这个命题也唯一确定这棵树.
现在我们还有另一种方法: 前面只是从形式的角度定义了推理和语法蕴含, 我们还可以从意义的角度来定义语义蕴含的概念.
定义 2.1.0.3 (语义蕴含). 注意到我们有一个可数集合的变量符号, 不妨记这个集合为 原 , 代表原子命题. 我们现在考虑一个函数: 赋’, 它从原映到 真, 假 , 也就是说给每个原子命题赋一个真或者假作为值. 不难发现, 赋’ 可以提升为定义域更大的函数 赋 , 它从全体命题的集合映到 真, 假 , 也就是给每个命题都赋一个真或者假作为值, 使得 (按长度):
1. | 赋 为真, 为假; |
2. | 每个公理都赋值为真; |
3. | 若赋 真, 则赋 假; |
4. | 若赋 假, 则赋 真; |
5. | 若赋 真 真, 则赋 真, 真, 真; |
6. | 若赋 真 假, 则赋 假, 真, 假; |
7. | 若赋 假 真, 则赋 假, 真, 真; |
8. | 若赋 假 假, 则赋 假, 假, 真; |
现在我们考虑所有的 赋 . 我们定义 , 称作前面集里的命题语义蕴含了最后一个命题, 若所有将前面命题都赋真值的 赋 都会把最后的 赋为真值.
如果 , 则称 是一个重言式.
定理 2.1.0.4 (可靠性与完备性). 我们说命题逻辑是可靠的, 因为只要有 , 就有 .
我们说命题逻辑是完备的, 因为只要有 , 就有 .
证明. 可靠性是很简单的, 我们只需要逐个验证缩略的那一串项由于归纳法和我们对 赋 的定义必须逐个为真, 递推到最后一个自然就为真了.
完备性则相当不平凡: 我们只是对 赋 的性质加以描述, 怎么就能产生一个真真切切的推理序列呢? 为了克服这个困难, 我们将这个问题转换一下.
我们称一集命题 是一致的, 若不存在从这个命题集到 的形式推理序列; 称为可满足的, 若存在一个 赋 把集里的每个命题都赋真值. 我们首先证明第一个性质:
性质 2.1.0.5. 则 , 当且仅当 一致则 可满足.
性质 2.1.0.6. 当且仅当 不一致.
第一个性质的仅当: 反证, 假设有一个一致命题集 不可满足, 则必有 对任何 成立, 进而由条件有 对任何 成立, 所以 , 这与一致性假设矛盾, 证毕.
第一个性质的当: 反证, 若有一个 且 , 性质二指出 一致, 从而不妨设某个 赋 满足之. 这样 赋 就必须同时把 和 都赋真值, 矛盾, 证毕.
现在, 我们经由第一个性质, 只需要来证明: 一致命题集都是可满足的, 从而避开了具体构造证明序列的麻烦.
我们称命题集 是极大一致的, 如果它确是一致的, 且对任何不在其中的 , 都有 不一致. 我们引入第三个性质.
性质 2.1.0.7. (Lindenbaum) 每一个一致的命题集都可以扩张成一个极大一致的命题集.