离散数学 - 知识点
离散数学 - 知识点
离散数学作为 CS 的基础课,却并不是其它专业的基础课。在进行计算机相关课程的学习时,如果没有离散数学的基础,会碰到一些理论上的困难。
参考:
《离散数学(第 2 版)》屈婉玲,耿素云,张立昂,高等教育出版社。
1 命题逻辑的基本概念
1.1 命题与联结词
- 非真即假的陈述句称作命题
陈述句是陈述一个事实或者说话人看法的句型。陈述句分为肯定的陈述句和否定的陈述句,简称肯定句和否定句。(摘自百度百科-陈述句)
- 作为命题的陈述句所表达的判断结果称作命题的真值,真值只能取两个值:真或假。真值为真的命题称为真命题,真值为假的命题称为假命题。
- 不能被分解为更简单的命题称作简单命题或原子命题。由简单命题通过联结词联结而成的命题,称作复合命题。
命题的非真即假是指命题要么为真,要么为假,而不是可能为真,可能为假。
对于陈述:2 是偶数。该陈述一定为真,因此是命题。
对于陈述:X 是偶数,其中 X 是正整数。该陈述不一定为真,因此不是命题。
对于陈述:我正在说假话。如果命题为真,则根据命题可以推断出命题为假;反之亦然。
-
如果一个命题能由真推出假,由假推出真,也即这个命题既不能为真,也不能为假,则称为悖论。悖论不是命题。
-
定义 1.1
设 pp 为命题,复合命题“非 pp”(或 “pp 的否定”)称作 pp 的否定式,记作 ¬p¬p 。¬¬ 称作否定联结词。规定 ¬p¬p 为真当且仅当 pp 为假。 -
定义 1.2
设 pp, qq 为两个命题,复合命题“pp 并且 qq”(或 “pp 与 qq ”)称为 pp 与 qq 的合取式,记作 p∧qp∧q 。∧∧ 称作合取联结词。规定 p∧qp∧q 为真当且仅当 pp 与 qq 同时为真。 -
定义 1.3
设 pp, qq 为两个命题,复合命题“pp 或 qq”称作 qq 与 qq 的析取式,记作 p∨qp∨q。∨∨ 称作析取联结词。规定 p∨qp∨q 当且仅当 pp 与 qq 同时为假。 -
定义 1.4
设 pp, qq 为两个命题,复合命题“如果 pp ,则 qq” 称为 pp 与 qq 的蕴涵式,记作 p→qp→q ,并称 pp 是蕴含式的前件,qq 为蕴涵式的后件。→→ 称作蕴涵联结词。并规定 p→qp→q 为假当且仅当 pp 为真 qq 为假。
蕴含式是一个命题,因此是一个非真即假的陈述句。蕴含式仅说明陈述句具有蕴涵结构。
注意蕴涵关系里,pp 和 qq 不需要有逻辑上的联系。
若 pp 为真,qq 为真,则 p→qp→q 为真。例如:如果太阳从东边升起,则 1 等于 1。
若 pp 为真,qq 为假,则 p→qp→q 为假,例如:如果太阳从东边升起,则 1 等于 2。
若 pp 为假,则 p→qp→q 为真。这是因为假设的命题不为真,则推导的命题也就无法验证。例如:如果太阳从西边升起,则 1 等于 2。因为假设不成立,因此也就无法验证假设的推导是否成立。
p→qp→q 语义上是 pp 蕴涵 qq ,也即 qq 是 pp 的必要条件。
蕴涵关系(p→qp→q)的几种表述形式:
- 若 pp ,则 qq 。
- 只要 pp ,则 qq 。
- pp ,仅当 qq 。
- 除非 qq ,才有 pp 。
- 除非 qq ,否则 pp 不发生。
- 只有 qq ,才有 pp 。
- 定义 1.5
设 pp, qq 为两个命题,复合命题“ pp 当且仅当 qq” 称作 pp 与 qq 的等价式,记作 p↔qp↔q ,↔↔ 称作等价联结词。规定 p↔qp↔q 为真当且仅当 pp 与 qq 同时为真或同时为假。
命题符号化的例子
- 吴颖既用功又聪明
pp:吴颖用功
qq:吴颖聪明
p∧qp∧q- 张辉虽然聪明,但不用功
pp:张辉聪明
qq:张辉用功
p∧¬qp∧¬q- 张晓静是江西人或安徽人
pp:张晓静是江西人
qq:张晓静是安徽人
p∨qp∨q- 张静初只能挑选 202 房间或 203 房间
pp:张静初挑选 202 房间
qq:张静初挑选 203 房间
注意互斥性,因此为 (p∨¬q)∨(¬p∧q)(p∨¬q)∨(¬p∧q)- 如果 3+3=63+3=6 ,则雪是白色的
pp:3+3=63+3=6
qq:雪是白色的雪是白色的
p→qp→q,pp 的真值为真,qq 的真值为真,p→qp→q 的真值为真。- 只要 aa 能被 44 整除,则 aa 一定能被 22 整除
- aa 能被 44 整除,仅当 aa 能被 22 整除
- 只有 aa 能被 22 整除,aa 才能被 44 整除
pp:aa 能被 44 整除
qq:aa 能被 22 整除
p→qp→q
pp 和 qq 都不具有确定的值,但是 p→qp→q 本身为真。- √3√3 是无理数当且仅当加拿大位于亚洲
pp:√3√3 是无理数
qq:加拿大位于亚洲
p↔qp↔q
pp 的真值为 1,qq 的真值为 0,p↔qp↔q 的真值为 0。
1.2 命题公式及其赋值(命题形式及真值表)
本节解决问题:
- 是不是所有符号串都是命题?
- 符号串的真假值如何判断?
-
简单命题是命题逻辑中最基本的研究单位,其真值是确定的,又称为命题常项,或命题常元。取值 1 (真)或 0 (假)的变元称作命题变项,或命题变元。
-
将命题变项用联结词和圆括号按照一定的逻辑关系联结起来的符号串称作合式公式。
-
定义 1.6
(1)单个命题变项是合式公式,并称为原子命题公式。
(2)若 AA 是合式公式,则 (¬A)(¬A) 是合式公式。
(3)若 AA, BB 是合式公式,则 (A∧B)(A∧B), (A∨B)(A∨B), (A→B)(A→B), (A↔B)(A↔B) 是合式公式。
(4)有限次地应用(1)~(3)形成的符号串是合式公式。
注意:严格来讲,命题公式都是有括号的,只是可以把不影响运算次序的括号省略。
这是一种归纳定义的定义方法。 -
命题形式的 BNF(Bacus Normal Form):
α::=p|(¬α)|(α∨β)|(α∧β)|(α→β)|(α↔β)α::=p|(¬α)|(α∨β)|(α∧β)|(α→β)|(α↔β)
::= 理解为“定义为”。 -
合式公式也称作命题公式或命题形式,简称为公式。
-
设 AA 为合式公式,BB 是 AA 的一部分,若 BB 也是合式公式,则称 BB 为 AA 的子公式。
-
对象语言是用来描述研究对象的语言,元语言是用来描述对象语言的语言。
-
定义 1.7
(1)若公式 AA 是单个的命题变项,则称 AA 为 00 层公式。
(2)称 AA 是 n+1(n≥0)n+1(n≥0) 层公式是指下面的情况之一。
(a)A=¬BA=¬B,BB 是 nn 层公式;
(b)A=B∧CA=B∧C,其中 BB, CC 分别为 ii 和 jj 层公式,且 n=max(i,j)n=max(i,j);
(c)A=B∨CA=B∨C, A=B→CA=B→C, A=B↔CA=B↔C,其中 BB, CC 的层次分别同(b)。
(3)若公式 AA 的层次为 kk,则称 AA 是 kk 层公式。
公式的层数:
单目联结词使公式层数增 1。
双目联结词使公式层数在两个参与与运算的公式的最高层数基础上增 1。
-
命题形式的值由命题形式中的命题变元的值完全确定。
-
定义 1.8
设 p1,p2,...,pnp1,p2,...,pn 是出现在公式 AA 中的全部命题变项,给 p1,p2,...,pnp1,p2,...,pn 各指定一个真值,称为对 AA 的一个赋值或解释或指派。若指定的一组值使 AA 为 1,则称这组值为 AA 的成真赋值(成真指派);若使 AA 为 0,则称这组值为 AA 的成假赋值(成假指派)。
含 n(n≥1)n(n≥1) 个命题变项的公式共有 2n2n 个不同的赋值。
- 定义 1.9
将命题公式 AA 在所有赋值下取值情况列成表,称作 AA 的真值表。
构造真值表的具体步骤:
(1)找出公式中所含的全体命题变项 p1,p2,...,pnp1,p2,...,pn ,列出 2n2n 个赋值。赋值从 00...000...0 开始,然后按二进制加法加 1 ,依次写出每个赋值,直到 11...111...1 为止。
(2)按照从低到高的顺序写出公式的各个层次。
(3)对应各个赋值计算出各层次的真值,直到最后计算出公式的真值。
例:求 ¬p¬p 的真值表。
pp ¬p¬p 0 1 1 0
例:求 p→qp→q 的真值表。
pp p→qp→q 0 0 1 0 1 1 1 0 0 1 1 1
例:求 p↔qp↔q 的真值表。
pp p↔qp↔q 0 0 1 0 1 0 1 0 0 1 1 1
-
如果两个公式 AA ,BB 的真值表对所有赋值最后一列都相同,即最后结果都相同,则称这两个真值表相同。
-
定义 1.10
设 AA 为任一命题公式。
(1)若 AA 在它的各种赋值下取值均为真,则称 AA 为重言式或永真式。
(2)若 AA 在它的各种赋值下取值均为假,则称 AA 为矛盾式或永假式。
(3)若 AA 不是矛盾式,则称 AA 为可满足式。
若真值表的全为 1,则为永真式,若全为 0,则为永假式,若有 1,则为可满足式。
扩展:布尔逻辑的可满足问题(SAT 问题)是历史上第一个被证明的 NPC 问题,居七个“千禧年”数学难题之首。
- 设公式 A,BA,B 共含有命题变项 p1,p2,...,pnp1,p2,...,pn ,而 AA 或 BB 不全含这些命题变项,例如,AA 中不含 pi,pi+1,...,pn,i≥2pi,pi+1,...,pn,i≥2 ,称这些命题变项为 AA 的哑元。
2 命题逻辑等值演算
2.1 等值式
- 定义 2.1
设 A,BA,B 是两个命题公式,若 A,BA,B 构成的等价式 A↔BA↔B 为重言式,则称 AA 与 BB 是等值的,记作 A⇔BA⇔B 。
注:
⇔⇔ 是元语言符号,而 ↔↔ 是对象语言符号。
对命题常项(陈述句)而言,等价是陈述句的陈述形式。对命题变项而言,等价是命题变项或其组合(合式公式)之间的联系。等值是针对两个命题公式(也即合式公式)而言,表示两个公式在任何情况下(所含的命题变项的所有取值组合)都具有相同的值。
若 AA 和 BB 等值,则 A,BA,B 等价为真。
- 设 AA 是一个命题公式,含有命题变项 p1,p2,...,pnp1,p2,...,pn ,又设 A1,A2,...,AnA1,A2,...,An 是任意的命题公式。对每一个 i(i=1,2,...,n)i(i=1,2,...,n) ,把 pipi 在 AA 中的所有出现都替换成 AiAi ,所得到的新命题公式记作 BB 。那么,如果 AA 是重言式,则 BB 也是重言式。将重言式中的任意命题变项替换成任意公式后得到的公式也是重言式,称前后两个公式为等值式模式。
常用的 16 组等值式模式
- 双重否定律
A⇔¬¬AA⇔¬¬A
证明:
pp ¬p¬p ¬¬p¬¬p 0 1 0 1 0 1
- 幂等律
A⇔A∧AA⇔A∧A
A⇔A∨AA⇔A∨A
证明:
pp p∧pp∧p p∨pp∨p 0 0 0 1 1 1
交换律
A∨B⇔B∨AA∨B⇔B∨A
A∧B⇔B∧AA∧B⇔B∧A
证明:显然。结合律
(A∧B)∧C⇔A∧(B∧C)(A∧B)∧C⇔A∧(B∧C)
(A∨B)∨C⇔A∨(B∨C)(A∨B)∨C⇔A∨(B∨C)
证明:略。分配律
A∨(B∧C)⇔(A∨B)∧(A∨C)A∨(B∧C)⇔(A∨B)∧(A∨C)
A∧(B∨C)⇔(A∧B)∨(A∧C)A∧(B∨C)⇔(A∧B)∨(A∧C)
证明:略。补充:
(A∧B)∨(C∧D)⇔(A∧B)∨(C∧D)⇔
(A∨C)∧(A∨D)∧(B∨C)∧(B∨D)(A∨C)∧(A∨D)∧(B∨C)∧(B∨D)
(A∨B)∧(C∨D)⇔(A∨B)∧(C∨D)⇔
(A∧C)∨(A∧D)∨(B∧C)∨(B∧D)(A∧C)∨(A∧D)∨(B∧C)∨(B∧D)
- 德摩根律
¬(A∨B)⇔¬A∧¬B¬(A∨B)⇔¬A∧¬B
¬(A∧B)⇔¬A∨¬B¬(A∧B)⇔¬A∨¬B
证明:
只证一个。
pp p∨qp∨q ¬(p∨q)¬(p∨q) ¬p¬p ¬q¬q ¬p∧¬q¬p∧¬q 0 0 0 1 1 1 1 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 0 0
- 吸收律
A∨(A∧B)⇔AA∨(A∧B)⇔A
A∧(A∨B)⇔AA∧(A∨B)⇔A
pp p∧qp∧q p∨(p∧q)p∨(p∧q) 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 1
零律
A∨1⇔1A∨1⇔1
A∧0⇔0A∧0⇔0同一律
A∨0⇔AA∨0⇔A
A∧1⇔AA∧1⇔A排中律
A∨¬A⇔1A∨¬A⇔1矛盾律
A∧¬A⇔0A∧¬A⇔0蕴涵等值式
A→B⇔¬A∨BA→B⇔¬A∨B
证明:
pp ¬p¬p p→qp→q ¬p∨q¬p∨q 0 0 1 1 1 0 1 1 1 1 1 0 0 0 0 1 1 0 1 1
- 等价等值式
A↔B⇔(A→B)∧(B→A)A↔B⇔(A→B)∧(B→A)
pp p→qp→q q→pq→p (p→q)∧(q→p)(p→q)∧(q→p) p↔qp↔q 0 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 1 1 1 1 1
- 假言易位
A→B→¬B→¬AA→B→¬B→¬A
pp p→qp→q ¬p¬p ¬q¬q ¬q→¬p¬q→¬p 0 0 1 1 1 1 0 1 1 1 0 1 1 0 0 0 1 0 1 1 1 0 0 1
- 等价否定等值式
A↔B⇔¬A↔¬BA↔B⇔¬A↔¬B
pp ¬p¬p ¬q¬q p↔qp↔q ¬p↔¬q¬p↔¬q 0 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 1 0 0 1 1
- 归谬论
(A→B)∧(A→¬B)⇔¬A(A→B)∧(A→¬B)⇔¬A
pp ¬p¬p ¬q¬q p→qp→q p→¬qp→¬q (p→q)∧(p→¬q)(p→q)∧(p→¬q) 0 0 1 1 1 1 1 0 1 1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0
可以观察,等值关系和集合关系具有一致性。
否定联结词对应集合关系的补集。
合取联结词对应集合关系的交集。
析取联结词对应集合关系的合集。
- 将公式代入等值式模式即可得到一个具体的等值式,称为等值式模式的代入实例。
- 由已知的等值式推演出另外一些等值式的过程称作等值演算。
- 置换规则设 Φ(A)Φ(A) 是含公式 AA 的命题公式,Φ(B)Φ(B) 是用公式 BB 置换 Φ(A)Φ(A) 中 AA 的所有出现后得到的命题公式。若 B⇔AB⇔A ,则 Φ(A)⇔Φ(B)Φ(A)⇔Φ(B) 。
2.2 析取范式与合取范式
- 定义 2.2
命题变项及其否定统称作文字。仅由有限个文字构成的析取式称作简单析取式。仅由有限个文字构成的合取式称作简单合取式。
文字如:p,¬qp,¬q
简单析取式如:p∨q,p∨q,
简单合取式如:p∧qp∧q
-
定理 2.1
(1)一个简单析取式是重言式当且仅当它同时含某个命题变项及它的否定式。
(2)一个简单合取式是矛盾式当且仅当它同时含某个命题变项及它的否定式。 -
定义 2.3
由有限个简单合取式的析取构成的命题公式称作析取范式。由有限个简单析取式的合取构成的命题公式称作合取范式。析取范式与合取范式统称作范式。
范式分为析取范式和合取范式。以析取范式为例,析取范式由简单析取式构成,简单析取式由文字的析取式构成,文字只能是命题变项或者其否定。
析取范式如 p∨(¬p∧q)∨(p∧q)p∨(¬p∧q)∨(p∧q)
合取范式如 p∧(p∨q)∧(p∨¬q)p∧(p∨q)∧(p∨¬q)
-
定理 2.2
(1)一个析取范式是矛盾式当且仅当它的每个简单合取式都是矛盾式。
(2)一个合取范式是重言式当且仅当它的每个简单析取式都是重言式。 -
定理 2.3
范式存在定理
任一命题都存在与之等值的析取范式与合取范式。
求给定公式范式的步骤为:
消去联结词 →→, ↔↔ 。
A→B⇔¬A∨BA→B⇔¬A∨B
A↔B⇔(A→B)∧(B→A)A↔B⇔(A→B)∧(B→A)用双重否定律消去双重否定符,用德摩根律内移否定符。
¬¬A⇔A¬¬A⇔A
¬(A∨B)⇔¬A∧¬B¬(A∨B)⇔¬A∧¬B
¬(A∧B)⇔¬A∨¬B¬(A∧B)⇔¬A∨¬B使用分配律。
A∨(B∧C)⇔(A∨B)∧(A∨C)A∨(B∧C)⇔(A∨B)∧(A∨C)
A∧(B∨C)⇔(A∧B)∨(A∧C)A∧(B∨C)⇔(A∧B)∨(A∧C)
例:求 (p→q)↔r(p→q)↔r 的析取范式和合取范式。
合取范式:
(p→q)↔r(p→q)↔r ⇔⇔
(¬p∨q)↔r(¬p∨q)↔r ⇔⇔
((¬p∨q)→r)∧(r→(¬p∨q))((¬p∨q)→r)∧(r→(¬p∨q)) ⇔⇔
(¬r∨(¬p∨q))∧(¬(¬p∨q)∨r)(¬r∨(¬p∨q))∧(¬(¬p∨q)∨r) ⇔⇔
(¬r∨¬p∨q)∧((p∧¬q)∨r)(¬r∨¬p∨q)∧((p∧¬q)∨r) ⇔⇔
(¬r∨¬p∨q)∧(p∨r)∧(¬q∨r)(¬r∨¬p∨q)∧(p∨r)∧(¬q∨r)
析取范式:
应用分配律时调整分配方式,即可。
(¬r∨¬p∨q)∧((p∧¬q)∨r)(¬r∨¬p∨q)∧((p∧¬q)∨r) ⇔⇔
(¬r∧p∧¬q)∨(¬r∧r)∨(¬p∧p∧¬q)∨(¬p∧r)∨(q∧p∧¬q)∨(q∧r)⇔(¬r∧p∧¬q)∨(¬r∧r)∨(¬p∧p∧¬q)∨(¬p∧r)∨(q∧p∧¬q)∨(q∧r)⇔
(¬r∧p∧¬q)∨(¬p∧r)∨(q∧r)(¬r∧p∧¬q)∨(¬p∧r)∨(q∧r)
- 定理 2.4
在含有 nn 个命题变项的简单合取式(简单析取式)中,若每个命题变项和它的否定式恰好出现一个且仅出现一次,而且命题变项或它的否定式按照下标从小到大或按照字典顺序排列,称这样的简单合取式(简单析取式)为极小项(极大项)。
两个命题变项的极小项与极大项
极小项 成真赋值 名称 ¬p∧¬q¬p∧¬q 0 0
m0m0 ¬p∧q¬p∧q 0 1
m1m1 p∧¬qp∧¬q 1 0
m2m2 p∧qp∧q 1 1
m3m3
极大项 成假赋值 名称 p∨qp∨q 0 0
M0M0 p∨¬qp∨¬q 0 1
M1M1 ¬p∨q¬p∨q 1 0
M2M2 ¬p∨¬q¬p∨¬q 1 1
M3M3
-
定理 2.4
设 mimi 与 MiMi 是命题变项含 p1,p2,...,pnp1,p2,...,pn 的极小项和极大项,则 ¬mi⇔Mi¬mi⇔Mi, ¬Mi⇔mi¬Mi⇔mi 。 -
定义 2.5
所有简单合取式(简单析取式)都是极小项(极大项)的析取范式(合取范式)称为主析取范式(主合取范式)。
主析取范式由简单合取式组成;主合取范式由简单析取式组成。
例:求 (p→q)↔r(p→q)↔r 的主析取范式和主合取范式。
已有析取范式为 (¬r∧p∧¬q)∨(¬p∧r)∨(q∧r)(¬r∧p∧¬q)∨(¬p∧r)∨(q∧r) , 合取范式为 (¬r∨¬p∨q)∧(p∨r)∧(¬q∨r)(¬r∨¬p∨q)∧(p∨r)∧(¬q∨r) 。p∧¬q∧¬rp∧¬q∧¬r ⇔⇔
m4m4(¬p∧r)(¬p∧r) ⇔⇔
¬p∧r∧(q∨¬q)¬p∧r∧(q∨¬q)
(¬p∧r∧q)∨(¬p∧r∧¬q)(¬p∧r∧q)∨(¬p∧r∧¬q)
m3∨m1m3∨m1q∧rq∧r
(p∨¬p)∧q∧r(p∨¬p)∧q∧r
(p∧q∧r)∨(¬p∧q∧r)(p∧q∧r)∨(¬p∧q∧r)
m7∨m3m7∨m3
故主析取范式为 m1∨m3∨m4∨m7m1∨m3∨m4∨m7 。p∨rp∨r ⇔⇔
p∨(q∧¬q)∨rp∨(q∧¬q)∨r ⇔⇔
(p∨q∨r)∧(p∨¬q∨r)(p∨q∨r)∧(p∨¬q∨r) ⇔⇔
M0∧M2M0∧M2¬q∨r¬q∨r ⇔⇔
(p∧¬p)∨¬q∨r(p∧¬p)∨¬q∨r ⇔⇔
(p∨¬q∨r)∧(¬p∨¬q∨r)(p∨¬q∨r)∧(¬p∨¬q∨r)
M2∨M6M2∨M6¬r∨¬p∨q¬r∨¬p∨q
M5M5即主合取式为 M0∧M2∧M5∧M6M0∧M2∧M5∧M6 。
例:求命题公式 p→qp→q 的主析取范式与主合取范式。
p→qp→q ⇔⇔
¬p∨q¬p∨q ⇔⇔
M2M2
⇔⇔
(¬p∧(q∨¬q))∨((p∨¬p)∧q)(¬p∧(q∨¬q))∨((p∨¬p)∧q) ⇔⇔
(¬p∧q)∨(¬p∨¬q)∨(p∧q)∨(¬p∧q)(¬p∧q)∨(¬p∨¬q)∨(p∧q)∨(¬p∧q) ⇔⇔
m0∨m1∨m3m0∨m1∨m3
扩展
析取范式和合取范式的变换
p∨qp∨q ⇔⇔
M0M0 ⇔⇔
(p∧(q∨¬q))∨((p∨¬p)∧q)(p∧(q∨¬q))∨((p∨¬p)∧q) ⇔⇔
(p∧q)∨(p∧¬q)∨(p∧q)∨(¬p∧q)(p∧q)∨(p∧¬q)∨(p∧q)∨(¬p∧q) ⇔⇔
m1∨m2∨m3m1∨m2∨m3p∧qp∧q ⇔⇔
m3m3 ⇔⇔
(p∨(q∧¬q))∧((p∧¬p)∨q)(p∨(q∧¬q))∧((p∧¬p)∨q) ⇔⇔
(p∨q)∧(p∧¬q)∧(p∨q)∧(¬p∨q)(p∨q)∧(p∧¬q)∧(p∨q)∧(¬p∨q) ⇔⇔
M0∧M1∧M2M0∧M1∧M2
-
定理 2.5
任何命题公式都存在与之等值的主析取范式和主合取范式,并且是唯一的。 -
主析取范式、主合取范式的应用
- 求公式的成真赋值与成假赋值
例如,主析取范式的简单析取式的下标的二进制形式即为成真赋值;主合取范式的简单合取式的下标的二进制形式即为成假赋值。 - 判断公式的类型
如判断公式是否为重言式、矛盾式;是否为可满足式。
如果析取式存在 2n2n 个简单析取式,则为重言式(永真式),如果不存在(为空,0),则为矛盾式;存在简单析取式,则为可满足式。
如果合取式存在 2n2n 个简单合取式,则为矛盾式(永假式),如果不存在(为空,0),则为重言式;简单合取式的数量小于 2n2n 个,则为可满足式。 - 判断两个公式是否等值
写出两个公式的主析取范式或者主合取范式,如果一致,则等值;否则不等值。
- 求公式的成真赋值与成假赋值
例
判断 pp 与 (p∧q)∨(p∧¬q)(p∧q)∨(p∧¬q) 是否等值。
第二个公式是主析取式,为 m2∨m3m2∨m3
2.3 联结词的完备集
-
引导问题:
- 为什么只考虑五个联结词?
- 这五个联结词能否表示所有联结词?
- 这五个联结词是否有多余的?
- 什么是联结词?
- 什么是一些联结词表示了一个联结词?
- 什么是联结词的“多余”?
- 为什么只考虑五个联结词?
-
联结词确定了复合命题的构造方式,复合命题建立了真假值对应方式。
-
定义 2.6
称 F:{0,1}n→{0,1}F:{0,1}n→{0,1} 为 nn 元真值函数。
这里是集合论中的写法,An={<a1,a2,...,an>|ai∈A,1≤i≤n}An={<a1,a2,...,an>|ai∈A,1≤i≤n},因此如果 A={0,1}A={0,1} ,则为 {0,1}n={<a1,a2,...,an>|ai∈{0,1},1≤i≤n}{0,1}n={<a1,a2,...,an>|ai∈{0,1},1≤i≤n}
nn 元真值函数的定义域和值域
定义域:由 0,10,1 组成的长为 nn 的符号串的全体,即 {0..00,0..01,...,1...11}{0..00,0..01,...,1...11}
值域:00 和 11,即 {0,1}{0,1}
对 nn 元真值函数,其自变量共有 2n2n 种,2n2n 种自变量对应 2(2n)2(2n) 种值域取值(每一个自变量组合对应因变量两个取值)。
例如,11 元真值函数总共有 2(21)=42(21)=4 个。
pp F(1)0F(1)0 F(1)1F(1)1 F(1)2F(1)2 F(1)3F(1)3 0 0 0 1 1 1 0 1 0 1
pp F(2)0F(2)0 F(2)1F(2)1 F(2)2F(2)2 F(2)3F(2)3 ... 0 0 0 0 0 0 ... 0 1 0 0 0 0 ... 1 0 0 0 1 1 ... 1 1 0 1 0 1 ...
-
一个联结词确定一个真值函数,一个命题形式也确定一个真值函数。
-
一个真值函数与一个主析取范式或合取范式唯一等值。
F(2)0F(2)0 表示取值总为 00 ,即矛盾式。
F(2)1F(2)1 表示 m3m3 (全为真时为真)。
F(2)3F(2)3 表示 m2∨m3m2∨m3 。
-
定义 2.7
设 SS 是一个联结词集合,如果任何 n(n≥1)n(n≥1) 元真值函数都可以由仅含 SS 中的联结词构成的公式表示,则称 SS 是联结词完备集。 -
定理 2.6
S={¬,∧,∨}S={¬,∧,∨} 是联结词完备集。
证明:因为任意一个真值函数都与唯一的一个主析取范式等值,而主析取范式中只用到了 ¬¬、∧∧、∨∨ ,因此 S={¬,∧,∨}S={¬,∧,∨} 是联结词完备集。
-
定理 2.6 推论
以下联结词集都是联结词完备集。
(1)S1={¬,∧,∨,→}S1={¬,∧,∨,→}
(2)S2={¬,∧,∨,→,↔}S2={¬,∧,∨,→,↔}
(3)S3={¬,∧}S3={¬,∧}
(4)S4={¬,∨}S4={¬,∨}
(5)S5={¬,→}S5={¬,→} -
定义 2.8
设 p,qp,q 是两个命题,复合命题“ pp 与 qq 的否定式”称作 p,qp,q 的与非式,记作 p↑qp↑q 。即 p↑q⇔¬(p∧q)p↑q⇔¬(p∧q) 。符号 ↑↑ 称作与非联结词。
复合命题“ pp 或 qq 的否定式”称作 p,qp,q 的或非式,记作 p↓qp↓q 。即 p↓q⇔¬(p∨q)p↓q⇔¬(p∨q) 。符号 ↓↓ 称作或非联结词。 -
定理 2.7
{↑},{↓}{↑},{↓} 都是联结词完备集。
¬p¬p ⇔⇔
¬(p∧p)¬(p∧p) ⇔⇔
p↑pp↑pp∧qp∧q ⇔⇔
¬(p↑q)¬(p↑q) ⇔⇔
(p↑q)↑(p↑q)(p↑q)↑(p↑q)p∨qp∨q ⇔⇔
¬¬(p∨q)¬¬(p∨q) ⇔⇔
¬(¬p∧¬q)¬(¬p∧¬q) ⇔⇔
¬p↑¬q¬p↑¬q ⇔⇔
(p↑p)↑(q↑q)(p↑p)↑(q↑q)¬p¬p ⇔⇔
¬(p∨p)¬(p∨p) ⇔⇔
p↓pp↓pp∧qp∧q ⇔⇔
¬(¬p∨¬q)¬(¬p∨¬q) ⇔⇔
¬p↓¬q¬p↓¬q ⇔⇔
(p↓p)↓(q↓q)(p↓p)↓(q↓q)p∨qp∨q ⇔⇔
¬(p↓q)¬(p↓q) ⇔⇔
(p↓q)↓(p↓q)(p↓q)↓(p↓q)
2.4 可满足性问题与消解法
- 消解法是真值表、主析取范式或主合取范式之外的一种解决可满足性问题的方法。
- 称不含任何文字的简单析取式为空简单析取式,记作 λλ 。规定空简单析取式是不可满足的。
空简单析取式不可满足是根据消解法规定的。
p∧¬pp∧¬p 消解为空(不含任何文字的析取式),而消解前为不可满足的,因此空简单析取式也是不可满足的(也可以从不含任何文字的析取式是不可满足的角度理解)。
-
设 ll 是一个文字,记 lc={¬p,若l=pp,若l=¬p 称作文字 l 的补。
-
定义 2.9
设 C1,C2 是两个简单析取式,C1 含文字 l ,C2 含 lc 。从 C1 中删去 l ,从 C2 中删去 lc ,然后再将所得到的结果析取成一个简单析取式,称这样得到的简单析取式为 C1,C2 的(以 l 和 lc 为消解文字的) 消解式或消解结果,记为 Res(C1,C2) 。即设 C1=C′1∨l,C2=C′2∨lc,Res(C1,C2)=C′1∨C′2 。
消解是针对析取式而言的。
-
根据定义 2.9 由 C1,C2 得到 Res(C1,C2) 的规则称作消解规则。
-
如果 C1,C2 可对多对文字消解,则其消解结果都是等值的。
简单证明
不妨记 C1=A∨l1∨l2∨...∨ln,C2=B∨¬l1∨¬l2∨...∨¬ln ,A,B 是不可消解的任意文字,即最多有 n 对文字可以消解。消去 1 对文字之后,由于剩余的可消解的文字对一定有 li∨¬li 的形式(或者消解结果就只有一个),则一定为永真式,也即所有的消解结果的值相同。
举例
C1=p∨q∨r,C2=¬p∨¬q,则消去 p ,为 D1=q∨r∨¬q,消去 q ,则为 D2=p∨r∨¬p,D1,D2 都是永真式。
- 定理 2.8
C1∧C2≈Res(C1,C2) 。
符号 ≈ 表示两端的公式具有相同的可满足性,即
若 C1∧C2 可满足,则 Res(C1,C2) 可满足;
若 Res(C1,C2) 可满足,则 C1∧C2 可满足;
简单证明
若 C1∧C2 可满足,则 C1 和 C2 均可满足,消解过程中,如果消解没有引起不满足条件改变,则消解之后仍可满足,如果消解引起不满足条件改变(满足的文字被消解),假设为 C1 ,则对 C2 ,根据消解的规则(消解的是补),一定不引起满足条件改变,因此消解结果也一定可满足。
若 Res(C1,C2) 可满足,则若记 Res(C1,C2)=A1∨A2 ,A1,A2 至少有一个可满足,不妨设 A1 可满足,再不妨记 C1=A1∨l ,C2=A2∨lc ,则有 C1 可满足,此时只要取 lc 可满足即可。也即 C1∧C2 一定可满足。
举例:假设消解结果为 p∨¬p ,则消解前的析取式可以为 p∨¬q,¬p∨q ,显然,如果消解结果可以满足,则消解前的析取式一定也可以满足(因为按析取关系增加了一个可满足文字)。
可满足性相同,但是不一定等值。
这个定理说明,如果两个公式都是可满足的,则它们的消解结果一定也是可满足的。如果消解结果是可满足的,则消解前的两个公式也一定是可满足的。
- 定义 2.10
设 S 是一个合取范式,C1,C2,...,Cn 是一个简单析取式序列。如果对每一个 i(1≤i≤n) ,Ci 是 S 中的一个简单析取式或者 Ci 是它之前的某两个简单析取式 Cj,Ck(1≤j<k<i) 的消解结果,则称此序列是由 S 导出 Cn 的消解序列。当 Cn=λ 时,称此序列是 S 的一个否证。
例如,p∧¬p 消解为 λ ,即不可满足。
-
定义 2.10 推论
如果合取范式 S 有否证,则 S 不是可满足的。 -
引理 2.9
设 S 含有简单析取式 l ,从 S 中删去所有包含 l 的简单析取式,再从剩下的简单析取式中删去 lc ,把这样得到的合取范式记作 S′ ,则 S≈S′ 。 -
定理 2.10
消解的完全性。
如果合取范式 S 是不可满足的,则 S 有否证。 -
定理 2.10 推论
合取范式 S 是不可满足的当且仅当它有否证。
消解算法
输入:合式公式 A 。
输出:若 A 是可满足的,则回答“yes”;否则回答“no”。
- 求 A 的合取范式 S
- 令 S0 和 S2 为不含任何元素的集合,S1 为 S 的所有简单析取式组成的集合
- 对 S0 中的每一个简单析取式 C1 与 S1 中的每一个简单析取式 C2
- 如果 C1,C2 可以消解,则
- 计算 C=Res(C1,C2)
- 如果 C=λ ,则
- 输出 “no”,计算结束
- 如果S0与S1都不包含C,则
- 把 C 加入 S2
- 对 S1 中的每一对子句 C1,C2
- 如果 C1,C2 可以消解,则
- 计算 C=Res(C1,C2)
- 如果 C=λ,则
- 输出“no”,计算结束
- 如果 S0 与 S1 都不包含 C,则
- 把 C 加入 S2
- 如果 S2 中没有任何元素,则
- 输出“yes”,计算结束
- 否则把 S1 加入 S0,令 S1 等于 S2 ,清空 S2,返回 3
3 命题逻辑的推理理论
3.1 推理的形式结构
-
推理是指从前提出发推出结论的思维过程,前提是已知的命题公式集合,结论是从前提出发应用推理规则推出的命题公式。
-
定义 3.1
设 A1,A2,...,Ak 和 B 都是命题公式,若对于 A1,A2,...,Ak 和 B 中出现的命题变项的任意一组赋值,或者 A1∧A2∧...∧Ak 为假,或者当 A1∧A2∧...∧Ak 为真时 B 也为真,则称由前提 A1,A2,...,Ak 推出结论 B 的推理是有效的或正确的,并称 B 为有效的结论。
推理错误当且仅当 A1∧A2∧...∧An 为假,B 为真。
对于一个正确的推理,如果前提正确,则结论一定正确,如果前提错误,则结论可能正确,也可能错误。
推理的定义是命题公式的集合之间的关系。
-
设前提为集合 Γ ,将由 Γ 推出 B 的推理记为 Γ⊢B 。若推理是正确的,则记为 Γ⊨B ,否则记为 Γ⊭B 。这里称 Γ⊢B 或 {A1,A2,...,Ak}⊢B 为推理的形式结构。
-
定理 3.1
命题公式 A1,A2,...,Ak 推出 B 的推理正确当且仅当 A1∧A2∧...∧Ak→B 为重言式。
充分性。A1∧A2∧...∧Ak→B 为重言式,则对任意赋值,该式为真,即不会出现前真后假的情况,因此符合推理正确的定义。
必要性。若推理正确,则必没有前真后假的情况,因此也即对任意赋值,相应的蕴含式必为真,也即蕴含式为永真式。
- 根据定理 3.1 ,也即 {A1,A2,...,Ak}⊨B 等价于 A1∧A2∧...∧Ak⇒B ,这里 ⇒ 为元语言符号,表示蕴含式为重言式。
判断推理是否正确,也即判断对应的蕴含式是否为永真式,相应有真值表法、等值演算法、主析取范式法。
例
判断下面的推理是否正确。
(1)下午马芳或去看电影或去游泳,她没去看电影,所以,她去游泳了。
分析:
定义命题:
p:下午马芳去看电影;
q:下午马芳去游泳;
将推理符号化,为
前提:((p∧¬q)∨(¬p∧q))∧¬p
结论:q
推理的形式结构为
E=(((p∧¬q)∨(¬p∧q))∧¬p)→q
判断该式是否为重言式,可以用等值演算法,即
E⇔(¬p∧q)→q ⇔
¬(¬p∧q)∨q ⇔
p∨¬q∨q ⇔
1
也即推理正确。(2)若下午气温超过 30 摄氏度,则王小燕必去游泳,若她去游泳,她就不去看电影了。所以,若王小燕没去看电影,下午气温必超过了 30 摄氏度。
分析:定义命题:
p:下午气温超过 30 摄氏度;
q:王小燕去游泳;
r:王小燕去看电影;
推理符号化为:
前提:(p→q)∧(q→¬r)
结论:(¬r→p)
推理的形式化结构为
E=((p→q)∧(q→¬r))→(¬r→p)
使用等值演算,即
E⇔
((¬p∨q)∧(¬q∨¬r))→(r∨p) ⇔
¬((¬p∨q)∧(¬q∨¬r))∨(r∨p) ⇔
(¬(¬p∨q)∨¬(¬q∨¬r))∨(r∨p) ⇔
((p∧¬q)∨(q∧r))∨(r∨p) ⇔
(p∧¬q)∨(q∧r)∨r∨p ⇔
p∨r
此时,已经可以判断不是重言式(p=0∧r=0)。
推理定律
序号 推理定律 名字 1 A⇒(A∨B) 附加律 2 (A∧B)⇒A 化简律 3 (A→B)∧A⇒B 假言推理 4 (A→B)∧¬B⇒¬A 拒取式 5 (A∨B)∧¬B⇒A 析取三段论 6 (A→B)∧(B→C)⇒A→C 假言三段论 7 (A⇔B)∧(B⇔C)⇒A⇔C 等价三段论 8 (A→B)∧(C→D)∧(A∨C)⇒(B∨D) 构造性二难 8.1 (A→B)∧(¬A→B)⇒B 构造性二难(特殊形式) 9 (A→B)∧(C→D)∧(¬B∨¬D)⇒(¬A∨¬C) 破坏性二难
证明示例:
对 (A∨B)∧¬B⇒A ,替换为 (p∨q)∧¬q→p 永真,
记为 E⇔
¬((p∨q)∧¬q)∨p ⇔
(¬p∧¬q)∨q∨p ⇔
(¬p∨q)∨p ⇔
1
即永真成立。
3.2 自然推理系统 P
-
证明是一个描述推理过程的命题公式序列,其中的每个公式或者是已知前提,或者是由前面的公式应用推理规则得到的结论(中间结论或推理中的结论)。
-
定理 3.2
一个形式系统 I 由下面 4 个部分组成。
(1)非空的字母表 A(I) 。
(2)A(I) 中符号构造的合式公式集 E(I) 。
(3)E(I) 中一些特殊的公式组成的公理集 AX(I) 。
(4)推理规则集 R(I) 。
将 I 记为 4 元组 <A(I),E(I),AX(I),R(I)> 。其中 <A(I),E(I)> 是 I 的形式语言系统,而 <AX(I),R(I)> 为 I 的形式演算系统。 -
形式系统一般分为两类,分别是自然推理系统和公理推理系统。自然推理系统的特点是从任意给定的前提出发,应用系统中的推理规则进行推理演算,最后得到的命题公式是推理的结论(不一定是重言式)。公理推理系统的特点是只能从若干给定的公理出发,应用系统中的推理规则进行推理演算,得到的结论是系统中的重言式,称为系统中的定理。
-
定理 3.3
自然推理系统 P 的定义如下:- 字母表
(1)命题变项符号:p,q,r,...,pi,qi,ri,...
(2)联结词符号:¬,∧,∨,→,↔
(3)括号与逗号:)(, - 合式公式
参考定义 1.6 (单个命题变项以及有限次联结)。 - 推理规则
(1)前提引入规则:在证明的任何步骤都可以引入前提;
(2)结论引入规则:在证明的任何步骤所得到的结论都可以作为后继证明的前提;
(3)置换规则:在证明的任何步骤,命题公式中的子公式都可以用等值的公式置换,得到公式序列中的又一个公式;
(4)根据 9 条推理定律以及结论引入规则,可以相应导出 9 条推理规则。
- 字母表
-
设前提 A1,A2,...,Ak ,结论 B 和公式序列 C1,C2,...,Cl ,如果每一个 i ,Ci 是某个 Aj ,或者可由序列中前面的公式应用推理规则得到,并且 Cl=B ,则称公式序列 C1,C2,...,Cl 是由 A1,A2,...,Ak 推出 B 的一个证明。
附加前提证明法
(A1∧A2∧...∧Ak)→(A→B) ⇔
(A1∧A2∧...∧Ak∧A)→B
也即如果结论是蕴含式,则可以将结论中的蕴含式的前件也作为推理的前提。
证明:
(A1∧A2∧...∧Ak)→(A→B) ⇔
¬(A1∧A2∧...∧Ak)∨(¬A∨B) ⇔
(A1∧A2∧...∧Ak∧A)→B
归谬法
(A1∧A2∧...∧Ak)→B ⇔
(A1∧A2∧...∧Ak∧¬B) 为矛盾式。
也即如果将结论的反面作为前提进行推理能得到矛盾式,则推理正确。
证明:
(A1∧A2∧...∧Ak)→B ⇔
¬(A1∧A2∧...∧Ak)∨B ⇔
¬(A1∧A2∧...∧Ak∧¬B)
如果 ¬(A1∧A2∧...∧Ak∧¬B) 为矛盾式,则原式为永真式。
3.3 消解证明法
- 消解证明法:
根据归谬法,将结论的反面和前提化为合取范式,然后通过消解规则,如果消解出空,则为矛盾式,相应的推理就得到证明。
4 一阶逻辑基本概念
- 命题逻辑具有一定的局限性,甚至无法判断一些常见的简单推理。为了命题逻辑的这种局限性,需要引入量词,以期达到表达出个体与总体之间的内在联系和数量关系,这就是一阶逻辑所研究的内容。一阶逻辑也称作一阶谓词逻辑或谓词逻辑。
4.1 一阶命题符号化
- 个体词、谓词和量词是一阶逻辑命题符号化的 3 个基本要素。
一阶逻辑命题举例:所有偶数都是整数。“所有···都···”是量词,“偶数”是个体词,“是整数”是谓词。
- 个体词是指所研究对象中可以独立存在的具体的或抽象的客体。
- 将表示具体或特定的客体的个体词称作个体常项,一般用小写英文字母 a,b,c 表示。将表示抽象或泛指的个体词称作个体变项,常用 x,y,z 表示。称个体变项的取值范围为个体域(或论域)。
对陈述 “√2 是偶数”。其中,√2 是个体常项,“是偶数”是谓词常项。
对陈述 “x 是偶数”。其中,x 是个体变项。对于 x ,可以规定个体域为“所有整数”。
- 有一个特殊的个体域,它是由宇宙间一切事物组成的,称作全总个体域。
- 谓词是用来刻画个体词性质及个体词之间相互关系的词,常用 F,G,H 等表示。
- 表示具体性质或关系的谓词称作谓词常项,表示抽象的或泛指的性质或关系的谓词称作谓词变项。
“所有偶数和整数都满足关系 L ”,其中“满足关系 L” 是谓词变项。
- 一般地,含 n(n≥1) 个个体变项 x1,x2,...,xn 的谓词 P 称作 n 元谓词。记作 P(x1,x2,...,xn) 。当 n=1 时,表示 x1 具有性质 P ,当 n>1 时,表示 x1,x2,...,xn 具有关系 P 。
陈述“x 是偶数”,只有一个个体变项,即表示 x 具有一项性质,是偶数。
陈述“x 比 y 大”,有两个个体变项,即表示 x,y 满足一个关系,x 比 y 大。
- n 元谓词的定义域是个体域,值域是 {0,1} 。
- 将不带个体变项的谓词称作 0 元谓词。当为谓词常项时,0 元谓词为命题。
例
将命题用 0 元谓词符号化
只有 2 是素数,4 才是素数。
析:
设 1 元谓词 F(x):x 是素数,命题可以符号化为
F(4)→F(2)
- 表示个体常项或变项之间数量关系的词称作量词。量词有全称量词和存在量词两种。
- 全称量词用符号 ∀ 表示,∀x 表示个体域里的所有个体 x ,其中个体域是事先约定的。
全称量词的描述示例:
“一切的”,
“所有的”,
“每一个”,
“任意的”,
“凡”,
“都”
全称量词符号示例:
∀xF(x) 表示个体域里所有 x 具有性质 F ;
∀x∀yG(x,y) 表示个体域里所有个体 x,y 都有关系 G 。
- 存在量词用符号 ∃ 表示,∃x 表示个体域里有一个个体 x 。
存在量词的描述示例:
“存在”,
“有一个”,
“有的”,
“至少有一个”,
存在量词符号示例:
∃xF(x) 表示个体域中存在 x 具有性质 F ;
∃x∃yG(x,y) 表示个体域中存在 x,y 满足关系 G ;
全称量词和存在量词可以组合使用
∀x∃yG(x,y) 表示个体域中,所有 x ,存在 y ,满足关系 G 。
命题符号化示例
(1)凡人都呼吸,个体域 D1 为人类集合。
个体域中除人外,再没有其它对象。记 F(x):x 呼吸。命题符号化为 ∀xF(x) 。
(2)凡人都呼吸,个体域 D2 为全总个体域。
个体域中除人外,还有其它对象,因此要先给定谓词,将人从全总个体域中分离出来,可以取 G(x):x 是人,再取 F(x):x 呼吸。则命题符号化为 ∀(G(x)→F(x)) 。
(3)有的人用左手写字。个体域 D1 为人类集合。
个体域中只有人,因此是存在量词。记 F(x):x 用左手写字。命题符号化为 ∃xF(x) 。
(4)有的人用左手写字。个体域 D2 为全总个体域。
先从个体域中分离出人。取 G(x):x 是人。则命题符号化为 ∃x(G(x)→F(x)) 。
4.2 一阶逻辑公式及其解释
-
一阶语言,适用于一阶逻辑的形式语言,一阶逻辑是建立在一阶语言上的逻辑体系。
-
非逻辑符号:个体常项符号,函数符号,谓词符号。
-
逻辑符号:个体变项符号,量词符号,联结词符号,括号,逗号。
-
定义 4.1
设 L 是一个非逻辑符号集合,由 L 生成的一阶语言 L 的字母表包括下述符号。
非逻辑符号
(1)L 中的个体常项符号,常用 a,b,c,... 或 ai,bi,ci,...(i≥1) 表示。
(2)L 中的函数符号,常用 f,g,h,... 或 fi,gi,hi,...(i≥1) 表示。
(3)L 中的谓词符号,常用 F,G,H,... 或 Fi,Gi,Hi,...(i≥1) 表示。
逻辑符号
(4)个体变项符号:x,y,z,...,xi,yi,zi,...(i≥1) 。
(5)量词符号:∀,∃
(6)联结词符号:¬,∧,∨,→,↔ 。
(7)括号与逗号:)(, -
定义 4.2
L 的项定义如下:
(1)个体常项符号和个体变项符号是项。
(2)若 φ(x1,x2,...,xn) 是 n 元函数符号,l1,l2,...,ln 是 n 个项,则 φ(l1,l2,...,ln) 是项。
(3)所有的项都是有限次地使用(1)(2)得到的。 -
定义 4.3
设 R(x1,x2,...,xn) 是 L 的 n(n≥1) 元谓词符号,t1,t2,...,tn 是 L 的 n 个项,则称 R(t1,t2,...,tn) 是 L 的原子公式。 -
定义 4.4
L 的合式公式定义如下:
(1)原子公式是合式公式
(2)若 A 是合式公式,则 (¬A) 也是合式公式。
(3)若 A,B 是合式公式,则 (A∧B),(A∨B),(A→B),(A↔B) 也是合式公式。
(4)若 A 是合式公式,则 ∀xA,∃xA 也是合式公式。
(5)只有有限次地应用(1)~(4)构成的符号串才是合式公式。 -
L 的合式公式也称谓词公式,简称公式。
-
定义 4.5
在公式 ∀xA 和 ∃xA 中,称 x 为指导变元,A 为量词的辖域,在 ∀x 和 ∃x 的辖域中,x 的所有出现都称作约束出现,A 中不是约束出现的其它变项均称作自由出现。
对 ∀x(F(x,y)→G(x,z))
指导变元为 x
辖域为 A=F(x,y)→G(x,z)
x 约束出现两次,y,z 各自由出现一次。
- 定义 4.6
设 A 是任意的公式,若 A 中不含自由出现的个体变项,则称 A 为封闭的公式,简称作闭式。
对公式中所有自由出现的个体变项添加量词即产生封闭的公式。
-
对公式中个体域、个体常项符号、函数符号、谓词符号的指定称作解释,指定自由出现的个体变项的值称作赋值。
-
定义 4.7
设 L 是由 L 生成的一阶语言,L 的解释 I 由以下部分组成。
(1)非空个体域 DI
(2)对每一个个体常项符号 a∈L ,有一个 ¯a∈DI ,称 ¯a 为 a 在 I 中的解释。
(3)对每一个 n 元函数符号 f∈L ,有一个 DI 上的 n 元函数 ¯f:DnI→DI ,称 ¯f 为 f 在 I 中的解释。
(4)对每一个 n 元谓词符号 F∈L ,有一个 DI 上的 n 元谓词常项 ¯F ,称 ¯F 为 F 在 I 中的解释。 -
设公式 A ,规定:在解释 I 和赋值 σ 下,
- 取个体域 DI ,
- 若 A 中含个体常项符号 a 就将它替换成 ¯a ,
- 若 A 中含函数符号 f 就将它替换成 ¯f ,
- 若 A 中含谓词符号 F 就将它替换成 ¯F ,
- 若 A 中含自由出现的个体变项符号 x 就将它替换成 σ(x) ,
把这样得到公式记作 A′ ,称 A′ 为 A 在 I 和 σ 下的解释,或 A 在 I 和 σ 下被解释成 A′ 。
-
定义 4.8
设 A 为一公式,若 A 在任何解释和该解释下的任何赋值下均为真,则称 A 为永真式(或逻辑有效式)。若 A 在任何解释和该解释下的任何赋值下均为假,则称 A 为矛盾式(或永假式)。若至少存在一个解释和该解释下的一个赋值使 A 为真,则称 A 是可满足式。
在命题逻辑中,可以用真值表等方法判断任意给定的公式是否是可满足的。对于一阶逻辑,情况则不同。由于公式中的谓词和函数可以有各种不同的解释,使得情况变得宜昌复杂,解释是判断任意给定的公式是否是可满足的的问题是不可判定的,即不存在一个算法能在有限步内判断任意给定的公式是否是可满足的。因此对于一阶命题逻辑,仅讨论一些简单的情况。
- 定义 4.9
设 A0 是含命题变项 p1,p2,...,pn 的命题公式,A1,A2,...,An 是 n 个谓词公式,用 Ai(1≤i≤n) 处处代替 A0 中的 pi ,所得公式 A 称为 A0 的代换实例。
如 p→q 可以代换得到 F(x)→G(x) ,或者代换得到 ∀xF(x)→∃yG(y) 。
- 定理 4.1
重言式的代换实例都是永真式,矛盾式的代换实例都是矛盾式。
注:这个定理记住结论即可,书中证明略。
例 4.9
判断下列公式中,哪些是永真式,哪些是矛盾式?
(1)∀x(F(x)→G(x,y))
(2)∀xF(x)→(∃x∃yG(x,y)→∀xF(x))
析:
(1)解释 1:x,y 为整数, F(x): x 是整数,G(x,y):x,y 是小数。则 F(x) 为真,G(x,y) 为假,即公式为假。解释 2:x,y 为整数,F(x):x 是整数,G(x,y):x,y 是整数。则 F(x) 为真, G(x,y) 为真,即公式为真。因此公式是非永真式的可满足式。
(2)p→(q→p)⇔
¬p∨(¬q∨p) ⇔
1
也即对应的命题公式为真,因此该谓词公式为永真式。
5 一阶逻辑等值演算与推理
5.1 一阶逻辑等值式与置换规则
- 定义 5.1
设 A,B 是一阶逻辑中任意两个公式,若 A↔B 是永真式,则称 A 与 B 等值,记作 A⇔B 。称 A⇔B 是等值式。
基本等值式
- 命题公式中的重言式通过替换形成逻辑公式中的永真式。
例如:
p⇔¬¬p,替换得到 ∀xF(x)⇔¬¬∀xF(x)- 量词否定等值式
设 A(x) 含自由出现的个体变项 x ,则
(1)¬∀xA(x) ⇔ ∃x¬A(x)
即 “不是所有 x 都满足 A(x)” 等价于 “存在 x 不满足 A(x)” 。
如何证明?
(2)¬∃xA(x)⇔∀x¬A(x)
即 “不存在 x 满足 A(x)” 等价于 “所有 x 都不满足 A(x)”- 量词辖域收缩域扩张等值式
设公式 A(x) 含自由出现的个体变项 x ,B 不含 x 的自由出现,则
(1)∀x(A(x)∨B)⇔∀x(A(x)∨B)
(2)∀x(A(x)∧B)⇔∀x(A(x)∧B)
(3)∀x(A(x)→B)⇔∃xA(x)→B)
(4)∀x(B→A(x))⇔B→∃xA(x)
(5)∃x(A(x)∨B)⇔∃xA(x)∨B
(6)∃x(A(x)∧B)⇔∃xA(x)∧B
(7)∃xA(x)→B⇔∀xA(x)→B
(8)∃x(B→A(x))⇔B→∃xA(x)- 量词分配等值式
设公式 A(x),B(x) 含自由出现的个体变项 x ,则
(1)∀x(A(x)∧B(x))
(2)∃x(A(x)∨B(x))⇔∃xA(x)∨∃xB(x)
- 置换规则
设 Φ(a) 是含公式 A 的公式,Φ(B) 是用公式 B 取代 Φ(A) 中所有的 A 后所得到的公式,那么,若 A⇔B ,则 Φ(A)⇔Φ(B) 。
与命题逻辑中的置换规则相比,置换对象由命题公式变为一阶逻辑公式。- 换名规则
设 A 为一公式,将 A 中某量词辖域中的一个约束变项的所有出现及相应的指导变元全部改成该量词辖域中未曾出现过的某个个体变项符号,公式中其余部分不变,将所得公式记作 A′,则 A′⇔A 。
也即量词辖域中的名字只在辖域内有效。
5.2 一阶逻辑前束范式
- 定义 5.2
具有如下形式 Qxx1Q2x2...QkxkB 的一阶逻辑公式称作前束范式,其中 Qi(1≤i≤k) 为 ∀ 或 ∃ ,B 为不含量词的公式。
前束范式只有一个量词作用范围。
前束范式举例:
∀x∀y(F(x)∧G(y)→H(x,y))
∀x∀y∃z(F(x)∧G(y)∧G(z)→L(x,z))
- 定理 5.1
前束范式存在定理
一阶逻辑中的任何公式都存在等值的前束范式。
5.3 一阶逻辑的推理理论
- 在一阶逻辑中,从前提 A1,A2,...,Ak 出发推出结论 B 的推理的形式结构,依然采用如下的蕴含式 A1∧A2∧...∧Ak→B 。若其为永真式,则称推理正确,否则称推理不正确。
- 在一阶逻辑中称永真式的蕴含式为推理定律。若一个推理的形式结构时推理定律,则这个推理时正确的。
推理定律的来源。
一、命题逻辑推理定律的代换实例
如
∀xF(x)∧∀yG(y)⇒∀xF(x)
∀xF(x)⇒∀xF(x)∨∃yG(y)
二、由基本等值式生成的推理定律
如由双重否定律有
∀xF(x)⇒¬¬∀xF(x)
¬¬∀xF(x)⇒∀xF(x)
由量词否定等值式可以生成
¬∀xF(x)⇒∃x¬F(x)
∃x¬F(x)⇒¬∀xF(x)
三、一些常用的重要推理定律
- ∀xA(x)∨∀xB(x)⇒∀x(A(x)∨B(z))
- ∃(A(x)∧B(x))⇒∃xA(x)∧∃xB(x)
- ∀x(A(x)→B(x))⇒∀xA(x)→∀xB(x)
- ∀x(A(x)−B(x))⇒∃xA(x)→∃xB(x)
全称量词和存在量词的消去和引入规则。
前提:Γ={A1,A2,...,Ak}一、全称量词消去规则(记为 ∀−)
∀xA(x)∴A(y) 或 ∀xA(x)∴A(c)
其中,x,y 是个体变项符号,c 是个体常项符号,且在 A 中 x 不在 ∀y 和 ∃y 的辖域内自由出现。
二、全称量词引入规则(记为 ∀+)
A(y)∴∀xA(x)
三、存在量词消去规则(记为 ∃−)
已知 ∃xA(x)
A(y)→B∴B 或 A(y)→B∴∃xA(x)→B已知 ∃xA(x)
A(c)→B∴B 或 A(c)→B∴∃xA(x)→B
四、存在量词引入规则(记为 ∃+)
A(y)∴∃xA(x) 或 B→A(y)∴B→∃xA(x)A(c)∴∃xA(x) 或 B→A(c)∴B→∃xA(x)
- 定义 5.3 自然推理系统 NL 定义如下。
- 字母表。同一阶语言 L 的字母表。
- 合式公式。同 L 的合式公式的定义。
- 推理规则:
(1)前提引入规则。
(2)结论引入规则。
(3)置换规则。
(4)假言推理规则。
(5)附加规则。
(6)化简规则。
(7)拒取式规则。
(8)假言三段论规则。
(9)析取三段论规则。
(10)构造性二难推理规则。
(11)合取引入规则。
(12)∀− 规则。
(13)∀+ 规则。
(14)∃− 规则。
(15)∃+ 规则。
- 在推理系统 NL 种推理的证明与自然推理系统 P 中推理的证明相同。设前提 A1,A2,...,Ak ,结论 B 和公式序列 C1,C2,...,Cl 。如果每一个 i(i=1,2,...,l) ,Ci 是某个 Aj ,或者可以由序列前面的公式应用图例规则得到,并且 Cl=B ,则称公式序列 C1,C2,...,Cl 是由 A1,A2,...,Ak 推出的证明。
例 5.9 在自然推理系统 NL 中,构造下面推理的证明。
任何自然数都是整数。存在自然数。所以,存在着整数。个体域为实数集合 R 。
解:
设 F(x):x 为自然数,G(x):x 为整数。
前提:∀x(F(x)→G(x)),∃xF(x)
结论:∃xG(x)
证明:
∀x(F(x)→G(x))
F(x)→G(x) 去掉全称量词
6 集合代数
关于集合论:
集合论是基本的数学描述工具。
- 集合是数学中的基本概念
- 诞生于十九世纪
- 创始人是康托
集合论体系:
- 朴素集合论(教材中涉及的都是朴素集合论)
- 公理集合论
6.1 集合的基本概念
-
集合是不能精确定义的基本概念。直观地说,把一些事物汇集到一起组成一个整体就称作集合,而这些事物就是这个集合的元素或成员。
-
教材中采用的体系中规定集合的元素都是集合。元素和集合之间的关系是隶属关系,即属于或不属于,记作 ∈ 和 ∉ 。
-
通常用大写的英文字母来表示集合。
-
有两种表示集合的方法:列举法和描述法。列举法列举出集合中的元素,描述法给出元素应该满足的性质。例如:
A={0,1,2,...}
B={x|x∈R∧x>2} -
常用集合:
- N:自然数集
- Z:整数集
- Q:有理数集
- R:实数集
- C:复数集
-
定义 6.1 设 A,B 为集合,如果 B 中的每个元素都是 A 中的元素,则称 B 是 A 的子集合,简称为子集。这时也称 B 被 A 包含,或 A 包含 B,记作 B⊆A 。
-
如果 B 不被 A 包含,则记作 B⊈A 。
注:两个集合之间的关系是包含和不包含的关系,集合与其元素之间的关系是属于和不属于的关系。
-
B⊆A⇔∀x(x∈B→x∈A)
-
定义 6.2 设 A,B 为集合,如果 A⊆B 且 B⊆A ,则称 A 与 B 相等,记作 A=B 。
-
如果 A 与 B 不相等,则记作 A≠B 。
-
定义 6.3 设 A,B 为集合,如果 A⊆B 且 B≠A ,则称 B 是 A 的真子集,记作 B⊂A 。
-
如果 B 不是 A 的真子集,则记作 B⊄A 。
-
定义 6.4 不含任何元素的集合称为空集,记作 ∅ 。
-
∅={x|x≠x}
-
定理 6.1 空集是一切集合的子集。
∅⊆A⇔∀x(x∈∅→x∈A) ,由于 x∈∅ 为假,因此右侧蕴含式为重言式,即得证。 -
推论 空集是唯一的。
即不存在 ∅1 和 ∅2 ,满足 ∅1≠∅2 。
由定理 6.1,有 ∅1⊆∅2 且 ∅2⊆∅2 ,即有 ∅1=∅2 。 -
含有 n 个元素的集合简称为 n 元集,它的含有 m(m≤n) 个元素的子集称作它的 m 元子集。
-
对于一个 n 元集,其有 C0n 个 0 元子集(即一个,为 ∅),Cin 个 i 元子集,子集的总数为 C0n+C1n+...+Cnn=2n 。
-
定义 6.5 设 A 为集合,把 A 的全体子集构成的集合称作 A 的幂集,记作 P(A) (或 PA,2A) 。
P(A)={x|x⊆A} -
定义 6.6 在一个具体的问题中,如果所涉及的集合都是某个集合的子集,则称这个集合为全集,记作 E 。
全集具有相对性,不同的问题具有不同的全集,同一个问题也可以取不同的全集。
6.2 集合的运算
-
定义 6.7 设 A,B 为集合,A 与 B 的并集 A∪B 、交集 A∩B ,B 对 A 的相对补集 A−B 分别定义如下:
A∪B={x|x∈A∨x∈B}
A∩B={x|x∈A∧x∈B}
A−B={x|x∈A∧x∉B} -
如果两个集合的交集为 ∅ ,则称这两个集合是不交的。
-
并、交运算可以推广到 n 个集合,并记作
n⋃i=1Ai=A1∪A2∪...∪An
n⋂i=1Ai=A1∩A2∩...∩An -
定义 6.8 设 A,B 为集合,A 与 B 的对称差集 A⊕B 定义为
A⊕B=(A−B)∪(B−A)
对称差集的另一种定义是
A⊕B=(A∪B)−(A∩B)
可以证明这两种定义是等价的:
(A−B)∪(B−A)
⇔{x|(x∈A∧x∉B)∨(x∉A∧x∈B)}
⇔{x|(x∈A∨x∉A)∧(x∈A∨x∈B)∧(x∉B∨x∉A)∧(x∉B∨x∈B)}
⇔{x|(x∈A∨x∈B)∧(x∉B∨x∉B)}
(A∪B)−(A∩B)
⇔{x|(x∈A∨x∈B)∧¬(x∈A∧x∈B)}
⇔{x|(x∈A∨x∈B)∧(x∉A∨x∉B)}
因此两种定义等价。 -
定义 6.9 给定全集 E,A 的绝对补集为
∽A=E−A={x|x∉A} -
定义 6.10 设 A 为集合,A 的元素的元素构成的集合称作 A 的广义并,记作 ∪A ,符号化表示为
∪A={x|∃z(z∈A∧x∈z)}
若 A={A1,A2,...,An} ,则 ∪A=A1∪A2∪...∪An
-
定义 6.11 设 A 为非空集合,A 的所有元素的公共元素构成的集合称作 A 的广义交,记作 ∩A ,符号化表示为 ∩A={x|∀z(z∈A→z∈z)}
-
优先级规定
- 称广义并、广义交、幂集、绝对补运算为一类运算,并、交、相对补、对称差运算为二类运算。
- 一类匀速那优先于二类运算。
- 一类运算之间由右向左顺序进行。
- 二类运算之间由括号决定先后顺序。
6.3 有穷集的计数
-
集合之间的关系和初级运算可以用文氏图(Venn diagram)给予形象的描述。
首先画一个大矩形表示全集 E(有时为简单起见可以省略),其次在矩形内画一些圆,用圆的内部表示集合。不同的圆代表不同的集合。如果没有关于集合不交的说明,任何两个圆应彼此相交。 -
用 |T| 表示有穷集 T 中的元素数。
-
定理 6.2 (包含排斥原理) 设 S 为有穷集,P1,P2,...,Pn 是 n 个性质。S 中的任何元素 x 或者具有性质 Pi ,或者不具有性质 Pi ,两种情况必居其一。令 Ai 表示 S 中具有性质 Pi 的元素构成的子集,则 S 中不具有性质 P1,P2,...,Pn 的元素数为
|¯A1∩¯A2∩...∩¯An|
=|S|−n∑i=1|Ai|+∑1≤i<j≤n|Ai∩Aj|−
∑1≤i<j<k≤n|Ai∩Aj∩Ak|+...+(−1)n|A1∩A2∩...∩An|这个定理可以举特例来理解,当 n=1 时,只有一个性质集,因此直接减去即可,即减了一次。当 n=2 时,减去两个集,就将其交集多减了一次,因此最后要加上交集,即减一次,加一次。当 n=3 时,看作三个透明玻璃叠加,将三个性质集都减去,则出去三个相交的两两相交集各被多减去一次,三个相交集被多减去两次,将每个两两相交集都加回来,此时三个相交集就多加了一次,最终减去即可,也即减(三个性质集)、加(两两相交集)、减(三个相交集)。
6.4 集合恒等式
-
幂等律
A∪A=A
A∩A=A -
结合律
(A∪B)∪C=A∪(B∪C)
(A∩B)∩C=A∩(B∩C) -
交换律
A∪B=B∪A
A∩B=B∩A -
分配律
A∪(B∩C)=(A∪B)∩(A∪C)
A∩(B∪C)=(A∩B)∪(A∩C) -
同一律
A∪∅=A
A∩E=A -
零律
A∪E=E
A∩∅=∅ -
排中律
A∪∼A=E -
矛盾律
A∩∼A=∅ -
吸收律
A∪(A∩B)=A
A∩(A∪B)=A -
德摩根律
A−(B∪C)=(A−B)∩(A−C)
A−(B∩C)=(A−B)∪(A−C)
∼(B∪C)=∼B∩∼C
∼(B∩C)=∼B∪∼C
∼∅=E
∼E=∅ -
双重否定律
∼∼A=A -
取两个式子进行证明:
1
x∈(A∪(B∩C))
⇔x∈A∨x∈(B∩C)
⇔x∈A∨(x∈B∧x∈C)
⇔(x∈A∨x∈B)∧(x∈A∨x∈C)
⇔x∈((A∪B)∩(A∪C))
2
x∈(A−(B∪C))
⇔x∈A∧(x∉B∪C)
⇔x∈A∧¬(x∈B∪C)
⇔x∈A∧¬(x∈B∨x∈C)
⇔x∈A∧¬x∈B∧¬x∈C
⇔x∈A∧x∉B∧x∈A∧x∉C
⇔x∈(A−B)∩(A−C)
7 二元关系
7.1 有序对与笛卡儿积
- 定义 7.1 由两个元素 x 和 y(允许 x=y)按照一定顺序排列称的二元组称作一个有序对或有序偶,记作 <x,y>,其中 x 是它的第一元素,y 是它的第二元素。
- 当 x≠y 时,<x,y>≠<y,x> 。
- <x,y>=<u,v> 的充分必要条件是 x=u 且 y=v 。
- 定义 7.2 设 A,B 为集合,用 A 中元素为第一元素,B 中元素为第二元素构成有序对。所有这样的有序对组成的集合称作 A 和 B 的笛卡儿积,记作 A×B 。
- A×B={<x,y>|x∈A∧y∈B}
- 若 |A|=m ,|B|=n ,则 |AB|=mn 。
- 空集的笛卡儿积一定是空集
A×∅=∅ ,∅×A=∅ - 笛卡儿积一般不满足交换律(因为最终的结果是有序对)
- 笛卡儿积一般不满足结合律(在第二次进行运算时是第一次运算产生的有序对作为元素参与运算,因此不满足结合律,如 <<a,b>,c> 和 <a,<b,c>>)。
- 笛卡儿积对并、交运算满足分配律
A×(B∪C)=(A×B)∪(A×C)
A×(B∩C)=(A×B)∩(A×C)
分配律的证明:
<x,y>∈A×(B∪C)
⇔(x∈A)∧(y∈(B∪C))
⇔(x∈A)∧((y∈B)∪(y∈C))
⇔(x∈A∧x∈B)∪(x∈A∧x∈C)
⇔(A×B)∪(A×C)
理解:分配律只进行了一次笛卡儿积,因此不会出现结合律中出现的情况。 - A⊆C∧B⊆D⇒A×B⊆C×D
证明:
对任意 <u,v>∈A×B ,有 u∈A∧v∈B ,
而由 A⊆C 及 B⊆D ,可得 ∀x(x∈A→x∈C) ,∀x(x∈B→x∈D) ,
故 u∈C∧v∈B ,即 <u,v>∈C×D 。
这个命题是充分条件,不是必要条件。例如,取 A=∅ ,则后件一定成立,但前件中的 B⊆D 不一定成立。
7.2 二元关系
- 定义 7.3 如果一个集合满足以下条件之一:
(1)集合非空,且它的元素都是有序对;
(2)集合是空集;
则称该集合为一个二元关系,记作 R 。 - 二元关系也可简称为关系。
- 对于二元关系 R ,如果 <x,y>∈R ,则记作 xRy ,如果 <x,y>∉R ,则记作 x\bcancelRy 。
- 定义 7.4 设 A,B 为集合,A×B 的任何子集所定义的二元关系称作从 A 到 B 的二元关系,特别当 A=B 时称作 A 上的二元关系。
- 对于任何集合 A,空集 ∅ 是 A×A 的子集,称作 A 上的空关系。
- 定义 7.5 对任意集合 A ,定义
全域关系 EA={<x,y>|x∈A∧y∈A}=A×A
恒等关系 IA={<x,x>|x∈A} - 常用的一些关系定义
小于等于关系 LA={<x,y>|x,y∈A,x≤y}
整除关系 DA={<x,y>|x,y∈A,x|y},其中 x 是 y 的因子,A 是非零整数集 Z∗ 的子集。
包含关系 R⊆={<x,y>|x,y∈A,x⊆y},A 是有一些集合构成的集合族。 - 关系有三种表示方法:集合表达式、关系矩阵和关系图。
- 集合表达式
例如,小于等于关系 LA={<x,y>|x,y∈A,x≤y} 就是一种集合表达式的形式。 - 关系矩阵
设 A={x1,x2,...,xn} ,R 是 A 上的关系,令 rij={1,若xiRxj0,若xi\bcancelRxj ,则 (rij) (矩阵) 是 R 的关系矩阵,记作 MR 。
例如,定义在 A={1,2,3} 上的小于等于关系的关系矩阵为 MR=(100110111) 。 - 关系图
设 A={x1,x2,...,xn} ,R 是 A 上的关系,R 的关系图记作 GR 。GR 有 n 个顶点 x1,x2,...,xn ,如果 <xi,xj>∈R ,在 GR 中就有一条从 xi 到 xj 的有向边。
- 集合表达式
7.3 关系的运算
关系的基本运算有 7 种,分别是定义域、值域、域、逆关系、右复合、限制、像。
-
定义 7.6 设 R 是二元关系,
R 的所有有序对的第一元素构成的集合称为 R 的定义域,记作 domR (domain),
domR={x|∃y(<x,y>∈R)}
R 的所有有序对的第二元素构成的集合称为 R 的值域,记作 ranR (range),
ranR={y|∃x(<x,y>∈R)}
R 的定义域和值域的并集称作 R 的域,记作 fldR (field),
fldR=domR∪ranR -
定义 7.7 设 R 是二元关系,R 的逆关系,简称为 R 的逆,记作 R−1 ,
R−1={<x,y>|<y,x>∈R} -
定义 7.8 设 F,G 为二元关系,G 对 F 的右复合记作 F∘G ,
F∘G={<x,y>|∃t(<x,t>∈F∧<t,y>∈G)} -
定义 7.9 设 R 为二元关系,A 是集合,
(1)R 在 A 上的限制记作 R↾A ,
R↾A={<x,y>|xRy∧x∈A}
限制相当于找出关系 R 中第一元素在 A 中的有序对。
(2)A 在 R 下的像记作 R[A] ,其中
R[A]=ran(R↾A)
像就是限制的值域。 -
定理 7.1 设 F 是任意的关系,则
(1)(F−1)−1=F
(2)domF−1=ranF,ranF−1=domF
这两个定理很直观,因此逆关系就是交换了两个元素的顺序。
<x,y>∈(F−1)−1
⇔<y,x>∈F−1
⇔<x,y>∈F
x∈domF−1
⇔∃y(<x,y>∈F−1)
⇔∃y(<y,x>∈F)
⇔x∈ranF
- 定理 7.2 设 F,G,H 是任意的关系,则
(1)(F∘G)∘H=F∘(G∘H)
(2)(F∘G)−1=G−1∘H−1
右复合运算只与被运算元素的位置有关,因此加括号不影响结果。
<x,y>∈(F∘G)∘H
⇔∃t(<x,t>∈F∘G∧<t,y>∈H)
⇔∃t(∃s(<x,s>∈F∧<s,t>∈G)∧<t,y>∈G)
⇔∃t∃s(<x,s>∈F∧<s,t>∈G∧<t,y>∈H)
⇔∃s(<x,s>∈F∧∃t(<s,t>∈G∧<t,y>∈H))
⇔∃s(<x,s>∈F∧<s,y>∈G∘H)
<x,y>∈F∘(G∘H)
<x,y>∈(F∘G)−1
⇔<y,x>∈F∘G
⇔∃t(<y,t>∈F∧<t,x>∈G)
⇔∃t(<t,y>∈F−1∧<x,t>∈G−1)
⇔<x,y>∈G−1∘F−1
- 定理 7.3 设 R 为 A 上的关系,则
R∘IA=IA∘R=R
也即恒等关系对于右复合运算相当于数 1 。
<x,y>∈R∘IA
⇔∃t(<x,t>∈R∧<t,y>∈IA)
⇔∃t(<x,t>∈R∧t=y)
⇔∃y(<x,y>∈R)
⇔<x,y>∈R
⇔<x,y>∈R∧<x,x>∈IA
⇔∃x(<x,x>∈IA∧<x,y>∈R)
⇔<x,y>∈IA∘R
- 定理 7.4 设 F,G,H 为任意关系,则
(1)F∘(G∪H)=F∘G∪F∘H
(2)F∘(G∩H)⊆F∘G∩F∘H
注意后者是包含关系。
<x,y>∈F∘(G∪H)
⇔∃t(<x,t>∈F∧<t,y>∈(G∪H))
⇔∃t(<x,t>∈F∧(<t,y>∈G∨<t,y>∈H))
⇔∃t((<x,t>∈F∧<t,y>∈G)∨(<x,t>∈F∧<t,y>∈H))
⇔∃t(<x,t>∈F∧<t,y>∈G)∨∃t(<x,t>∈F∧<t,y>∈H)
⇔<x,y>∈F∘G∨<x,y>∈F∘H
⇔<x,y>∈F∘G∪F∘G
考虑 ∃x(A(x)∧B(x))⇒∃x(A(x))∧∃x(B(x))
即可得到右复合对交运算的包含关系。
- 定理 7.5 设 F 为关系,A,B 为集合,则
(1)F↾(A∪B)=F↾A∪F↾B
(2)F[A∪B]=F[A]∪F[B]
(3)F↾(A∩B)=F↾A∩F↾B
(4)F[A∩B]⊆F[A]∩F[B]
注意像对集合的交运算是包含关系。
<x,y>∈F↾(A∩B)
⇔xFy∧x∈(A∩B)
⇔xFy∧x∈A∧x∈B
⇔<x,y>∈F↾A∧<x,y>∈F↾B
⇔<x,y>∈F↾A∩F↾B
x∈F[A∩B]
⇔∃y(y∈A∩B∧yFx)
⇔∃y(y∈A∧y∈B∧yFx)
⇒∃y((y∈A∧yFx)∧(y∈B∧yFx))
⇔y∈F[A]∧y∈F[B]
⇔y∈F[A]∩F[B]
- 定义 7.10 设 R 为 A 上的关系,n 为自然数,则 R 的 n 次幂 Rn 定义为
(1)R0={<x,x>|x∈A}=IA
(2)Rn+1=Rn∘R
考虑右复合运算,如果将关系写成矩阵的形式,则幂的计算类似矩阵的计算,只需要将相加改为逻辑相加即可。
- 定理 7.6 设 A 为 n 元集,R 是 A 上的关系,则存在自然数 s 和 t ,使得 Rs=Rt 。
证:由于 R 是 A 上的关系,即 R 一定是 A×A 的一个子集,对任意自然数 k,Rk 也一定是 A×A 的子集,而 |2A×A|=2n2 ,也即 A×A 的子集是一个有限集,即得证。
- 定理 7.7 设 R 为 A 上的关系,m,n∈N ,则
(1)Rm∘Rn=Rm+n
(2)(Rm)n=Rmn
证:
Rm∘R0=Rm ,
假设 Rm∘Rn=Rm+n ,则
Rm∘Rn+1=Rm∘(Rn∘R) (根据定义)
=Rm∘Rn∘R (根据右复合的运算性质)
=Rm+n∘R (根据假设)
=Rm+n+1 (根据定义)
归纳得证。
(Rm)0=R0 ,
假设 (Rm)n=Rmn ,则
(Rm)n+1=(Rm)n∘Rm
=Rmn∘Rm (根据假设)
=Rm(n+1) (根据第一个性质)
归纳得证。
- 定理 7.8 设 R 为 A 上的关系,若存在自然数 s,t(s<t) 使得 Rs=Rt ,则
(1)对任何 k∈N 有 Rs+k=Rt+k ;
(2)对任何 k,i∈N 有 Rs+kp+i=Rs+i ,其中 p=t−s ;
(3)令 S={R0,R1,...,Rt−1} ,则对于任意的 q∈N 有 Rq∈S ;
证:
Rs+k=Rs∘Rk=Rt∘Rk=Rt+k
这个定理说明,如果找到了两个相等的值,则平移之后得到的两个值也一定相等。
当 k=0 时,显然成立;
假设为 k 时成立,即 Rs+kp+i=Rs+i ,
此时 Rs+(k+1)p+i=Rs+kp+i+p
=Rs+kp+i∘Rp (定理 7.7)
=Rs+i∘Rp (根据假设)
=Rs+i+p=Rs+i+t−s=Ri+t
=Ri∘Rt=Ri∘Rs=Rs+i ,归纳得证。
这个定理说明,如果找到了两个相等的值,则按照这两个值的宽度进行平移或者整数倍扩大,得到的两个值也是相等的(结合函数图像理解),也即具有周期性。
当 q<t 时,显然成立。
当 q≥t 时,取 p=t−s ,则一定存在 k,i∈N,i<p ,使得 s+kp+i=q (因为 p 是正整数,kp+i 覆盖了整个自然数集)。
则 Rq=Rs+kp+i=Rs+i ,而 s+i<s+p=t ,也即 Rs+i∈S ,即得证。
这个定理在周期性的基础上给出了集合的关系。
7.4 关系的性质
- 定义 7.11 设 R 为 A 上的关系,
(1)若 ∀x(x∈A→<x,x>∈R) ,则称 R 在 A 上是自反的。
(2)若 ∀x(x∈A→<x,x>∉R) ,则称 R 在 A 上是反自反的。
R 为 A 上的自反关系当且仅当 R 包含 A 上的恒等关系,即 IA⊆R。
R 为 A 上的反自反关系当且仅当 R 和 A 上的恒等关系没有交集,即 R∩IA=∅。
自反关系和反自反关系是互斥的。
例 设 A={1,2,3} ,R1,R2 和 R3 是 A 上的关系,其中
R1={<1,1>,<2,2>}
R2={<1,1>,<2,2>,<3,3>,<1,3>}
R3={<1,3>}
则 R1 既不是 A 上的自反关系,也不是反自反关系。R2 是 A 上的自反关系。R3 是 A 上的反自反关系。
-
定义 7.12 设 R 为 A 上的关系,
(1)若 ∀x∀y(x,y∈A∧<x,y>∈R→<y,x>∈R) ,则称 R 为 A 上对称的关系。
(2)若 ∀x∀y(x,y∈A∧<x,y>∈R∧<y,x>∈R→x=y) ,则称 R 为 A 上的反对称的关系。
R 为 A 上的对称关系当且仅当 R 中的所有有序对交换次序后仍然是 A 中的元素,即 R−1=R。
R 为 A 上的反对称关系当且仅当 R 中的所有对称的有序对都是第一元素和第二元素相等的有序对,即 R−1∩R⊆IA。
对称关系和反对称关系不是互斥的(如 {<1,1>,<2,2>} 既是对称关系又是反对称关系)。 -
定义 7.13 设 R 为 A 上的关系,若
∀x∀y∀z(x,y,z∈A∧<x,y>∈R∧<y,z>∈R→<x,z>∈R)
则称 R 为 A 上传递的关系。
R 为 A 上的传递的关系,当且仅当 R∘R⊆R 。 -
定理 7.9 略,已在定义中给出。
7.5 关系的闭包
通过添加尽可能少的有序对来使某个关系达到某个性质,得到的新的关系就是闭包。如自反闭包、对称闭包、传递闭包。
-
定义 7.14 设 R 是非空集合 A 上的关系,R 的自反(对称或传递)闭包是 A 上的关系 R′ ,使得 R′ 满足以下条件:
(1)R′ 是自反的(对称的、传递的);
(2)R⊆R′ ;
(3)对 A 上任何包含 R 的自反(对称、传递)关系 R″ 有 R′⊆R″ ; -
分别记 R 的自反、对称、传递闭包为 r(R),s(R),t(R) 。
自反的:reflexive
对称的:symmetrical
传递的:transitive
- 定理 7.10 设 R 为 A 上的关系,则有
(1)r(R)=R∪R0
(2)s(R)=R∪R−1
(3)t(R)=R∪R2∪R3∪...
证(1):
由于 R0=IA ,故 R∪R0 是自反的;
R⊆R∪R0 显然成立;
再设 R″ 是包含 R 的一个自反关系,也即 IA⊆R″,R⊆R″ ,
<x,y>∈R∪R0
⇔<x,y>∈R∪IA
⇒<x,y>∈R″∪R″
⇔<x,y>∈R″
也即 R∪R0⊆R″ ,故得证。
证(2):
<x,y>∈R∪R−1
⇔<x,y>∈R∨<x,y>∈R−1
⇔<y,x>∈R−1∨<y,x>∈R
⇔<y,x>∈R∪R−1
即 R∪R−1 是对称的。
R⊆R∪R−1 显然成立。
再设 R″ 是一个包含 R 的对称的关系,即 R⊆R″,R″−1=R″ ,
<y,x>∈R−1
⇔<x,y>∈R
⇒<x,y>∈R″
⇔<y,x>∈R″−1
即 R−1⊆R″−1 ,
即同样有 R∪R−1⊆R″∪R″−1 。故得证。
证(3):
<x,y>∈R∪R2∪R3∪...∧<y,z>∈R∪R2∪R3∪...
⇒∃m∃n(<x,y>∈Rm∧<y,z>∈Rn)
⇒∃m∃n(<x,z>∈Rm∘Rn)
⇒∃m∃n(<x,z>∈Rm+n)
⇒<x,z>∈R∪R2∪R3∪...
即 R∪R2∪R3∪... 是传递的关系。
R⊆R∪R2∪R3∪... 显然成立。
假设 R″ 为一个包含 R 的传递的关系,即 R⊆R″,R″∘R″⊆R″ ,
现用归纳法证明 R∪R2∪R3∪...⊆R″ ,不妨证明 Rn⊆R″ ,
当 n=1 时,R⊆R″ 成立,
n=k 时,假设 Rk⊆R″ 成立,
当 n=k+1 时,
<x,y>∈Rk+1
⇔<x,y>∈Rk∘R
⇔∃t(<x,t>∈Rk∧<t,y>∈R)
⇒∃t(<x,t>∈R″∧<t,y>∈R″)
⇒<x,y>∈R″∘R″
⇒<x,y>∈R″ ,
也即归纳得证。
-
推论 设 R 为有穷集 A 上的关系,则存在正整数 r 使得
t(R)=R∪R2∪R3∪...∪Rr
证明:由 A×A 是一个有限集可以证得。 -
闭包在矩阵形式上的性质:
设关系 R,r(R),s(R),t(R) 的关系矩阵分别为 M,Mr,Ms,Mt ,则
Mr=M+E
Ms=M+Mr
Mt=M+M2+M3+...
其中, Mr 为转置矩阵,加法为逻辑加。 -
闭包在关系图形式上的性质:
对所有顶点,如果没有环就加上环,就得到自反闭包。
对所有路径,如果没有对称的路径,就加上对称的路径,就得到对称闭包。
对所有路径,如果相连的两个路径之间没有同向路径,就加上同向路径,就得到传递闭包。 -
定理 7.11 设 R 是非空集合 A 上的关系,则
(1)R 是自反的当且仅当 r(R)=R ;
(2)R 是对称的当且仅当 s(R)=R ;
(3)R 是传递的当且仅当 t(R)=R ;
三者的充分性都是显然的,这里只证必要性。
证(1):
r(R)=R∪R0 ,
由于 R 是自反的,取 R′=R ,则 R′ 是一个包含了 R 的自反关系,
因此有 r(R)⊆R′ ,也即 r(R)⊆R ,
同时 R⊆R∪R0 ,也即 R⊆r(R) ,
故 R=r(R) 。
(2)(3)证明类似。
- 定理 7.12 设 R1 和 R2 是非空集合 A 上的关系,且 R1⊆R2 ,则
(1)r(R1)⊆r(R2)
(2)s(R1)⊆s(R2)
(3)t(R1)⊆t(R2)
证(1):
posted on 2021-01-16 11:57 amazzzzzing 阅读(4174) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)