1. 开篇:为什么自考02324离散数学的命题逻辑,是很多人栽跟头的第一站
先说个背景:自考科目02324 离散数学,指定教材是辛运帏主编、机械工业出版社2014年版。这本书的“命题逻辑”章节,其实是整门课真正的分水岭。很多人学离散数学,第一章集合论还能靠常识硬扛,一到命题逻辑就开始懵——不是因为难,而是因为这门课的要求和“正常数学”完全不同。
我见过太多自考生,前几章刷题刷得挺顺,到命题逻辑突然停滞,甚至有人直接弃考。原因很统一:大家都在用解方程、算数的思维去学逻辑,结果被真值表、蕴含式、推理规则打得措手不及。更何况,辛运帏这本书的编排相对简洁,习题又贴近考试风格,如果你没看懂命题逻辑的核心逻辑(对,这个说法有点绕),后面学谓词逻辑、集合与关系、图论时都会觉得别扭。
这篇文章不做泛泛的教材导读,只针对命题逻辑这一个大块,把“它到底在考什么、怎么学才快、有哪些必须背下来的公式和套路”讲透。无论你是正在备考、准备二刷,还是刚开始翻教材,这篇文章应该能帮你少踩一半的坑。
2. 命题逻辑的章节定位与考情分析
2.1 这一章在整本教材里承担什么角色
辛运帏版的《离散数学》把命题逻辑放在整本书很靠前的位置,这安排不是随意的。命题逻辑是所有逻辑推理、证明方法的形式化基础,而后面的谓词逻辑、集合代数、关系、函数、图论、代数系统,全都要用到“真值”“蕴含”“等价”“推理”这些概念。
举个例子:后面学集合运算时,你会看到集合恒等式的证明,本质就是用命题逻辑的等价公式(比如德摩根律)换了个外壳。学关系时,关系的合成、自反性、传递性的证明,也依赖逻辑推理的规则。如果命题逻辑这章你靠死记硬背糊弄过去了,后面大概率会在证明题上卡壳。
从考试分值来说,02324这套卷子里,命题逻辑、谓词逻辑两部分合计通常在20~30分之间,题型以选择、填空、判断、计算(真值表、范式)、证明(推理)为主。推理证明题是拿分大头,而它恰恰是自考生失分最严重的地方。
2.2 辛运帏版与其他版本教材的差异
很多自考生手上除了辛运帏这本,可能还搜到过左孝凌老师的《离散数学》PDF。两本我都翻过,说实话:左孝凌版讲得更细、例子更多,适合自学打基础;辛运帏版更精简,更贴近自考出题风格。但就命题逻辑这个章节来说,核心内容几乎没有差别,差别主要体现在两点:
第一,符号体系略有不同。比如“非”的符号,有的教材用¬,有的用~;蕴含符号有 → 和 ⊃ 两种写法。辛运帏版用的是目前国内教材主流的¬、∧、∨、→、↔这组符号,自考卷子也基本沿用这套,所以建议备考时统一用教材符号,少去混看别的版本,否则做题容易乱。
第二,例题和习题的风格。辛运帏版的例题更“考试化”,比如给出自然语言命题,让你符号化,或者给出一个推理过程,让你判定是否有效。这就意味着,你需要的不是泛泛的“理解了逻辑”,而是能落笔写过程的熟练度。
2.3 命题逻辑的核心主线
如果把命题逻辑拆开,你会发现它其实就三个层次:
- 语言层面:什么是命题,怎么把自然语言翻译成符号公式。
- 语义层面:真值表是什么,如何判断一个公式是重言式、矛盾式还是可满足式。
- 语法(推理)层面:等价变换公式和推理规则是什么,如何一步步推出结论。
这三个层次是递进的,也是考试命题的顺序。绝大多数人学不好命题逻辑,不是因为某一层特别难,而是跳过了一层就急着学下一层。比如有人还没熟练掌握自然语言的符号化,就开始背推理规则,结果一拿到“如果天下雨,那么地湿”这种题干就翻译错,后面全盘皆输。
3. 核心概念逐个拆解:命题、联结词与真值表
3.1 命题的定义,以及为什么“祈使句不是命题”坑了无数人
先来一个最容易忽略的定义:命题(proposition)是能够判断真假的陈述句。
注意,这里的关键词不是“陈述句”,而是“能够判断真假”。很多人把这两个条件混在一起,导致出大问题。
举个经典的例子:
- “地球绕太阳转”——陈述句,能判断真假,是命题。
- “请把门关上”——祈使句,没法判断真假,不是命题。
- “x > 5”——陈述句,但当x没给定时,你没法判断真假,所以不是命题(严格说,它叫命题函数或开语句)。
- “3是偶数”——陈述句,能判断真假(假),是命题。
考试里最常考的是第三种。你看着它像个陈述句,觉得“这不挺正常的吗”,但它缺了判断真假的条件。辛运帏版教材里对这种边界情况用了不少例子来提醒,但很多自考生看完例题就忘,做题时照样踩坑。记清楚:不能判断真假,就不是命题。
另外有个容易混淆的点:一个命题无论真假,只要“能判断”就算命题。比如“火星上有生命”,你说不知道?没关系,它仍然是一个命题,因为客观上它有真假,只是目前人类不知道而已。这个考点也经常出现在选择填空题里。
3.2 五个联结词:别用自然语言的理解去套
命题逻辑的联结词一共有五个:
- 否定(¬):非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))。
坑二:蕴含 → 是命题逻辑里最反直觉的联结词。教材里可能只给了定义:P→Q 为假,当且仅当P真且Q假;其余情况都为真。也就是说,“如果明天太阳从西边出来,那我就请你吃饭”在逻辑里是真的,因为前件“太阳从西边出来”为假,整个蕴含式真假并不受后件影响。这在自然语言里是荒谬的,但在逻辑里叫“空真(vacuously true)”。考试经常拿这个出选择题,问你 P→Q 在哪种情况下为假——答案只有一种:P为真、Q为假。
坑三:等价 ↔ 就是“双向蕴含”。P↔Q 为真,当且仅当P和Q同真同假。它等价于 (P→Q)∧(Q→P)。这个性质后面推理、化简会反复用。
这五个联结词的真值表是命题逻辑所有问题的地基。考试里让你填真值表、判断公式类型,本质上都是在考你对这五个表是否真的记住了、理解了。不要觉得记五个四行真值表很幼稚,很多大题的第一步就得靠它。
3.3 自然语言符号化:自考最实用的“翻译”能力
命题逻辑的很多题目,第一步要把自然语言“翻译”成符号公式。这个能力看似简单,其实是很多人的丢分点。我总结了一套自己的做题流程,供你参考:
找出原子命题:先把句子拆成不可再分的陈述句,每个都用一个字母表示(教材一般用P、Q、R,或者A、B、C)。
找联结词关键词:看到“且”“并且”“也”是合取;看到“或”“或者”是析取;看到“如果……那么”“若……则”“只有……才”“除非”要特别注意是蕴含;看到“当且仅当”是等价。
注意“只有……才”的翻译陷阱:这里必须多说一句。自然语言里,“只有P才Q”在逻辑上翻译成 Q→P,而不是 P→Q。举个例子:“只有年满18岁,才能考驾照”,翻译成“能考驾照 → 年满18岁”,也就是 Q→P。很多人第一次接触必然懵,教材里对这类句子一定会出例题,你务必自己动笔翻译几遍,不能只看。还有一种表达是“除非P,否则Q”,也比较绕,通常翻译为 ¬P→Q,建议结合教材例句专门做一次梳理。
顺便说一个容易被忽略的关键点:命题的符号化没有唯一答案吗?有的。翻译方式取决于你选哪些原子命题,以及你怎么理解句子的逻辑关系。所以不要死抠“标准答案”,只要符号化后与原句逻辑等价,就没问题。考试评分时,符号化部分往往有一定的灵活性,但结论部分一般比较固定,所以建议大家考试时把每个字母代表的命题写清楚,省得阅卷老师猜。
翻译这块怎么练?没什么窍门,把教材里每个例题自己盖住答案做一遍,再把课后习题里所有“将下列命题符号化”挑出来集中做。做到什么程度算过关?拿到任意一个中文句子,10秒内能说出它对应哪个联结词结构,就算可以了。
4. 公式分类与范式的核心细节
4.1 重言式、矛盾式、可满足式:怎么判断最省力
有了真值表和联结词,下一步就是判断公式类型。一个公式可能有三种身份:
- 重言式(永真式):无论命题变量取什么真值,公式都为真。
- 矛盾式(永假式):无论命题变量取什么真值,公式都为假。
- 可满足式:至少存在一组真值赋值,让公式为真。
判断方法有两种:真值表法和等价演算法。
真值表法是最稳妥的,缺点是变量多时太费时间。考试一般不会给你超过3个变量的公式,所以考试时真值表完全够用,除非题目明确要求“不画真值表”。变量为n个时,真值表要有2^n行,n=3就有8行,n=4就有16行,按考试时间来说不划算。
等价演算法是后面化简的底子。比如要证明一个公式是重言式,你只要把它等价变换成 T(真),或者变换到某个你知道恒真的式子即可。这个方法对熟练度要求高,但如果掌握了,做选择、填空、大题的速度会快很多。
4.2 主析取范式与主合取范式:理解“主”字是关键
范式是命题逻辑的一个硬骨头,也是自考反复考的内容。这里先区分两组概念:
- 析取范式:若干“简单合取式”的析取。简单合取式就是若干个命题变元或其否定用∧连接起来的式子,比如 (P∧Q)∨(¬P∧R)。
- 合取范式:若干“简单析取式”的合取。比如 (P∨Q)∧(¬P∨R)。
这个不难理解。但“主析取范式”和“主合取范式”多了一个字,含义就变了。主析取范式要求每个简单合取式里,所有命题变元都必须出现一次且仅一次。听起来抽象,举个实际例子:
假设公式含P、Q两个变元,那么主析取范式里的每一项必须是 P∧Q、P∧¬Q、¬P∧Q、¬P∧¬Q 这四种中的一种,不能出现只有P没有Q的项。同理,主合取范式里的每一项必须是 P∨Q、P∨¬Q、¬P∨Q、¬P∨¬Q 这种形态。
求主范式的方法一般有两种:
方法一:真值表法。这个最直观,但需要记住规则:
- 某个赋值使公式为真,对应一个极小项(就是主析取范式的一项)。写极小项时,变量为真写P,变量为假写¬P,用∧连接。
- 某个赋值使公式为假,对应一个极大项(就是主合取范式的一项)。写极大项时,变量为真写¬P,变量为假写P,用∨连接。
很多人在极小项、极大项的写法上混淆,其实只要记住一个规律:极小项对应公式为真的行,极大项对应公式为假的行;写极小项时真变量原样出现,写极大项时假变量原样出现。建议你把这个规律抄在笔记第一页,考前翻一眼,比临场推公式快得多。
方法二:等价演算法。先把公式化成析取范式,然后对缺少变量的项“补齐”。补的方法是利用 P ≡ P∧(Q∨¬Q),把缺的变量拆进去,再用分配律展开。这个方法对基本功要求高,但考试时比画16行真值表快。
4.3 是什么让主范式“唯一”且“重要”
很多人学了主范式,不知道有什么用,考完就忘。实际上主范式是连接的桥梁:任何一个可满足式都有唯一的主析取范式和唯一的主合取范式(矛盾式只有主合取范式,重言式只有主析取范式)。这个唯一性让主范式成为判定两个公式是否等价的工具——如果两个公式长得不一样,但主析取范式一样,那么它们就是逻辑等价的。
考试里常考的就是“求某公式的主析取范式、主合取范式”,有的还让你指出它是重言式还是矛盾式。做题多了你会发现,这类题其实非常机械化:先求真值表或化简,然后套规则。这部分拿分的关键,其实是计算和书写的细心程度,而不是智商。
5. 等价公式与蕴含公式的实战记忆法
5.1 等价公式:不只是“要背”,而是“要会用”
辛运帏版的教材中,等价公式往往会在一个表里列出来,常见的有:
- 双重否定律:¬¬P ⇔ P
- 幂等律:P∨P ⇔ P,P∧P ⇔ P
- 交换律:P∨Q ⇔ Q∨P,P∧Q ⇔ Q∧P
- 结合律:(P∨Q)∨R ⇔ P∨(Q∨R),(P∧Q)∧R ⇔ P∧(Q∧R)
- 分配律:P∨(Q∧R) ⇔ (P∨Q)∧(P∨R),P∧(Q∨R) ⇔ (P∧Q)∨(P∧R)
- 德摩根律:¬(P∧Q) ⇔ ¬P∨¬Q,¬(P∨Q) ⇔ ¬P∧¬Q
- 吸收律:P∨(P∧Q) ⇔ P,P∧(P∨Q) ⇔ P
- 蕴含等价式:P→Q ⇔ ¬P∨Q
- 等价等价式:P↔Q ⇔ (P→Q)∧(Q→P) ⇔ (P∧Q)∨(¬P∧¬Q)
很多自考生背这些公式时,方法就是死记硬背,结果一做题就又翻书。我的建议是:不要背公式,要“玩”公式。
以德摩根律来说,它在自然语言里就是“并非(P且Q)等于非P或非Q”。你把它当成是拆括号、提负号的规则来理解,跟初中数学的分配律差不多。用多了自然就熟了。
以蕴含等价式 P→Q ⇔ ¬P∨Q 来说,这是所有等价公式里最重要的一个,没有之一。因为它把看似神秘的蕴含变成了“否定前件,或者后件成立”,很多事情一下就通了。比如你要把蕴含式转化为主析取范式,第一件事就是先把 → 换掉。
5.2 蕴含公式:推理的方向感
等价公式是“两边可互换”,而蕴含公式是单向的。最常用的有:
- 假言推理(Modus Ponens):P→Q,P,所以 Q。
- 拒取式(Modus Tollens):P→Q,¬Q,所以 ¬P。
- 假言三段论:P→Q,Q→R,所以 P→R。
- 析取三段论:P∨Q,¬P,所以 Q。
这些并不是需要死记的“陌生公式”,它们其实就是你日常生活中已经在用的推理方式。比如“如果下雨,我就不出门;下雨了,所以我不出门”——这就是假言推理。你唯一需要适应的,是把它们符号化,并学会在证明题里用对地方。
这里说一个自学时最容易忽视的点:很多人在证明题里会用蕴含规则,但分不清哪个是“前提”,哪个是“可从前提推出的结论”。比如假言推理的书写格式,是已知 P→Q 和 P,才能得 Q。少了任何一个前提,这个推理就不成立。考试时,老师看你写的每一步是否严谨,逻辑链是否完整,所以每个步骤都要标上“用的是哪条规则”,不要跳步。
5.3 “蕴含值”这个热搜词,到底是什么
搜索热词里有个“离散数学蕴含值”,我第一次看到也愣了一下,后来反应过来,这大概指的是蕴含式的真值(即P→Q的真值),或者是指“蕴含式成立”这个概念。这个热词出现,说明很多人其实是对“蕴含”这个概念本身有困惑。
我猜你的困惑可能是:P→Q什么时候为假?什么时候为真?前面已经说过,只有P真且Q假时,P→Q才为假,其余情况全为真。记住这一点,和其他等价公式一结合,很多题就是送分。
如果遇到更复杂的复合命题,比如 ¬(P→Q),直接套等价公式,变成 ¬(¬P∨Q),再用德摩根律,等于 P∧¬Q。也就是说,“P蕴含Q”的否定,就是“P真且Q假”,这和蕴含真值的定义完全吻合。
6. 推理理论与证明方法:自考逻辑题的“必杀技”
6.1 三种证明方法,分别什么情况下用
推理理论是命题逻辑的大题核心。最常见的证明方法有三种:
方法一:直接证法(构造法)。已知前提,按顺序用等价公式、蕴含公式一步步推出结论。这就像走迷宫,从入口按墙走,走到出口。思路是顺着的,适合前提较多、路径明显的题。
方法二:附加前提法(CP规则)。结论如果是蕴含式,形如 A→B,可以把A当作临时前提加进去,目标改成证明B。因为由 A1,...,An,A 推出 B,等价于由 A1,...,An 推出 A→B。这是非常常用的技巧,能大幅简化证明过程。
方法三:反证法(归谬法)。先把结论的否定 ¬B 加进前提,然后推出矛盾(比如推出 P∧¬P 或某个与前提冲突的式子),从而说明B必须为真。考试里遇到“结论看起来很难直接推”的题,优先考虑反证法。
这三种方法在解题时怎么选?我的习惯是:先看结论形状。结论是蕴含式,优先 CP;结论是某个原子命题,优先直接证;直接证卡住了,立刻转反证。不会灵光乍现,全靠熟练度。
6.2 一个完整证明题的详细示范
这里我给出一道典型例题,你看完整过程,再合上自己做一遍:
例:前提:P→Q,Q→R,P。证明:R。
步骤:
- P→Q(前提)
- P(前提)
- Q(由1、2用假言推理)
- Q→R(前提)
- R(由3、4用假言推理)
这道题简单到像废话,但它说明了证明题最基本的“链条感”。真实考试题会复杂一些,可能同时涉及否定和析取,但核心就是一层层拆。
再看一道牵扯更多规则的:
例:前提:A∨B,A→C,B→D。证明:C∨D。
这道题用反证法会更顺畅:
- ¬(C∨D)(反证假设)
- ¬C∧¬D(由1、德摩根律)
- A∨B(前提)
- A→C(前提)
- B→D(前提)
- ¬C(由2、化简律)
- ¬A(由4、6用拒取式)
- ¬D(由2、化简律)
- ¬B(由5、8用拒取式)
- ¬A∧¬B(由7、9)
- ¬(A∨B)(由10、德摩根律)
- 矛盾(由3和11矛盾),故 C∨D 成立。
注意看,第6步和第8步都用到了“化简律”:从 ¬C∧¬D 中分别推出 ¬C 和 ¬D。这在考试中经常被忽略,但它是反证法里经常需要用的一个步骤。
练习建议:每做一道证明题,把每一步用到的规则名字写在旁边。不是为了给老师看,而是为了让自己检查的时候心里有数:哪一步站不住脚,一目了然。
6.3 推理理论中的常见书写误区
有些自考生思路明明是对的,步骤也齐全,但最后被扣分,原因往往是书写不规范。常见的有这么几个问题:
- 不声明前提:直接写“由题可得……”,阅卷老师不知道你的起点是哪。标准做法是先把所有前提列出来,或者每行引用时标“前提”。
- 跳步:把两个规则合并成一步写。虽然结果对,但考试按步骤给分,跳步 = 自己扣自己分。
- 结论位置不明确:证明的最后一行一定要写“所以……”,把要证的结论明明白白摆出来。
- 混淆谓词逻辑的符号:命题逻辑的证明里,除非题目明确使用谓词逻辑,否则别引入量词符号∀、∃。辛运帏版是先讲命题逻辑再讲谓词逻辑的,证明题一般要求只用命题逻辑的规则。
这些看起来都是小问题,但自考的阅卷是按点采分,你少写一步“化简律”,可能就少了对应的分。平时练习时养成规范书写的习惯,考试才不容易翻车。
7. 常见问题与排查技巧实录
7.1 为什么我总在真值表上漏行或者写错
真值表是命题逻辑的基础操作,但也是低级错误的重灾区。最常见的错误有这么几类:
- 漏行:n个变量必须画2^n行,从上到下按二进制顺序排列(000,001,010……),这样不容易漏。很多人随意排列组合,结果少写两三行。
- 顺序乱:真值表列的顺序一般是 从左到右依次是各个变量、内层联结词、外层联结词。建议严格按照公式的运算优先级来写中间列,不要跳步。
- 写错 ¬P 那列:千万别把它和P列搞混。这类低级错误在紧张时很容易犯。
对照技巧:写完真值表之后,先检查总行数,再从最后一行往回验算其中一个关键行。如果最后结果跟公式定义不符,就说明前面肯定有错。
7.2 主范式怎么求都对不上答案?可能是“排序”问题
有同学问:我明明每一步都按规则做的,为什么答案和教材不一样?其实很多时候,你的答案和教材答案在逻辑上是同一个东西,只是排列顺序或字母顺序不同。比如 P∧Q 和 Q∧P 在逻辑上完全一样,但教材里的主析取范式可能按字母顺序写成 P∧Q,你写成 Q∧P,看着不同,实质相同。
如果不确定自己的答案对不对,有个验证办法:把你的结果代入真值表,比较每一行的真值是否一致。如果真值完全一致,那就是对的,不用纠结写法。
7.3 证明题完全没思路,先做什么
我在备考期间被证明题卡过无数次,后来总结了一套“没思路时的强制流程”:
- 列出所有前提和结论,写在草稿纸左边。这一步强制自己看清题目给了什么。
- 把能用等价公式化简的前提化简,特别是有 ¬(P∧Q) 或 P→Q 这种结构的,先拆开。
- 看结论是蕴含式吗?是 → 用CP规则,把前件加进前提。
- 看结论是原子命题吗?是 → 先试试直接证;如果三步以内没进展,立刻换成反证法。
- 反证法时,把结论的否定用德摩根律展开,通常能展开出一个新的简单式子,这个式子往往就是破局点。
这套流程不能保证100%解出所有题,但至少能让你在考场上不干瞪眼,每一步都往前走。
7.4 选择题里的“逻辑等价”和“逻辑蕴含”怎么判断
选择题常给两个公式,问你它们之间是等价还是蕴含。我的快捷判断方法是:
- 先看真值表:如果两列完全相同,就是等价。
- 如果不等价,再看蕴含方向:要判断 P → Q 是否恒真,只需要检查有没有一行是“P真、Q假”,如果没有,则P蕴含Q成立。
这个方法特别适合考试时间紧张时用,不用把整个推理规则表翻出来对。
7.5 备考期间需要避开的几个坑
- 不要在网上零散搜题就开始做。每个版本的符号体系、定义顺序有差异,你搜到的大多是左孝凌版的题,而辛运帏版在某些定义上措辞不同,容易导致理解偏差。先把课本例题做完、吃透,再考虑外征。
- 不要只刷选择填空,放弃证明题。很多人前期觉得证明题费时间,打算最后冲刺再背。等真到了冲刺,你会发现证明题的思维不是临时抱佛脚能练成的。从一开始,每学完一个推理规则,就动手写3道证明题。
- 别急着背“思维导图”。网上的笔记、思维导图可以作为复习目录,但代替不了你自己的推导过程。逻辑这东西,背了没用,你得用。
8. 这章学完,后续章节怎么衔接
命题逻辑这章如果学扎实了,后续学习会有明显“加速度”。
首先是谓词逻辑。谓词逻辑其实就是“命题逻辑 + 量词”。你在谓词逻辑里的证明,仍然要用到假言推理、拒取式、德摩根律这些规则,只是命题变成了带变量的谓词,比如 ∀x(P(x)→Q(x))。如果命题逻辑不过关,到这里会彻底崩盘。
其次是集合与关系。集合相等的证明,本质就是把“x属于A”当成一个命题,用逻辑等价和蕴含规则推来推去。很多自考生学集合恒等式时觉得困难,往往不是集合概念不懂,而是逻辑推理不熟。
再往后是图论和代数系统。图论的证明题里同样需要严谨的逻辑推理能力,树的等价定义、欧拉图的条件证明,都离不开“假设→推导→矛盾”这种思维。
所以,命题逻辑不只是自考02324的第一个大章,它是你整门课能不能过、能不能考高分的胜负手。我不建议你用“先混过去,后面再说”的心态对待它,因为后面你会发现,欠的债都会加倍还。
最后再分享一个小经验:每天睡前花10分钟,拿一张白纸,把五个联结词的真值表、常用的10个等价公式、4个蕴含公式默写一遍。坚持一周,你对整章的掌控感会完全不一样。这个办法看起来笨,但对付离散数学这种“形式化”科目,真的有效。