这一节把命题公式变成可以逐步计算的对象。一旦原子命题固定下来, 真值表就可以通过检查所有可能的真假指派,判断一个复合公式到底是真是假。
这件事听起来很机械,但数学意义非常清楚:如果一个公式只涉及 n
个命题变量,那么就只有 种真假配置。真值表正是把全部情况列出来,
因此不会漏掉隐藏情形。
真值表记录的是什么
定义
真值表
命题公式 的 真值表,会列出 中所有变量的每一种 真假指派,并记录 在每一行的真假值。
例如,如果公式只涉及 和 ,那么共有四行:
所以真值表不只是一个表格,而是一份完整的分类讨论。
怎样稳妥地造一张表
学生做真值表出错,通常不是因为不会某个连接词,而是因为:
- 行没有列全;
- 次序混乱;
- 没先算中间公式就急着写最后一列。
比较可靠的方法是:
- 先列出原子命题的全部真假配置;
- 先计算较简单的子公式;
- 最后再计算整个公式。
当一个公式包含多个连接词时,这个习惯尤其重要。
一个最重要的等价式
例题
为什么 与 表达同一件事
考虑公式 与 。
| | | | | | | --- | --- | --- | --- | --- | | T | T | F | T | T | | T | F | F | F | F | | F | T | T | T | T | | F | F | T | T | T |
最后两列逐行完全一致。
因此
这个等价式在初等逻辑里非常重要。它说明了蕴含式只会在“前件真、 后件假”的那一行失败。
逻辑等价
定义
逻辑等价
如果两个公式 和 在所有变量指派之下都得到相同真假值, 就说它们 逻辑等价,记作
逻辑等价比“恰好在某个例子里一样”强得多。它表示两个公式实际上定义了同一个 truth function。
源材料也特别提醒我们,不要把下面两种记号混为一谈:
- 是一个新的 Boolean 公式;
- 是一个关于两个公式的陈述。
两者有关,但并不是同一个东西。
定理
等价与双条件
两个公式 与 逻辑等价,当且仅当
是一个永真式。
因此双条件可以拿来做检验:如果它的最后一列全部都是真,那么这两个公式就在 每一行都一致。
永真式、矛盾式与偶然式
定义
三种基本类型
设 是一个命题公式。
- 如果 在每一行都真,它就是 永真式。
- 如果 在每一行都假,它就是 矛盾式。
- 如果 有些行真、有些行假,它就是 偶然式。
标准例子是:
它是永真式;而
则是矛盾式。
这个区分很重要,因为很多简短的逻辑论证,本质上就是证明某个公式总是真的, 或者总是假的。
第二个例题
例题
用真值表检验 De Morgan 定律
我们检验
| | | | | | | | | --- | --- | --- | --- | --- | --- | --- | | T | T | T | F | F | F | F | | T | F | T | F | F | T | F | | F | T | T | F | T | F | F | | F | F | F | T | T | T | T |
最后两列逐行一致,所以这两个公式逻辑等价。
这个例子说明了真值表的典型用途:它不只是用来算某一个公式,更是用来证明 一条等价律。
为什么这一节以后还重要
真值表不是逻辑课程的终点,但它训练了两个之后一直会用到的习惯:
- 把语法和意义分开处理;
- 检查“所有情况”,而不是只看一两个例子。
以后学习量词、集合与证明时,这种完整分类讨论的要求会以更成熟的形式再次出现。
常见错误
常见错误
只对上一两行并不够
如果两个公式只是在某一行,甚至几行里一致,都不足以证明等价。 等价要求的是所有可能指派全部一致。
常见错误
不要把 和 当成同一个记号
是放进真值表里计算的公式。 则是说两个公式定义同一个 truth function 的陈述。
读到这里,试一试
边读边试
跟着看一张真值表
互动工具让你切换公式,并观察每一列如何影响最后的真假。
| P | Q | P → Q |
|---|---|---|
| T | T | T |
| T | F | F |
| F | T | T |
| F | F | T |
小检查
快速检查
如果一个公式涉及三个命题变量,真值表需要多少行?
用真假配置数量的规则回答。
解答
答案
快速检查
为什么 是永真式?
逐行说明,不要只背结论。
解答
答案
快速检查
与 是否逻辑等价?
指出至少一行让它们表现不同。
解答
答案
练习
快速检查
用真值表证明 。
先写中间列,不要一步跳到最后答案。
解答