离散数学、01 课堂笔记 | 集合论、命题逻辑
电子科技大学 王丽杰老师 离散数学课程 个人学习笔记
集合
集合是由指定范围内的满足给定条件的所有对象聚集在一起构成,每一个对象称为这个集合的元素
初见集合
集合表示
- 枚举法
- 叙述法
- 文氏图
基数
- 有限集
- 无限集
特殊集合与集合间关系
空集
\(|\{\varnothing\}|\) 是空集作为集合中的一个元素,所以集合基数为 1
全集
针对一个具体范围,我们考虑的所有对象的集合叫做全集 (universal set) ,记作 \(U\) 或 \(E\)
在文氏图一般使用方形表示全集
元素的基本特性
- 无序
- 不同
集合相等关系
外延性原理
两个集合 A 和 B 相等,当且仅当它们的元素完全相同,记为 \(A = B\), 否则 A 和 B 不相等,记为 \(A \ne B\)
子集与真子集
如果 B 的每个元素都是 A 中的元素,则称 B 是 A 的子集,也称做 B 被 A 包含 或 A 包含 B ,记作 \(B \subseteq A\),否则记作 $B \not\subseteq A $
如果 \(B \subseteq A\) 并且 \(A \ne B\),则称 B 是 A 的真子集,也称做 B 被 A 真包含 或 A 真包含 B,记作 \(B \subset A\),否则记作 \(B \not\subset A\)
∈是「属于」的意思,用在「元素」属于「集合」的时候,比如A是集合,元素有{a,b,c},那麽a∈A。 ⊆是「包含于」的意思,用在「集合」属于「集合」的时候,比如A是B的子集合,我们就可以说A⊆B
证明集合相等
设 A, B 为任意两个集合,则 \(A=B \Leftrightarrow A \subseteq B \text{ 并且 } B \subseteq A\)
集合子集个数
对于任意 n 元集合 A,它的 m 元 \((0 \le m \le n)\) 子集个数为 \(C_n^m\) 个
所以不同的子集个数为:\(C_n^0+C_n^1+...+\)\(C_n^n = (1+1)^n = 2^n\)
幂集
集合运算
并集
交集
补集
差集
对称差集
并集交集拓展
集合运算定律
设 U 为全集,A,B,C 为任意集合
幂等律
交换律
结合律
同一律(恒等律)
零律
分配率
吸收率
矛盾律和排中律
双重否定律(补律)
德摩根率
文氏图展示
证明框架 ⭐
证明集合 A 和 B 相等,通常方法是证明两个集合间的相互包容关系,即 \(A=B \Leftrightarrow A \subseteq B \text{ 并且 } B \subseteq A\)
而证明集合的包含关系则使用如下方法
- \(A \subseteq B \Leftrightarrow \forall x \in A,... x \in B\)
- \(B \subseteq A \Leftrightarrow \forall x \in B, ... x \in A\)
证明德摩根率
可数集合和不可数集合
比较集合的大小
对于两个有限集合而言,比较二者大小只需要看集合的基数
对于无限集合需要采用一种通过判断两个无限集合之间是否存在一种一一对应的关系来解决这个问题
等势
equipotentia。若在 A,B 之间存在一种一一对应的关系
$$ A = B ,那么 A \sim B,反之不成立 $$
可数集合
凡与自然数集合 N 等势的集合,称为可数集合 (countable set),该集合的基数记为 \(\aleph_0\) 阿列夫零
从有限到无限,不仅仅是简单数量上的变化 (量变),而引起了本质的改变 (质变)
- 两个无限集合的“大小”已经不能单纯使用集合中的元素个数来衡量。\(\aleph_0\) 表示一切可数集合的基数,是一种抽象的表达。
- ⭐ 表面上 个数完全不相等的两个集合之间仍可能存在等势关系,如集合与其真子集之间,这体现了有限集合和无限集合的根本差别。
正奇数集合与素数集合
有理数集合
不可数集合
开区间 \((0,1)\) 称为不可数集合,凡与开区间\((0,1)\)等势的集合,称为 不可数集合,该类集合的基数记为 \(\aleph\) 阿列夫
命题
命题逻辑
什么是命题
推理的前提和结论都是命题。命题是推理的基本单位。
具有确切真值的陈述句称为命题 (proposition)。该命题可以取一个“值”,称为真值,真值只有真为假两种,取 T、F 或 1、0
一切没有判断内容的句子,如命令句 (或祈使句)、感叹句、疑问句、二义性的陈述句等都不能作为命题
有时还需依靠环境、条件、时间、地点、实际情况才能确定命题的真值。而一个句子本身是否能分辨真假与我们是否知道它的真假是两回事,也就是说,对于一个句子,有时我们可能无法判断它的真假,但这个句子本身却是有真假的。
复合命题
- 原子命题 (简单命题):不能再分解为更为简单命题的命题。
- 复合命题:可以分解为更为简单命题的命题。这些简单命题之间是通过如 “或者”、“并且”、“不”、“如果......则......”、“当且仅当”等这样的关联词和标点符号复合而成。
约定:通常用大写的带或不带下标的英文字母表示命题
\(A,B,C,...,P,Q,R,...,A_i,B_i,C_i,...\)
命题联结词
最常见的联结词:“或者”、“并且”、“不”、“如果...... 则......”、“当且仅当”
否定联结词
非 P(P的否定),称为 P 的否定式,记作 \(\neg P\),\(\neg\) 为否定联结词。P为真当且仅当\(\neg P\)为假
非、不、没有
合取联结词
P 并且 Q(P 和 Q),称为 P 与 Q 的合取式,记作 \(P \wedge Q\),\(\wedge\) 为合取联结词。\(P \wedge Q\)为真当且仅当 P,Q同为真
“∧” 是自然语言中的 “并且”、“既...又...”、“但”、“和”、“与”、“不仅...而且...”、“虽然...但
是...”、“一面..., 一面...” 等的逻辑抽象;但不是所有的“和”,“与”都要使用合取联结词
表示,要根据句子的语义进行分析。
析取联结词
P 或 Q,称为 P 与 Q 的析取式,记作 \(P \vee Q\),\(\vee\) 为析取联结词。$ P \vee Q$ 为真当且仅当 P,Q至少一个为真
联结词 “∨” 是自然语言中的 “或”、“或者” 等的逻辑抽象。自然语言中的 “或” 有 “可兼或”(或称为同或)、“不可兼或”(即异或) 两种。严格来讲,析取联结词实际上代表的是可兼或,异或有时会使用单独的异或联结词 “⊕” 或 “\(\bar{\vee}\)” 来表示。
同或情况都可成立,异或只能选其中一种
蕴涵联结词
如果 P ,则 Q,称为 P 与 Q 的蕴涵式,记作 \(P \rightarrow Q\),\(\rightarrow\) 为蕴涵联结词。\(P \rightarrow Q\)当且仅当 P 为真且 Q 为假。一般把蕴涵式 \(P \rightarrow Q\) 中的 P 称为该蕴涵式的前件,Q 称为蕴涵式的后件
在自然语言中,前件为假,不管结论真假,整个语句的意义,往往无法判断。但对于数理
逻辑中的蕴涵联结词来说,⭐当前件 P 为假时,不管 Q 的真假如何,则 P → Q 都为真。此
时称为 “善意推定”
等价联结词
P 当且仅当 Q,称为 P 与 Q的 等价式,记作 \(P \leftrightarrow Q\),\(\leftrightarrow\) 为等价联结词(双条件联结词)。$P \leftrightarrow Q $为真当且仅当 P、Q 同为真假
“↔” 是自然语言中的 “等价”、“充分必要条件”、“当且仅当” 等的逻辑抽象。
当、仅当、当且仅当
数学书中的「当且仅当」可以替换成「仅当」吗? - 知乎 (zhihu.com)
A当B = B⇒A = ¬B或A = 如果B那么A = B是A的充分条件
A仅当B = A⇒B = B或¬A = 如果A那么B = B是A的必要条件
A当且仅当B = A⇔B = (¬A且¬B)或(A且B) = 如果A那么B而且如果B那么A = B是A的充要条件
当:if
仅当:only if
当且仅当:if and only if
A is true if B is true. B=》A. 必要条件. necessary condition. 栗子:猫会咬我,如果我摸它。我摸它=》咬我。但咬我的时候我不一定摸了它。
A is true only if B is true. A=》B. 充分条件. sufficient condition. 只有B为真的时候A才为真,所以如果已知A为真,那B必然为真。栗子:猫会来蹭我仅当它饿了。猫来蹭我=》他饿了。但他饿了不一定来蹭我,还可能去吃粮。
if and only if 就是两个都满足 A《=》B. 栗子:当且仅当猫拉屎,我去铲屎。我铲可以推出猫拉了。猫拉推出我去铲。
否命题、命题的否定、逆否
否命题与命题的否定是两个不同的概念。
命题的否定只针对原命题的结论进行否定。而否命题同时否定条件和结论:
原命题:p⇒q
否命题:¬p⇒¬q
逆否命题:¬q⇒¬p
原命题的否定:p⇒¬q
反证法 ❓
若原命题 p⇒q 为真
先对原命题的结论进行否定,即写出原命题的否定:若p则¬q
从结论的反面出发,推出矛盾,即命题:若¬q则p为假(即存在矛盾)(¬q⇒¬p)
从而该命题的逆否为真。
再利用原命题和逆否命题的真假性一致,即原命题:p⇒q为真
命题符号
补充
命题联结词 \(\wedge 、 \vee 、 \leftrightarrow\) 具有对称性,而 \(\neg 、\rightarrow\) 没有
联结词是两个命题真值之间的联结,而不是命题内容之间的连接,因此复合命题的真值只取决于构成他们的各简单命题的真值,而与它们的内容无关,与二者之间是否有关系无关。
优先级
优先顺序为:否定、合取、析取、蕴涵、等价
同级的联结词,按出现的先后次序(从左到右);若运算要求与优先次序不一致可使用括号;同级符号相邻时也可使用括号,括号为最高优先级
布尔检索
在布尔检索中,联接词 “∧”(一般用 AND 表示)用于匹配包含两个检索项的记录,联接词 “∨”(一般用 OR 表示)用于匹配包含两个检索项至少一个的记录,而联接词 “¬”(一般用 NOT 表示)用于排除某个特定的检索项
位运算
计算机中的信息采用二进制的方式来表达。每个二进制位只能是 1 或 0,可对应于某一个布尔变量的真值。当我们需要判断该布尔变量的真值时,就可以利用按位与(bitwise AND)或按位或(bitwise OR)以及按位取反(bitwise NOT)等来操作
命题公式
命题变量(变元)
一个特定的命题是一个常值命题,它不是具有值 “T”(“1”),就是具有值 “F”(“0”)。
一个任意的没有赋予具体内容的原子命题是一个变量命题,常称它为命题变量 (或命题变元) (propositional variable),该命题变量无具体的真值,它的变域是集合{T, F}(或 {0, 1})。
复合命题是由原子命题与联结词构成的命题。所以,当其中的原子命题是命题变元时,此复合命题也即为命题变元的函数,且该函数的值仍为“真”或“假”值,这样的函数可形象地称为“真值函数” 或 “命题公式”,此命题公式没有确切的真值。
例如:G = P ∧ Q → ¬R.
命题公式
- 命题变元本身是一个公式;(如:P, Q, R, · · · )
- 如 G 是公式,则(¬G)也是公式;(如:¬P, ¬Q, ¬R, · · · )
- 如 G,H 是公式,则(G ∧ H)、(G ∨ H)、(G → H)、(G ↔ H)也是公式;(如:P ∧ Q, (¬Q) → R, · · · )
- 仅由有限步使用规则 (1)、(2)、(3)后所得到的包含命题变元、联结词和括号的符号串才是命题公式
如果 G 是含有 n 个命题变元 P1、P2、P3、· · · 、Pn 的公式,可记为:G(P1, P2, P3, · · · , Pn) 或简写为 G。
- 原子命题变元是最简单的合式公式,称为原子合式公式,简称原子公式;
- 命题公式没有真值,只有对其命题变元进行真值指派后,方可确定命题公式的真值;
- 整个公式的最外层括号可以省略;公式中不影响运算次序的括号也可以省略
- 在实际应用中,为了便于存储和运算,命题公式常用二元树的方式来表达
公式的解释
设 P1、P2、P3、· · · 、Pn 是出现在公式 G 中的所有命题变元,指定 P1、P2、P3、· · · 、Pn 一组真值,则这组真值称为 G 的一个解释,常记为 I
如果公式 G 在解释 I 下是真的,则称 I 满足 G,此时 I 是 G 的成真赋值;如果 G 在解释 I 下是假的,则称 I 弄假于 G,此时 I 是 G 的成假赋值
- 一般来说,若有 n 个命题变元,则应有 \(2^n\) 个不同的解释
- 利用真值表,可得到公式的所有成真赋值和成假赋值。
真值表
由公式 G 在其所有可能的解释下所取真值构成的表,称为 G 的真值表(truth table)。
命题公式分类与等价
命题公式分类
- 永真公式(重言式,tautology),如果在它的所有解释之下其真值都为“真”
- 永假公式(矛盾式,contradiction),如果在它的所有解释之下其真值都为“假”,有时也称永假公式为不可满足公式
- 可满足公式(satisfiable),如果它不是永假的
- 永真公式 与 永假公式 为否定关系
- G 是可满足的当且仅当至少有一个解释 I,使 G 在 I 下为真
- 若 G 是永真式,则 G 一定是可满足式,但反之可满足公式不一定是永真式
公式的等价
设 G,H 是两个命题公式,P1,P2,P3,· · · ,Pn是出现在 G,H 中所有的命题变元,如果对于P1,P2,P3,· · · ,Pn 的 \(2^n\) 个解释,G 与 H 的真值结果都相同,则称公式 G 与 H 是等价的,记作G = H。(或G ⇔ H)
单箭头是运算符,双箭头是关系(不是运算符)
公式等价充分必要条件
对于任意两个公式 G 和 H,G = H 的充分必要条件是公式 G ↔ H 是永真公式
可判定性: 能否给出一个可行方法,完成对任意公式的判定类问题。(类型或等价判定)
命题公式命题变元有限,解释数量有限,命题公式是可判定的
基本等价关系及其应用
基本等价公式
- 幂等律
- 交换律
- 结合律
- 同一律
- 零律
- 分配律
- 吸收律
- 矛盾律
- 排中律
- 双重否定律
- 德摩根律
- 蕴涵式
- 假言易位(逆否命题)
- 等价式
- 等价否定等式
- 归谬论(通俗说法:反证法)
归谬论证明
不正式的说法:如果 A 成立的话,那么我们会推出相反的结论,这显然不可能,所以 A 只能不成立了
判断公式类型 🍔
首先消去蕴涵、等价联结词
证明公式等价
开关电路化简
逻辑电路化简
智力游戏
范式
范式
范式:公式的一种规范形式
真值表能够方便的给出命题公式的真值情况,但真值表的规模随命题变元的数量呈指数形式增长,因而我们考虑一种真值表的替代方法,这种方法是基于命题公式的一种标准形式。
- 范式关注的是命题公式的当前书写形式
- 单个的文字是子句、短语、析取范式,合取范式
- 析取范式、合取范式仅含联结词集 {¬, ∧, ∨},且否定联接词仅出现在命题变元之前
范式存在定理
范式求解定理
主范式
极小项(短语)
在含有 n 个命题变元 P1, P2, P3, · · · , Pn 的短语或子句中,若每个命题变元与其否定不同时存在,但二者之一恰好出现一次且仅一次,并且出现的次序与 P1, P2, P3, · · · , Pn 一致,则称此短语或子句为关于 P1, P2, P3, · · · , Pn 的一个极小项或极大项
一般来说,若有 n 个命题变元,则应有 \(2^n\) 个不同的极小项和 \(2^n\) 个不同的极大项。
- 没有两个不同的极小项是等价的
- 每个极小项只有一组成真赋值,因此可用于给极小项编码 m
- 编码规律为:命题变元与 1 对应,命题变元的否定与 0 对应
极大项(子句)
- 没有两个不同的极大项是等价的
- 每个极大项只有一组成假赋值,因此可用于给极大项编码 M
- 编码规律为:命题变元与 0 对应,命题变元的否定与 1 对应
极小项与极大项编码
极小项与极大项性质
主析取范式、主合取范式
公式转换法
真值表技术
范式相互转化
主范式的应用
命题蕴涵公式
推理形式
所谓推理,是指从一组前提合乎逻辑的推出结论的思维过程。使用命题公式来表达前提和结论
公式 H 是前提集合 Γ = {G1, G2, · · · , Gn} 的逻辑结果当且仅当 (G1 ∧ G2 ∧ · · · ∧ Gn) → H为永真公式。
可以用 真值表技术、公式转换法、主析取范式法
基本蕴涵关系
- 简化规则
- 添加规则
- 合取引入规则
- 选言三段论
- 假言推理规则
- 否定后件式
- 假言三段论
- 二难推论
自然演绎法推理
自然演绎法
三个推理规则加上全部的基本等价公式和基本蕴涵公式,可作为推理与演绎的基础,从而构造一个完整的命题演算推理系统。即所有命题逻辑的定理都可以用这些规则严格地证明出来
- 规则 P (称为前提引用规则):在推导的过程中,可随时引入前提集合中的任意一个前提
- 规则 T (称为逻辑结果引用规则):在推导的过程中,可以随时引入公式 S,该公式 S 是由其前的一个或多个公式推导出来的逻辑结果
- 规则 CP (称为附加前提规则):如果能从给定的前提集合 Γ 与公式 P 推导出 S,则能从此前提集合 Γ 推导出 P → S
- 原理:P → (Q → R) = (P ∧ Q) → R
- 当结论公式是蕴涵式或析取式时使用
从前提集合 Γ 推出结论 H 的一个演绎是构造命题公式的一个有限序列:
其中,\(H_i\) 或者是 \(\Gamma\) 中的某个前提,或者是前面的某些 \(H_j(j < i)\) 的有效结论,并且 \(H_n\) 就是 \(H\),则称公式 \(H\) 为该演绎的有效结论,或者称从前提 \(\Gamma\) 能够演绎出结论 \(H\) 来。
演绎-直接证明法
大写字母 I 用的是基本蕴涵关系,大写字母 E 用的是基本等价公式
从结论出发,倒推
演绎-规则CP证明法
演绎-间接证明法(反证法、归谬法)
反证法是 CP 规则的一种变形
应用
推理是有效,结论可能是错误的:推理理论只管推理本身,不能管到具体的命题内容