1. 什么是真值表?
真值表真值表每种赋值一行,并给出公式在该行的取值。阅读完整词条是逻辑学中使用的一种数学表格,用于确定复合逻辑表达式在其组成变量的所有可能真值真值命题可取的两个值之一:真或假。阅读完整词条组合下的真值。它提供了一种系统化的方法来分析逻辑陈述并确定其有效性有效性没有任何解释使前提为真而结论为假。阅读完整词条。
真值表由路德维希·维特根斯坦和埃米尔·波斯特在20世纪初开发,作为分析命题命题非真即假、不能既真又假的陈述。阅读完整词条逻辑的工具。它们成为逻辑实证主义的基石,至今仍是计算机科学、数字电路设计和形式逻辑中的重要工具。
真值表的主要目的是确定逻辑有效性:判断一个论证论证为支持某个结论而提出的一组前提。阅读完整词条或逻辑表达式是否总是真(重言式重言式在任何解释下都为真的公式。阅读完整词条)、总是假(矛盾式矛盾式在任何解释下都为假的公式。阅读完整词条)或有时真有时假(偶然式可真式在有些解释下为真、在另一些解释下为假的公式。阅读完整词条)。
2. 构造方法
构建真值表遵循系统化的过程,确保检查所有可能的情况:
步骤1:识别变量
确定表达式中的所有唯一命题变量命题变元像 p 或 A 这样代表任意命题的字母。阅读完整词条。例如,在'(A ∧ B) → C'中,有三个变量:A、B和C。
步骤2:计算行数
所需的行数等于2^n,其中n是变量的数量。有3个变量时,需要2³ = 8行来覆盖所有可能的组合。
步骤3:创建变量列
列出变量的所有可能真值组合(真/假或1/0)。使用系统化的模式:最右侧变量每行交替,下一个变量每2行交替,再下一个每4行交替,以此类推。
步骤4:添加中间列
对于复杂表达式,为子表达式添加列。这使求值更容易,并有助于识别模式。
步骤5:求值表达式
对于每一行,使用该行的真值计算完整表达式。从最内层的运算开始向外工作,遵循运算符优先级运算优先级省略括号时哪个联结词先起作用。阅读完整词条。
3. 所有运算符的真值表
每个逻辑运算符联结词把较简单的命题组成复合命题的符号。阅读完整词条都有其特征性的真值表模式:
与(合取)- ∧
与运算符只有当两个输入都为真时才返回真。如果任何输入为假,结果为假。这表示逻辑合取合取只有两部分都为真时才为真:p ∧ q。阅读完整词条,其中两个条件都必须满足可满足性是否存在使公式为真的解释。阅读完整词条。
| A | B | A ∧ B |
|---|---|---|
| ⊥ | ⊥ | ⊥ |
| ⊥ | ⊤ | ⊥ |
| ⊤ | ⊥ | ⊥ |
| ⊤ | ⊤ | ⊤ |
或(析取)- ∨
或运算符当至少有一个输入为真时返回真。只有当两个输入都为假时才返回假。这表示包含性析取析取至少一部分为真时即为真:p ∨ q。阅读完整词条。
| A | B | A ∨ B |
|---|---|---|
| ⊥ | ⊥ | ⊥ |
| ⊥ | ⊤ | ⊤ |
| ⊤ | ⊥ | ⊤ |
| ⊤ | ⊤ | ⊤ |
异或(排他或)- ⊕
异或排斥析取两个命题中恰有一个为真时才为真。阅读完整词条运算符当恰好一个输入为真但不是两个都为真时返回真。它表示排他性析取,其中输入必须不同。
| A | B | A ⊕ B |
|---|---|---|
| ⊥ | ⊥ | ⊥ |
| ⊥ | ⊤ | ⊤ |
| ⊤ | ⊥ | ⊤ |
| ⊤ | ⊤ | ⊥ |
蕴含(条件)- →
蕴含条件式p → q,只有 p 真而 q 假时才为假。阅读完整词条运算符表示'如果P则Q'。只有当前件前件条件式中“如果”的部分——p → q 里的 p。阅读完整词条(P)为真且后件后件条件式中“那么”的部分——p → q 里的 q。阅读完整词条(Q)为假时才为假。这可能有违直觉:假前提前提论证为得出结论而假定的陈述。阅读完整词条使蕴含真空地为真。
| A | B | A → B |
|---|---|---|
| ⊥ | ⊥ | ⊤ |
| ⊥ | ⊤ | ⊤ |
| ⊤ | ⊥ | ⊥ |
| ⊤ | ⊤ | ⊤ |
当且仅当(双条件)- ↔
双条件运算符当两个输入具有相同真值(都为真或都为假)时返回真。它表示'当且仅当双条件式p ↔ q,两部分真值相同时为真。阅读完整词条',指示逻辑等价逻辑等值真值表完全相同的两个公式。阅读完整词条。
| A | B | A ↔ B |
|---|---|---|
| ⊥ | ⊥ | ⊤ |
| ⊥ | ⊤ | ⊥ |
| ⊤ | ⊥ | ⊥ |
| ⊤ | ⊤ | ⊤ |
与非
与非与非合取的否定:除非两个输入都为真,否则为真。阅读完整词条是与的否定否定翻转真值:¬p 恰在 p 为假时为真。阅读完整词条。只有当两个输入都为真时才返回假。与非是通用门:任何逻辑函数都可以仅使用与非门实现。
| A | B | A ⊼ B |
|---|---|---|
| ⊥ | ⊥ | ⊤ |
| ⊥ | ⊤ | ⊤ |
| ⊤ | ⊥ | ⊤ |
| ⊤ | ⊤ | ⊥ |
或非
或非或非析取的否定:只有两个输入都为假时才为真。阅读完整词条是或的否定。只有当两个输入都为假时才返回真。像与非一样,或非也是通用门。
| A | B | A ⊽ B |
|---|---|---|
| ⊥ | ⊥ | ⊤ |
| ⊥ | ⊤ | ⊥ |
| ⊤ | ⊥ | ⊥ |
| ⊤ | ⊤ | ⊥ |
4. 分析技术
真值表使分析逻辑表达式的强大技术成为可能:
重言式
重言式是对所有可能的真值赋值解释对公式中所有变元的一次真值指派。阅读完整词条都为真的陈述。在真值表中,最终列只包含'真'值。例如:P ∨ ¬P(排中律)。
矛盾式
矛盾式是对所有可能的真值赋值都为假的陈述。最终列只包含'假'值。例如:P ∧ ¬P。
偶然陈述
偶然陈述是对某些赋值为真而对其他赋值为假的陈述。大多数日常陈述都是偶然的,因为它们的真假取决于具体情况。
逻辑等价
如果两个表达式对每个可能的赋值都有相同的真值,则它们逻辑等价。它们的真值表列将相同。这是逻辑简化的基础。
论证有效性
如果每当所有前提都为真时结论结论论证试图确立的陈述。阅读完整词条也必为真,则论证有效。要检查有效性,寻找所有前提都为真但结论为假的行:如果存在这样的行,论证无效。
5. 简化方法
真值表可以用作简化逻辑表达式的起点:
卡诺图(K图)
K图卡诺图把真值表排成网格,使化简一目了然。阅读完整词条是简化2-4个变量的布尔表达式的视觉方法。真值表被重新排列成网格,其中相邻单元格仅在一个变量上不同,使识别模式和分组项以进行简化变得容易。
- 2个变量:2×2网格
- 3个变量:2×4网格
- 4个变量:4×4网格
奎因-麦克拉斯基算法
这是系统化地最小化布尔表达式的表格方法。它适用于任意数量的变量,当K图变得不实用(超过4个变量)时特别有用。该算法找到所有质蕴涵项素蕴涵项图上无法再扩大的一个方块组。阅读完整词条并选择本质质蕴涵项以创建最小表达式。
布尔表达式最小化
目标是在保持逻辑等价的同时减少项和文字文字一个变元或它的否定,例如 p 或 ¬p。阅读完整词条的数量。这降低了电路复杂度,提高了性能,并使表达式更易于理解。
6. 应用
真值表在许多领域有实际应用:
7. 交互式示例
使用我们的计算器试试这些示例:
示例2:德摩根定律
比较¬(A ∧ B)和(¬A ∨ ¬B) - 它们产生相同的真值表,证明逻辑等价。
| p | q | r | (p ∨ q) → r |
|---|---|---|---|
| ⊥ | ⊥ | ⊥ | ⊤ |
| ⊥ | ⊥ | ⊤ | ⊤ |
| ⊥ | ⊤ | ⊥ | ⊥ |
| ⊥ | ⊤ | ⊤ | ⊤ |
| ⊤ | ⊥ | ⊥ | ⊥ |
| ⊤ | ⊥ | ⊤ | ⊤ |
| ⊤ | ⊤ | ⊥ | ⊥ |
| ⊤ | ⊤ | ⊤ | ⊤ |
常见模式和快捷方式
识别这些模式可以加快真值表的构造和分析:
- 任何与假进行与运算的表达式总是假(零化律)
- 任何与真进行或运算的表达式总是真(零化律)
- P ∧ P = P且P ∨ P = P(幂等律)
- P ∧ ¬P总是假(矛盾律)
- P ∨ ¬P总是真(重言式 - 排中律)
- ¬(¬P) = P(双重否定双重否定否定两次回到原式:¬¬p ≡ p。阅读完整词条)
练习题
用这些练习测试您的理解:
- 构造真值表:(A ∨ B) ∧ (¬A ∨ C)
- 确定(A → B) → C是否等价于A → (B → C)
- 证明(A ∧ B) ∨ (A ∧ ¬B)简化为A
- 验证德摩根定律德摩根定律否定把 ∧ 变成 ∨、把 ∨ 变成 ∧:¬(p ∧ q) ≡ ¬p ∨ ¬q。阅读完整词条:¬(A ∨ B) ≡ (¬A ∧ ¬B)