加载中…
系统地建立真值表,用它检验等价式,并区分永真式、矛盾式与偶然式。
原子命题固定后,真值表便可记录复合公式在每一种真假赋值下的值。
若公式涉及 个命题变量,就有 种真假赋值。列出全部赋值并逐行检验,便穷尽了所有情况,因此完整的真值表可以构成证明。
定义 1.2.1
(真值表)
命题公式 的 真值表,会列出 中所有变量的每一种真假指派,并记录 在每一行的真假值。
例如,如果公式只涉及 和 ,那么共有四行:
所以真值表不只是一个表格,而是一份完整的分类讨论。
一张可靠的真值表必须有清楚的行次序和列次序。若有 个原子变量,就列出
行,并从头到尾保持同一个次序。例如三个变量可以依次列为
TTT, TTF, TFT, TFF, FTT, FTF, FFT, FFF。然后每一个子公式增加一列,先算最内层的连接词,最后才算整条公式。没有这些中间列,最后一列就很难检查。
例题 1.2.2
(分步建立 )
先计算 ,再把这一列作为蕴含式的前件:
| T | T | T | T | T |
| T | T | F | T | F |
| T | F | T | T | T |
| T | F | F | T | F |
| F | T | T | T | T |
| F | T | F | T | F |
| F | F | T | F | T |
| F | F | F | F | T |
最后一列只在已经算出的前件为真而 为假时为假。这里有三个独立变量,所以表有八行。
嵌套蕴含也要遵守同一原则。在 中,先计算内部的 。按 的次序,它的四个值是 ;再计算外层蕴含,得到 。所以该公式是永真式。即使 出现两次,也不能跳过内部列;每次出现的作用范围由它所属的连接词决定。
例题 1.2.3
(为什么 与 表达同一件事)
考虑公式 与 。
| T | T | F | T | T |
| T | F | F | F | F |
| F | T | T | T | T |
| F | F | T | T | T |
最后两列逐行完全一致。
因此
这个等价式在初等逻辑里非常重要。它说明了蕴含式只会在“前件真、后件假”的那一行失败。
定义 1.2.4
(逻辑等价)
如果两个公式 和 在所有变量指派之下都得到相同真假值,就说它们 逻辑等价,记作
逻辑等价比“恰好在某个例子里一样”强得多。它表示两个公式实际上定义了同一个 truth function。
这里需要特别注意,不要把下面两种记号混为一谈:
两者有关,但并不是同一个东西。
定理 1.2.5
(等价与双条件)
两个公式 与 逻辑等价,当且仅当
是一个永真式。
因此双条件可以拿来做检验:如果它的最后一列全部都是真,那么这两个公式就在每一行都一致。
定义 1.2.6
(三种基本类型)
设 是一个命题公式。
标准例子是:
它是永真式;而
则是矛盾式。
这个区分很重要,因为很多简短的逻辑论证,本质上就是证明某个公式总是真的,或者总是假的。
例题 1.2.7
(用真值表检验 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 |
第四列和第七列逐行一致,所以这两个公式逻辑等价。
这个例子说明了真值表的典型用途:它不只是用来算某一个公式,更是用来证明一条等价律。
定理 1.2.8
(检验有限命题推论)
对前提 和结论 ,其中 ,论证有效当且仅当
是永真式。这个蕴含式恰好在全部前提真而结论假时为假,这正是反模型。含有假前提的行不能否定论证的有效性。
例题 1.2.9
(比较两组前提)
以前提 推出 ,检验式为 。两个前提同时为真的唯一一行是 ,该行结论也真;其余各行的外层前件为假,外层蕴含式仍真。若改以前提 推出 ,检验式就在 处失败。改变前提就是改变所检验的论证。
例题 1.2.10
(替换等价的内部部分)
在 中,以 替换 。对任意赋值,两个内部表达式真值相同,与同一个 合取后的结果也相同。因此 ;外层连接词及其作用域保持不变。
前面介绍的等价式还提供了一套可审查的改写方法。先把每个双条件替换成 ,再用 替换所有蕴含;用德摩根律把否定向内推进;消去双重否定;需要重新分组时使用分配律。例如:
每一行都用逻辑等价式替换,因此最后一列的真假值保持不变。这样做的价值在于让只有 、、 的子公式更加显眼,便于建立中间列。这些等价式支持改写,但它们并没有免除检查原公式作用范围的要求。这里把只用 、、,且每个 直接作用于原子命题的形式称为否定范式;它是便于造表的目标,不是把所有证明都化成改写。
例题 1.2.11
(等价与蕴含不是一回事)
与 不等价:当 时,前者为假而后者为真。不过,论证 “,所以 ”是有效的,因为不存在前提真而结论假的一行。对应的检验式 是永真式。因此,等价要求两式的最终真值列在每一行都相同,而推论只要求不存在被禁止的前提真、结论假的一行。
下面这些真值表等价式适合在改写公式时使用:
交换律允许交换两个运算对象。结合律允许在重复使用同一个连接词时改变括号。分配律则会改变连接词结构,产生展开步骤。例如:
在更大的公式中使用这个步骤时,先找出完整的左侧模式,用右侧模式替换,再继续计算新的子公式。每一行的最终真假值都保持不变,因为上面每个式子都是由真值表验证的等价式。
交换律双条件是永真式:
| T | T | T | T | T |
| T | F | F | F | T |
| F | T | F | F | T |
| F | F | F | F | T |
也是永真式。当 真而 假时, 为真;当 假而 真时, 为真;当真假相同时,两个蕴含式都真。
以下两个双条件在每一行的值相同:
| T | T | T | F | F | T |
| T | F | F | F | T | F |
| F | T | F | T | F | F |
| F | F | T | T | T | T |
因此 。
例题 1.2.12
(完整计算 )
的完整表如下:
| T | T | T | T |
| T | F | F | T |
| F | T | F | T |
| F | F | F | T |
最后一列全真,所以它是永真式,论证“,所以 ”有效;这不表示 与 等价,它们在 时仍然不同。
的否定恰好在两个值不同时为真:
这是列出双条件为假的两行后得到的“互异”条件。
对于循环蕴含,应避免使用有歧义的链式记号。三个蕴含 、、 迫使三个原子命题的真假值一致,因此精确的等价条件是
这个显式合取写出了需要的两个双条件;不能把 默认为三元连接词。
固定元素 后, 和 都有确定真值。因此,把前面的逻辑恒等式应用于每个元素的成员关系,就能证明相应的集合运算恒等式。对无限定义域使用量词则不同:有限的命题真值表不能枚举所有元素。下一页将用任意元素和经过检验的见证处理这类陈述。
常见错误
(只对上一两行并不够)
如果两个公式只是在某一行,甚至几行里一致,都不足以证明等价。等价要求的是所有可能指派全部一致。
常见错误
(不要把 和 当成同一个记号)
是放进真值表里计算的公式。 则是说两个公式定义同一个 truth function 的陈述。
跟着看一张真值表
选一个公式,看完整真值表中它的那一列。它在全部四个赋值下都为真吗?
| P | Q | P → Q | P ↔ Q | ¬P ∨ Q |
|---|---|---|---|---|
| 真 | 真 | 真 | 真 | 真 |
| 真 | 假 | 假 | 假 | 假 |
| 假 | 真 | 真 | 假 | 真 |
| 假 | 假 | 真 | 真 | 真 |
灰底一列是 P → Q;加框并加下划线的格,是令它为假的赋值。
不成立:P → Q 是恒真式
反例:(P, Q) = (T, F) 使 P → Q 为假。它在其余 3 个赋值下为真,所以也不是永远为假。
要留意不是恒真式不等于永远为假:该列只要有一个 F 就不是恒真式,其余的 T 仍然成立。
快速检查
(如果一个公式涉及三个命题变量,真值表需要多少行?)
用真假配置数量的规则回答。
需要 行,因为三个变量都可以各自独立取真或假。
快速检查
(为什么 是永真式?)
逐行说明,不要只背结论。
如果 真,那么 因为左边真而成立;如果 假,那么 真,所以析取仍然成立。每一行都是真,因此它是永真式。
快速检查
( 与 是否逻辑等价?)
指出至少一行让它们表现不同。
不是。例如当 、 时,有 ,但 。它们在这一行不同,所以不等价。
先自行作答,再检查答案。你可以修改后重试。
加载中…