真值表生成器
免费的在线真值表生成器:输入任意逻辑公式,立即得到完整的真值表,变量的每一种取值组合都在你的浏览器中求值。
输入逻辑表达式进行分析(支持命题逻辑、布尔代数)
指南
点击任一运算符,即可在计算器中运行它的示例。每个运算符都列出了所有可以输入的写法。
输入一个公式,这个真值表生成器就会对其变量的每一种取值组合求值。它能读取否定、合取、析取、蕴含与等值,既支持符号写法(¬ ∧ ∨ → ↔),也支持纯 ASCII 写法(!、&、|、->、<->),并且只给你真值表本身,没有别的内容要翻。也没有任何内容被上传:真值表是在你的浏览器中生成的。
如何生成真值表
- 在上方输入框中写下公式,例如 (A & B) -> C。如果不想手动输入符号,可以使用运算符键盘插入。
- 生成器从公式中读出变量,并为它们取值的每一种组合生成一行:n 个变量得到 2ⁿ 行,顺序始终一致,因此两张真值表可以逐行比较。
- 看最后一列:它是整个公式在该行的真值。重言式在每一行都为真,矛盾式在任何一行都不为真,介于两者之间的就是偶然式。
- 把表导出为 Markdown、CSV 或 LaTeX,或复制分享链接:公式就在网址里,因此这张表以后还能重新打开,也能交给别人。
完整计算器还能做什么
- 公式是重言式、矛盾式、偶然式,还是仅仅可满足。
- 等价形式:按代数定律的改写,以及直接从真值表读出的析取范式与合取范式。
- 二到四个变量的卡诺图,圈出各个分组,并写出最简形式。
- 表达式树,以及同一公式画成的逻辑门电路图。
- 论证与等值检验同样支持:p, p → q ⊨ q 会检验该论证,不成立时给出反模型。
一个完整示例
((A∧B)→C) 的真值表,正是生成器所建的样子:三个变量,因此八行,先求出合取,再由它读出蕴含。
| A | B | C | (A∧B) | ((A∧B)→C) |
|---|---|---|---|---|
| 假 | 假 | 假 | 假 | 真 |
| 真 | 假 | 假 | 假 | 真 |
| 假 | 真 | 假 | 假 | 真 |
| 真 | 真 | 假 | 真 | 假 |
| 假 | 假 | 真 | 假 | 真 |
| 真 | 假 | 真 | 假 | 真 |
| 假 | 真 | 真 | 假 | 真 |
| 真 | 真 | 真 | 真 | 真 |
基本运算符的真值表
生成器所建的每一张表,都是这五张表按公式的括号与运算符优先级依次套用的结果。
否定
非 p
| p | ¬p |
|---|---|
| ⊥ | ⊤ |
| ⊤ | ⊥ |
合取
p 且 q
| p | q | p∧q |
|---|---|---|
| ⊥ | ⊥ | ⊥ |
| ⊤ | ⊥ | ⊥ |
| ⊥ | ⊤ | ⊥ |
| ⊤ | ⊤ | ⊤ |
析取
p 或 q,或两者皆是
| p | q | p∨q |
|---|---|---|
| ⊥ | ⊥ | ⊥ |
| ⊤ | ⊥ | ⊤ |
| ⊥ | ⊤ | ⊤ |
| ⊤ | ⊤ | ⊤ |
蕴含
如果 p,那么 q
| p | q | p→q |
|---|---|---|
| ⊥ | ⊥ | ⊤ |
| ⊤ | ⊥ | ⊥ |
| ⊥ | ⊤ | ⊤ |
| ⊤ | ⊤ | ⊤ |
双条件
p 当且仅当 q
| p | q | p↔q |
|---|---|---|
| ⊥ | ⊥ | ⊤ |
| ⊤ | ⊥ | ⊥ |
| ⊥ | ⊤ | ⊥ |
| ⊤ | ⊤ | ⊤ |
这张表会有多少行?
每一种真值组合占一行,因此含 n 个不同变量的公式有 2ⁿ 行。每加一个变量,表就翻一倍。
| 变量 | 行数 |
|---|---|
| 1 | 2 |
| 2 | 4 |
| 3 | 8 |
| 4 | 16 |
| 5 | 32 |
| 6 | 64 |
现成的真值表
人们最常需要的那些公式,真值表已经生成好,并各有链接。
常见问题
关于逻辑计算器使用方式的常见问题解答
怎样为我的表达式生成真值表?
只需在计算器的输入框里输入逻辑表达式并点击计算。真值表会自动生成,列出变量取值的所有可能组合以及表达式对应的结果。
各行是按什么顺序排列的?
变量按字母顺序排列,各行从“全为假”开始逐一枚举所有赋值,第一个变量变化最快,因此最后一行是所有变量都为真的那一行。教科书在这一点上并不统一——很多是从“全为真”开始的——所以行序可能和你的课堂笔记不同,但表格表达的内容完全一样。
我的真值表会有多少行?
2 的不同变量个数次方:3 个变量是 8 行,4 个是 16 行,10 个就是 1024 行。每多一个变量,表格就翻一倍,所以判断一个长公式,通常看性质和等价形式比逐行阅读更省力。
可以显示 1 和 0 而不是 ⊤ 和 ⊥ 吗?
可以。真值表上的记法开关可在符号 ⊤、⊥ 与数字 1、0 之间切换,你的选择会记在这个浏览器里,下次访问依然有效。
怎样从真值表看出一个公式是不是重言式?
看最后一列。如果每一行都为真,公式就是重言式;每一行都为假就是矛盾式;两者都有则是偶然式。只要有一行为真,它就是可满足的。计算器会把这些结论写在表格上方,所以这一列更适合用来核对结论,而不是推导结论。