真值表
真值表是使用於邏輯中(特別是在連結邏輯代數、布林函數和命題邏輯上)的一類數學用表,用來計算邏輯表示式在每種論證(即每種邏輯變數取值的組合)上的值。尤其是,真值表可以用來判斷一個命題表示式是否對所有允許的輸入值皆為真,亦即是否為邏輯有效的。
「用真值表製表的推理模式是由弗雷格、查尔斯·皮尔士和恩斯特·施羅德於1880年代所发明的。這種表格於1920年代之後廣泛地發現在許多文獻上(扬·武卡谢维奇、埃米爾·波斯特、维特根斯坦)”(蒯因, 39)。路易斯·卡罗早在1894年就公式化了真值表来解决特定问题,但是包含他这项工作的手稿直到1977年才被发现[1] 。维特根斯坦的《逻辑哲学论》利用真值表把真值函数置于序列中。这个著作的广泛影响导致了真值表的传播。
真值表被用來計算以「決策程序」建構的命題表示式的值。命題表示式可以是一個原子公式(命題常數、命題變數或命題函數,如Px或P(x)),或以邏輯算子(如邏輯與(∧{displaystyle land })、邏輯或(∨{displaystyle lor })、邏輯非(¬{displaystyle lnot }))由原子公式建構出來的公式。舉例來說,Fx∧Gx{displaystyle Fxland Gx}即是個命題表示式。
真值表中的列标题展示了 (i)命题函数与/或变量,和 (ii)建造自这些命题函数或变量和运算符的真值泛函表达式。行展示对 (i)和 (ii)的T或F指派的每个可能的求值。换句话说,每行都是对 (i)和 (ii)的不同解释。
经典(就是说二值)逻辑的真值表限定于只有两个真值是可能的布尔逻辑系统,它们是“真”或“假”,通常在表中简单的表示为T和F。
目录
1 否定
2 逻辑合取
3 逻辑析取
4 逻辑与非
5 逻辑或非
6 逻辑异或
7 最常用逻辑运算符的真值表
8 二元运算符的紧缩真值表
9 引用
10 外部链接
11 参见
否定
在布尔逻辑系统中,所有运算符都能以这种方式明确的定义。例如NOT(¬)关系定义如下:
A{displaystyle A}
¬A{displaystyle A}
F
T
T
F
逻辑合取
例如,采用两个命题变量,A{displaystyle A}和B{displaystyle B}和逻辑运算符"AND"(∧),表示合取"A与B"或A{displaystyle A} ∧ B{displaystyle B}。在普通英语中,如果A和B都是真的,那么合取"A{displaystyle A} ∧ B{displaystyle B}"是真的;在所有的对A{displaystyle A} ∧ B{displaystyle B}的真值的可能指派,合取都是假的。这种联系定义如下:
A{displaystyle A}
B{displaystyle B}
A{displaystyle A}∧B{displaystyle B}
F
F
F
F
T
F
T
F
F
T
T
T
逻辑析取
OR (∨)关系定义如下:
A{displaystyle A}
B{displaystyle B}
A{displaystyle A}∨B{displaystyle B}
F
F
F
F
T
T
T
F
T
T
T
T
逻辑与非
可以构造复合的表达式,使用圆括号来指示优先级。
合取的否定¬(A{displaystyle A} ∧ B{displaystyle B})≡ A{displaystyle A} ∧ B{displaystyle B},和否定的析取¬ A{displaystyle A} ∨ ¬ B{displaystyle B}描述如下:
A{displaystyle A}
B{displaystyle B}
A{displaystyle A}∧B{displaystyle B}
A{displaystyle A}∧B{displaystyle B}
¬A{displaystyle A}
¬B{displaystyle B}
¬A{displaystyle A}∨¬B{displaystyle B}
F
F
F
T
T
T
T
F
T
F
T
T
F
T
T
F
F
T
F
T
T
T
T
T
F
F
F
F
逻辑或非
真值表可以用来证明逻辑等价。
析取的否定¬(A{displaystyle A} ∨ B{displaystyle B})≡ A{displaystyle A} ∨ B{displaystyle B},和否定的合取¬ A{displaystyle A} ∧ ¬ B{displaystyle B}描述如下:
A{displaystyle A}
B{displaystyle B}
A{displaystyle A}∨B{displaystyle B}
A{displaystyle A}∨B{displaystyle B}
¬A{displaystyle A}
¬B{displaystyle B}
¬A{displaystyle A}∧¬B{displaystyle B}
F
F
F
T
T
T
T
F
T
T
F
T
F
F
T
F
T
F
F
T
F
T
T
T
F
F
F
F
比较上面两个真值表,因为对A{displaystyle A} ∧ B{displaystyle B}和¬ A{displaystyle A} ∨ ¬ B{displaystyle B}二者,与A{displaystyle A} ∨ B{displaystyle B}和¬ A{displaystyle A} ∧ ¬ B{displaystyle B}二者,枚举A{displaystyle A}和B{displaystyle B}的所有可能真值生成相同真值,它们分别是逻辑等价的,并可相互代换。这种等价是德·摩根定律中的。
逻辑异或
A ∧ B (还写为A⊕B{displaystyle Aoplus B}或A≠B{displaystyle Aneq B})描述如下:
A{displaystyle A}
B{displaystyle B}
A{displaystyle A}∧B{displaystyle B}
T
T
F
T
F
T
F
T
T
F
F
F
最常用逻辑运算符的真值表
下面的真值表给出2个二值变量(P,Q是布尔变量)的16个可能的真值函数中最常用的7个的定义:
P{displaystyle P}
Q{displaystyle Q}
P{displaystyle P}∧Q{displaystyle Q}
P{displaystyle P}∨Q{displaystyle Q}
P{displaystyle P}∧Q{displaystyle Q}
P{displaystyle P}∨Q{displaystyle Q}
P{displaystyle P}→Q{displaystyle Q}
P{displaystyle P}←Q{displaystyle Q}
P{displaystyle P}↔Q{displaystyle Q}
F
F
F
F
F
T
T
T
T
F
T
F
T
T
F
T
F
F
T
F
F
T
T
F
F
T
F
T
T
T
T
F
T
T
T
T
注解:
- T = 真,F = 假
- ∧ = AND(逻辑合取)
- ∨ = OR(逻辑析取)
∨ = XOR(异或)- ≡ = XNOR(异或非)
- → = “如果-那么”条件
- ← = “當”条件
- ↔ = 双条件或“当且仅当”
Johnston图,类似于文氏图和欧拉图,提供了可视化真值表的方式。LogicTutorial.com有展示真值表的交互的Johnston图。
二元运算符的紧缩真值表
对于二元运算符,还使用一种紧缩形式的真值表,这裡的行标题和列标题指定操作元(operand)而表单元指定结果。例如布尔逻辑是这种真值表表示法:
|
|
这种表示法在运算符是交换性的时候特别有用,尽管你可以补充的指定行是第一个操作元而列是第二个操作元。这种紧缩的表示法在讨论逻辑的多值扩展时特别有用,因为组合數的爆炸性增加,它能有效的缩减所需要的行数。它还提供了在表中值的分布的快速可辩识的特征性"形状",可以帮助读者更加快速的把握规律。
引用
Quine, W.V.(1982), Methods of Logic, 4th edition, Harvard University Press, Cambridge, MA.
外部链接
- Web-based truth table generator
- Boolean expression evaluator, generates truth table (Java applet)
参见
- 真值
- 连结词
- 真值函数
- 零阶逻辑
- 命题逻辑
- 布尔代数主题列表
|