离散数学基础–逻辑与证明
1.命题逻辑
1.1 基本概念
命题:是一个陈述句,可以用来判定真假。(可以判断真假的陈述句)
命题案例:
1.华盛顿是美国的首都
2.1+1=2
但是 x >= 3不是命题。x +1 = 4也不是命题。因为他们不能用来判断真假。
我们可以用字母来表示命题变量,就是表示命题的变量,就像不是命题那两个 x >= n来表示命题变量
如果命题为真,就使用T表示,命题为假,就用F来表示。,不能使用简单命题来表示的命题叫做原子命题。
涉及命题的原子领域叫做命题演算或者命题逻辑。
用逻辑运算符表示的命题叫做复合命题。 eg: !p 表示非p,就是p的否定
真值表:可以清晰表示命题真假的表。
P | !p |
---|---|
T | F |
F | T |
使用否定符号的非!的连接词,命题真值取反。由于电脑上面打印不出来符号,就用!来代替。
逻辑和 & (我们无法在键盘上面输入那个符号,只能这么处理)逻辑合取
特点:连接两个命题变量,只有当啊两个命题变量为真时命题才是真,其他情况一律是假的
我们以 p & q为例子:
p | q | p & q |
---|---|---|
T | T | T |
F | T | F |
T | F | F |
F | F | F |
逻辑或 | (键盘上面无法这么做,只能这样)逻辑析取
特点:只有当两个命题是假命题的时候取值为假,其他情况一律是真值。
我们以 p | q 为例子:
p | q | p | q |
---|---|---|
T | T | T |
F | T | T |
T | F | T |
F | F | F |
值得注意的是,我们自然语言中的或有两种情况,一种是可兼或,一种是不可兼或。
可兼或,顾名思义就是两者可以一起发生,或者可以只发生其中一个,也可以不发生。
不可兼或,就是二者不能同时发生。但是可以同时不发生。举个例子:从南京南站到北京南站的G155高铁出发时间是17:40 或者 18:10,也就是说,高铁可以在这两个时间节点处随机在一个节点出发,或者不在,但是不可能两者都在。
就是逻辑或表示析取才可以这么干。
或除了表示析取以外还可以表示异或。表示异或时只有一个是真值才是真,其余都是假。
表达方法:p XOR q(计算机表达)
就像不可兼或一样
p | q | p XOR q |
---|---|---|
T | T | F |
T | F | T |
F | T | T |
F | F | F |
p XOR q == (!p & q) | (!q & p)
条件语句:通俗的说就是如果p就q,真值情况是如果p真q假,真值为假,其余是真,记作:p -> q
条件语句可以叫做蕴含。
p | q | p -> q |
---|---|---|
T | T | T |
T | F | F |
F | T | T |
F | F | T |
相当于 p -> q == !p | q
这个就相当于说到做到,就像你和别人许诺一样,如果许下了诺言,是真的才是真的,否则人家觉得你不诚信,但是你没有许下诺言,不管结果是真是假没人在意。
逆命题,逆否命题,反命题:
以命题p->q为例:逆命题: q->p,逆否命题: !q -> !p,反命题:相当于否命题,即:!p -> !q
逆否命题的真值情况与原命题等价,原命题与逆命题或者否命题不一定等价,然而逆命题与否命题真值情况等价。
等价命题:无论是什么命题,只要复合命题真值情况一模一样,我们就叫做等价命题。
等价命题我们这么写(在计算机上面):p <=> q (当且仅当)
真值情况:只有当p与q取相同的真值情况才是真,其他情况都是假:
p | q | p <=> q |
---|---|---|
T | T | T |
T | F | F |
F | T | F |
F | F | T |
证明思路:p <=> q == (p -> q) & (q -> p) == (!p | q) & (!q | p)
1.2 真值表
我们在前面介绍了五个逻辑关系:析取、合取、蕴含、等价、异或。对于相应的复合命题,我们需要取真值,怎么取?
我们来看一个例子:
求(p | !q) -> (p & q)
p | q | !q | p | !q | p & q | 原式 |
---|---|---|---|---|---|
T | T | F | T | T | T |
T | F | T | T | F | F |
F | T | F | F | F | T |
F | F | T | T | F | F |
总结:求取时先把否命题求真假,再每一个式子求真假,最后再求总和。
逻辑运算符的优先级:
优先级最高的是!非,其次是& 合取,再次是| 析取,往下是 -> 蕴含,最后的 <=> 等价。
1.3 应用
我们在理论的基础上面需要进行实践,现在我们实践一下:
eg:你可以访问南邮校园网,仅当你是南邮计算机专业学生或者不是新生:
访问南邮校园网是命题p,是南邮计算机专业q,新生r
所以应该是:p -> (q | !r)
p仅当q表达了若p则q的意思,但是q不为真时p不为真
eg:你身高不满1.5米不能坐过山车,除非你年满16岁。
坐过山车:p,身高不足1.5米:q,年满16岁r
(p | !q) -> !r
1.4 相关推理
我们可以采用真值表法进行,也可以通过推理来证明即可。
2.命题等价
你也许会遇到一些命题,他无论怎么取值都是真的,我们把一个真值永远是真的命题叫做永真式,也叫做重言式。
一个命题取值恒为假的式子叫做永假式,也叫做矛盾式。
如果p <=> q是永真式,则p和q是逻辑等价的,相当于真值情况都一样。
逻辑等价证明和上面一模一样,我们看看一些等价关系:
等价式 | 名称 |
---|---|
P & T == P P | F == P | 恒等律 |
P | T == T P & F == F | 支配律 |
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|r)&(q|r) (p|q)&r == (p&r)|(q&r) | 分配律 |
!(p|q) == !p & !q !(p&q) == !p | !q | 德摩根律 |
P | (P & Q) == P P & (P | Q) == P | 吸收律 |
P | !P == T P & !P == F | 否定律 |
德摩根律可以涉及多个命题素的。
3.对偶与范式
定义:在仅含有连接词非,v,^ ,的命题公式A中,将v换成 ^,同时将T和F互相替代,所得公式A*,称为对偶式。当然A式A的对偶式A*的对偶式。
意思是把 & 换成 | ,把 | 换成 & 。
重新定义:将联结词∨换成∧,将∧换成∨,若有特殊变f和t亦相互取代,所得公式a*称为a的对偶.
显然a也是a*的对偶式.
例题1 写出下列表达式的对偶式.
(a) (p∨q)∧r
(b) (p∧q)∨t
© ┓(p∨q) ∧(p∨┓(q∧┓s))
解 这些表达式的对偶式是:
(a) (p∧q)∨r
(b) (p∨q)∧f
©┓(p∧q)∨(p∧┓(q∨┓s))
范式:范式有主析取范式与主合取范式:
合取范式:一个式子里面仅仅包含 a1 & a2 & a3 & a4 & a5 & … & an.
举个例子:(p | q | r) & (!p | q | r)是一个合取范式,但是里面的小项是析取式。
析取范式: 一个式子里面包含 a1 | a2 | a3 | … | an.
举个例子:(p & q & r) | (!p & q & !r)是一个析取范式,但是里面的小项是合取式。
求取方法:把连接词化成 & | !
使用德摩根律化否定符号。
采用分配律和结合律求合取范式与析取范式。
我们来看一个案例:
求 (p & (q -> r)) -> s的合取范式:
解:原式= !(p & (!q | r)) | s == (!p | (q & !r)) | s == !p | (q & ! r) |s == (!p | s) | (q & !r)
== (!p | s | q) & (!p | s | !r)
求!(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)) == (!p & !q & p & q) | (p & !p) | (p & !q) | (!p & q) | (q & !q)
小项:两个命题变我们发现有4个小项:p & q, p & !q, !p & q, !p & !q.
三个命题变有8个小项:p & q & r, p & q & !r, p & !q & !r, p & !q & r, !p & q & r, !p & q & !r, !p & !q & r,
!p & !q & !r.
总结:n个变有2^n个小项。
小项的性质:每一个小项当其真值指派与编码相同时取值为T,其他情况一律是假的F。eg:m000 = !p & !q & !r
只有当p,q,r取值为0时小项才是真值。
任意两个不同小项合取式永假。
全体小项析取式永真。
主析取范式:所有命题变里面,一个真值为T的指派所对应小项的析取,叫做主析取范式。
或者我们可以使用等价公式来求取。
大项:n个变的析取式。每个变与它的否定不能同时存在,但是两者当中其中一个必须出现一次。
大项的性质:二进制编码0为真,1为假,必须取反,m00 = p | q。当真值指派与编码一致时取值为F,其他情况取值是真。
任意两个大项析取式为永真
所有大项合取式为永假。
主合去范式:真值表里面取值为F指派对应大项的合取,叫做主合取范式。
综合案例:
eg:求(p & q) | (!p & r)的主析取范式与主合取范式:
p | q | r | p & q | !p & r | 原式 |
---|---|---|---|---|---|
T | T | T | T | F | T |
T | T | F | T | F | T |
T | F | T | F | F | F |
T | F | F | F | F | F |
F | T | T | F | T | T |
F | T | F | F | F | F |
F | F | T | F | T | T |
F | F | F | F | F | F |
所以主析取范式是:(p & q & r) | (p & q & !r) | (!p & q & r) | (!p & !q & r)
主合取范式:(!p | q |!r) & (!p | q | r) & (p | !q | r) & (p | q | r)
推理:我们可以采用蕴含和等价来进行推理证明。
4.谓词与量词
谓词:用于描述一个主体或者主题特性的词叫做谓词。例如:小明在南京邮电大学,在南京邮电大学就是谓词。
客体:构成谓词逻辑的东西,如上面的小明就是客体。
4.1 命题函数与量词
命题函数:由谓词与命题变客体构成的表达式。
我们来举例子:我们使用H(x,y)表示x比y成绩好。x表示张三,y表示李四,H(x,y)就表示张三成绩比李四好,!H(x,y)就是张三成绩没有李四好。
如果函数变构成命题公式,要讨论真假,还有根据具体情况具体分析。
量词:我们先看一些例子:
1.所有人都需要呼吸
2.每一个学生都要参加考试
3.任意整数要么是正数要么是负数
我们来看:1.我们记M是人,H是都要呼吸,所以命题公式就是(由于任意和存在打不出来,就使用E,A表示了)
(Ax)(M(x) -> H(x))
2.我们记P是学生,Q都要考试,所以命题公式是:
(Ax)(P(x) -> Q(x))
3.X是整数,Y是正数,Z是负数
(Ax)(X(x) -> (Y(x) | Z(x)))
其中符号A表示任意概念,相当于对所有的,每一个的,任意的。叫做全称量词。
再看一组例子:
1.存在一个正整数是质数
2.一些人可以考进清华大学
3.有的人已经开始看下学期的了
解:1.记M是质数,x是整数,所以记作:(EX)(M(x))
2.记Q是x可以考进清华大学,R是x是人,记作:(Ex)(R(x) & Q(x))
3.记S是x已经开始看下学期的了,记作:(Ex)(R(x) & S(x))
其中E表示存在概念,表示存在,至少有一个等。叫做存在量词。
至于命题的真假,我们还需要相关的论题来说明。
合式公式:原子谓词公式组成,由它们组成的公式也叫谓词公式。
约束变采用全称量词或者存在量词约束合式公式的命题。
4.2 谓词演算的等价式与蕴含式
等价式:给定两个谓词公式,有两个共同的个体域,如果我们对其中任意一组进行赋值,所有命题真值相同,我们就称作这两个命题等价。记作A <==> B
有效的:给定任意谓词公式A,它的个体域为E,对A进行赋值,如果A的值是永真,那么A就是在E上是有效的。
不可满足:谓词公式A,在所有赋值情况下都是假的,那就是不可满足的。
可满足:谓词公式A,存在一个赋值情况是真的。
我们还可以把真值表情况推广到命题公式里面。
我们来看一些性质:
(1) !(Ax)(P(x)) <=> (Ex) !(P(x))
(2) !(Ex)(P(x)) <=> (Ax) !(P(x))
量词作用域扩张与收缩:
收缩:
(3)(Ax)(P(x) | Q) <=> ((AX)(P(X)) | Q)
(4)(AX)(P(X) & Q) <=> ((AX)(P(X)) & Q)
(5)(EX)(P(X) | Q) <=> ((EX)(P(X)) | Q)
(6)(EX)(P(X) & Q) <=> ((EX)(P(X)) & Q)
扩张:
(7)((AX)P(X) -> Q) <=> (EX)(P(X) -> Q)
(8)((EX)P(X) -> Q) <=> (AX)(P(X) -> Q)
(9)(P -> (AX)Q(X)) <=> (AX)(P -> Q(X))
(10)(P -> (EX)Q(X)) <=> (EX)(P -> Q(X))
我们甚至可以推出这样的公式:
(11)(AX)(P(X) & Q(X)) <=> (AX)(P(x)) & (AX)(Q(X))
(12)(EX)(P(X) | Q(X)) <=> (EX)(P(X)) | (EX)(Q(X))
但是逻辑符号变了就不成立了:
只能是蕴含了。
(13)(AX)(P(X)) | (AX)(Q(X)) => (AX)(P(X) | Q(X))
(14)(EX)(P(X) & Q(X)) => (EX)(P(X)) & (EX)(Q(X))
前束范式:把约束变提到谓词公式前的命题公式
4.3 相关推理
全称指定规则:US原则:(AX)P(X) -> P©
全称推广规则:UG原则:P(X) -> (AX)P(X)
存在指定规则:ES原则:(EX)P(X) -> P©
存在推广规则:EG原则:P(X) -> (EX)P(X)
今天的文章 离散数学基础--逻辑与证明分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/87153.html