命题逻辑研究的对象很小:只看一个句子是真的还是假的,以及几个句子怎样组合成新的句子。它暂时不问“所有整数”“存在一个函数”这类量词问题,也不分析句子里面的对象结构。正因为范围小,它适合用来训练证明前的基本动作:把语言说清楚,把条件写准,把每一种可能情况都检查到。
这一章的目标不是把符号背熟,而是学会三件事。第一,判断一个句子能不能当作命题。第二,用连接词把简单命题组成复合命题。第三,用真值表检查逻辑式在所有真值分配下的表现。
一个命题是有确定真值的陈述句。这里的“确定”不是说我们现在一定知道答案,而是说在语境固定后,它应当要么真,要么假。
例如,“”是命题,真值为真。“ 是偶数”也是命题,真值为假。“请把门关上”不是命题,因为它是命令,不能问真假。“”在没有给定 的取值时也不是命题;它更像一个等待输入的句子。

命题不要求“容易判断”。“第 个质数的个位数是 ”很难直接算出,但它仍然有确定真值,所以是命题。相反,“这个算法很快”如果没有说明输入规模、机器条件和“很快”的标准,就不适合直接当作命题。
有些句子看起来接近命题,但需要补齐语境。比如“今天很冷”在聊天里能表达感受,在数学论证中却不够精确。若改成“2026 年 1 月 15 日北京上午 8 点气温低于 ”,它就有了可以判定的真值。
下面这个小练习用来校准“能判真假”这件事。
在命题逻辑里,我们常用大写字母表示简单命题:
如果暂时不关心句子内部结构,就可以把每个简单陈述压缩成一个字母。这样的字母叫原子命题。它们像积木,连接词像拼接规则。
复合命题由原子命题和连接词组成。例如:
这句话可以读成:“如果 和 都成立,那么 成立。”它的真假不由字母形状决定,而由 各自的真值以及连接词的规则决定。
给原子命题命名时,不要把太多逻辑关系塞进一个字母。若 被定义成“作业提交且格式正确”,再写 时,读者很容易忘记 里面已经包含一个“且”。更稳妥的做法是把“作业提交”和“格式正确”分成两个原子命题。
命题逻辑中最常见的连接词有五个:否定、合取、析取、蕴含和双条件。下面先给出读法,再解释真值规则。

否定只作用在一个命题上,把真变假,把假变真。
合取要求两边都成立。只要有一边为假,整个 就为假。
析取在数学里通常指“相容的或”。也就是说, 允许 和 同时为真。日常语言里的“或”有时表示二选一,比如“选咖啡或茶”,这时要看语境是否需要“恰好一个”。在本章默认的命题逻辑中, 是至少一个为真。
“或”最容易被日常语感带偏。数学中的 不排斥两者同时成立;若要表达“恰好一个成立”,可以写成 。
双条件 表示两边同真或同假。它常用于定义、等价条件和“当且仅当”的句子。例如“一个整数能被 整除,当且仅当它是偶数”就可以看成两个方向都成立。
真值表的做法很直接:列出原子命题的全部真值组合,再逐列计算复合命题。若有 个不同原子命题,就有 行。两个原子命题 有四行;三个原子命题 有八行。

例如,计算 与 :
真值表不是猜答案的表,而是一种穷尽检查。它的可靠性来自两点:所有输入情况都列到了,每一列都只按连接词规则计算。
例题:用真值表判断 是否总为真。
先列出 的四种真值组合。两个原子命题只有这四种情况:真真、真假、假真、假假。
再计算中间列 。只有在 都为真时,这一列才为真;其余三行都为假。
对应的表格是:
下面的实验台可以快速生成几种常用公式的真值表。先用预设公式观察,再试着解释每一行为什么得到这样的结果。
条件命题 是本章最容易误解的连接词。它不说 一定发生,也不说 一定发生。它说的是:一旦 成立, 不能失败。
所以 只有在 真而 假时为假。
把它想成一条规则会更自然:若刷卡成功,则闸门打开。真正违背规则的只有一种情况:刷卡成功了,闸门却没有打开。如果没有刷卡成功,规则本身并没有被违反。

不要把 读成“ 导致 ”。命题逻辑只处理真假关系,不自动包含时间先后、因果机制或现实可能性。若要表达因果,需要额外的模型和背景假设。
一个重要等价式是:
这个等价式说明,条件命题排除的正是“ 真且 假”。只要 不真,或者 为真, 就为真。
用真值表看一个逻辑式时,最后一列可能出现三种典型状态。
重言式在每一行都为真。它不依赖原子命题的具体真假,例如 。
矛盾式在每一行都为假,例如 。
可满足式至少有一行是真。例如 不是总真,但当 都为真时它为真,所以它可满足。

