Skip to content

模型Model

真值表

施工中 · 内容逐步修订

Truth table

按命题变元的全部赋值逐行计算复合公式真值的有限表格模型。

形式陈述 ​

对只含 n 个不同命题变元 p1,…,pn 的公式,真值表列出全部 2n 个赋值

v:{p1,…,pn}⟶{⊥,⊤},

其中 ⊥、⊤ 分别表示假、真。再依命题逻辑中联结词的真值规则,从子公式到整式逐层计算,例如

v(¬φ)=¬v(φ),v(φ∧ψ)=v(φ)∧v(ψ).

生成输入行时可以把真、假看作二进制的 1,0,依次枚举长度为 n 的全部位串;每增加一个不同变元,每种已有输入都分成真、假两种延伸,行数因此翻倍。每行是一种完整赋值,辅助列记录子公式的结果。整式列全真表示永真,全假表示不可满足,真假兼有表示偶然式。两公式在两式出现的变元之并集上逐行同值,就表示逻辑等价。

直觉

一行可以看作一次独立的输入测试,但整张表与抽样测试不同:有限个布尔输入的所有组合已经列完,因而没有遗漏的情形。每个变元在同一行中的值固定,重复出现多少次都不能另作选择。括号确定计算顺序,先填较小子公式,可以避免把不同语法结构误算成同一式子。

真值表只读取原子命题的真假,不解释它们之间可能存在的数学约束。例如把“x=0”和“x=1”分别记为 p,q 后,纯命题表仍会列出 p,q 同真一行;这一行在实数语境中无法实现,却是检验命题形式本身是否永真时必须考虑的赋值。

例子与边界

蕴含的四种输入 ​

比较 p→q 与 ¬p∨q:

p q ¬p p→q ¬p∨q
真 真 假 真 真
真 假 假 假 假
假 真 真 真 真
假 假 真 真 真

以第三行为例:先固定 p 假、q 真,计算得 ¬p 真,再计算“真或真”为真;另一列的蕴含因前件假也为真。对其他三行执行同样的自下而上计算,最后两列一致,因此两式等价。唯一使蕴含为假的情形是前件成立而后件失败。这个定义不表达因果关系;当前件为假时,蕴含为真,也不能据此反推前件。

例如从 p→q 与 q 推出 p 的推理无效:第三行使两个前提都真,结论却假。有效推理要求不存在“所有前提真而结论假”的行,不要求结论在每一行都为真。

穷举范围与计算代价 ​

p∨¬p 两行全真,p∧¬p 两行全假;两式虽然各出现两次 p,仍各只需两行。一个长度为 m、含 n 个不同变元的公式可在每行按语法树计算,完整穷举所需时间量级为 O(m2n)。流式处理时只需保留当前行,指数行数并不强制指数工作内存。

一阶量词还需要指定论域与符号解释,不能直接用有限命题真值表穷尽任意结构。对已给定的有限论域,才可以将量词展开成有限合取或析取后再使用这种方法。

推论与应用

永真式要求每行真,可满足公式只要求存在一行真,逻辑等价则比较两列是否处处一致。三项检查的量词不同,不应混为一谈。

真值表还给出析取范式(DNF)的直接构造。对每一真行,把取真的变元原样写出、取假的变元加否定,然后用“且”连接。这一项恰好只在该行成立;把各真行对应的项用“或”连接,就恢复原公式。例如异或的真行为“真假”和“假真”,故得到 (p∧¬q)∨(¬p∧q)。

合取范式(CNF)则逐个排除假行。异或的假行为“真真”和“假假”:前者对应只在该行失败的子句 ¬p∨¬q,后者对应 p∨q;把它们合取,便得 (¬p∨¬q)∧(p∨q)。这里从假行生成文字时,取反规则与 DNF 相反。

电路检查、Karnaugh 图、BDD 与 SAT 求解器共享这些布尔语义,但后几种表示或搜索方法可在许多实例上避免展开全部行。

参考资料
  • Richard Hammack, Book of Proof, 3rd ed., 2018,§§2.5–2.6 “Truth Tables for Statements” 与 “Logical Equivalence”。
  • P. D. Magnus、Tim Button、Robert Trueman、Richard Zach,forall x: Calgary,Fall 2025 在线版,Chapter 11 “Complete truth tables”;输入枚举、主联结词与逐层计算。
  • Oscar Levin, Discrete Mathematics: An Open Introduction, 3rd ed., 2019,§3.1 “Propositional Logic”。
关系图谱7 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系