“可满足”并不等于“有时真有时假”。重言式也可满足,因为它当然至少有一行为真。若要说一个公式有真有假,可以说它既可满足,否定也可满足。
例题:判断 与 是否逻辑等价。
写出两个公式的目标列:一列是 ,另一列是 。如果两列在每一行都相同,这两个公式就逻辑等价。
逐行计算。第一行 都真时, 为真;此时 和 都假, 也为真。
这就是后面证明课会反复使用的“逆否”等价。现在先记住它来自真值表,而不是来自口语直觉。
把自然语言翻译成逻辑式时,先不要急着找符号。更稳的顺序是:确定原子命题,保留句子的条件方向,再处理“且”“或”“若”“只有”“当且仅当”“除非”等词。

例题:把下面的句子翻译成命题逻辑式。
“如果作业已经提交并且格式正确,那么系统显示通过。”
设:
那么原句可以写成:
先把能独立判真假的短句取出来。“作业已经提交”“格式正确”“系统显示通过”都可以单独判断真假,所以分别设为 。
再处理“并且”。“作业已经提交并且格式正确”要求两个条件同时成立,所以写成 。
几个中文短语特别值得小心。
“只有 才 ”的方向最容易写反。它说的是 的必要条件是 ,所以一旦 发生, 必须发生。用公式写就是 。
翻译时不要只盯关键词。比如“除非”常要先改写成“如果不……那么……”。“系统通过,除非校验失败”可以先读成“如果校验没有失败,那么系统通过”,再写成 。
下面的练习专门针对这些短语。做题时先在心里说清楚每个字母代表什么,再选公式。
命题逻辑不是只为证明课准备的符号游戏。它还出现在数字电路、程序条件、配置约束和可满足性问题中。
在数字电路里,一个开关状态可以看成真或假。与门、或门、非门分别对应 。复杂电路可以被拆成更小的逻辑门组合,输出状态由输入真值决定。

在软件中,条件判断也常写成命题逻辑的形状。例如:
这不是说“已登录且有权限”一定发生,而是说如果这两个条件同时成立,访问结果必须符合规则。测试这类规则时,真值表能提醒我们检查所有组合,而不是只测最顺手的一两个场景。
更大的问题会进入可满足性。比如排课、功能开关组合、约束配置、硬件验证,都可以出现“是否存在一组真假选择,使所有条件同时成立”的问题。这正是可满足式的思想:至少找到一行让公式为真。
练习 1:判断下列句子是否为命题,并说明理由。
1 是命题,真值为真。2 不是命题,因为它是命令句。3 在没有给定 或论域与量词时不是命题。4 仍不是命题,因为虽然给了论域,但 没有被指定,也没有量词。5 是命题;我们未必当场知道天气记录,但日期、地点和判断标准已经固定。
练习 2:设 表示“文件已保存”, 表示“程序已关闭”。把下列句子写成逻辑式。
1 写成 。2 写成 。3 写成 。4 的方向也写成 ,因为“程序关闭”以“文件已保存”为必要条件。
练习 3:为公式 写出真值表,并判断它是否可满足。
公式要求 为真,同时 为假。四行中只有 假、 真时满足这两个条件,所以它可满足,但不是重言式。
练习 4:用真值表验证 与 逻辑等价。
两列在四种真值组合下完全相同,因此等价。
练习 5:把“若没有通过身份验证,则不能提交申请;提交申请当且仅当材料完整”翻译成逻辑式。请自己定义原子命题。
一种定义方式是: 表示“通过身份验证”, 表示“能提交申请”, 表示“材料完整”。“若没有通过身份验证,则不能提交申请”写成 。“提交申请当且仅当材料完整”写成 。整句话可以写成 。
本章把证明前最基础的语言工具整理了一遍。命题是能判真假的陈述句;原子命题可以用字母表示;复合命题由 等连接词组成;真值表通过枚举全部真值组合来检查公式。
后面的证明会频繁使用这些内容。尤其是条件命题、逆否等价和“只有……才……”的方向,它们不是文字游戏,而是证明结构的入口。下一章会继续处理条件命题、等价变形和推理规则。
| 都为真时 |
| 析取 | 或 | 至少一个为真时 |
| 蕴含 | 若 则 | 只排除 真而 假 |
| 双条件 | 当且仅当 | 真值相同 |
最后计算 。只有前件真而后件假时,蕴含才为假。这里当前件 为真时, 也为真,所以没有出现反例行。
因此 在四行中都为真,它是一个总为真的逻辑式。
第二行 真、 假时, 为假;此时 真、 假,所以 也为假。
后两行中 为假, 都为真;对应的逆否式也都为真。两列完全相同,所以 与 逻辑等价。
最后处理“如果……那么……”。前半句是前件,后半句是后件,所以得到 。
| 走 A 通道或 B 通道 |
| 若 则 | 若超时,则任务失败 |
| 只有 才 | 只有登录,才能提交 |
| 当且仅当 | 通过当且仅当分数不低于 60 |
| ,除非 | 系统通过,除非校验失败 |
| 真 | 真 | 真 | 假 | 假 |
| 真 | 假 | 真 | 假 | 假 |
| 假 | 真 | 真 | 真 | 真 |
| 假 | 假 | 假 | 真 | 假 |
| 假 |
| 假 |
| 假 |
| 假 |
| 假 | 真 | 真 | 真 | 真 |
| 假 | 假 | 真 | 真 | 真 |