离散数学-逻辑与证明基础1.3(命题等价)

news2024/11/25 4:06:53

介绍

定义 1 一个复合命题,如果无论其中命题变量的真值如何,它总是为真,则称为重言式(tautology)。一个复合命题,如果它总是为假,则称为矛盾式(contradiction)。一个既不是重言式也不是矛盾式的复合命题称为偶然式(contingency)。

例1 我们可以使用一个命题变量来构造永真式和矛盾式的例子。请考虑 p ∨ ¬ p p \lor \neg p p¬p p ∧ ¬ p p \land \neg p p¬p 的真值表,如表 1 所示。由于 p ∨ ¬ p p \lor \neg p p¬p 始终为真,因此它是一个永真式。由于 p ∧ ¬ p p \land \neg p p¬p 始终为假,因此它是一个矛盾式。

在这里插入图片描述

逻辑等价

当复合命题在所有可能的情况下都具有相同的真值时,称它们是逻辑等价的。我们还可以通过以下方式定义这一概念。

定义 1 复合命题 p p p q q q 被称为逻辑等价的,当且仅当 p ↔ q p \leftrightarrow q pq 是重言式(恒真命题)。符号 p ≡ q p \equiv q pq 表示 p p p q q q 是逻辑等价的。

判断两个复合命题是否等价的一种方法是使用真值表。特别地,复合命题 p p p q q q 是等价的,当且仅当它们真值的列相同。

例2 证明 ¬ ( p ∨ q ) \neg (p \lor q) ¬(pq) ¬ p ∧ ¬ q \neg p \land \neg q ¬p¬q 是逻辑等价的。

这些复合命题的真值表在表 3 中给出。因为复合命题 ¬ ( p ∨ q ) \neg (p \lor q) ¬(pq) ¬ p ∧ ¬ q \neg p \land \neg q ¬p¬q p p p q q q 的所有可能的真值组合中真值相同,因此 ¬ ( p ∨ q ) ↔ ( ¬ p ∧ ¬ q ) \neg (p \lor q) \leftrightarrow (\neg p \land \neg q) ¬(pq)(¬p¬q) 是一个重言式(恒真命题),因此这些复合命题是逻辑等价的。

在这里插入图片描述
例3 证明 p → q p \rightarrow q pq ¬ p ∨ q \neg p \lor q ¬pq 是逻辑等价的。(这被称为条件-析取等价。)

我们为这些复合命题构建了真值表,见表 4。因为 ¬ p ∨ q \neg p \lor q ¬pq p → q p \rightarrow q pq 的真值相同,所以它们是逻辑等价的。

在这里插入图片描述

例4 证明 p ∨ ( q ∧ r ) p \lor (q \land r) p(qr) ( p ∨ q ) ∧ ( p ∨ r ) (p \lor q) \land (p \lor r) (pq)(pr) 是逻辑等价的。这是析取对合取的分配律。

解答:我们为这些复合命题构建了真值表,见表 5。由于 p ∨ ( q ∧ r ) p \lor (q \land r) p(qr) ( p ∨ q ) ∧ ( p ∨ r ) (p \lor q) \land (p \lor r) (pq)(pr) 的真值相同,因此这些复合命题是逻辑等价的。

在这里插入图片描述

表 6 包含了一些重要的等价式。在这些等价式中, T T T 表示始终为真的复合命题, F F F 表示始终为假的复合命题。我们还在表 7 和表 8 中分别展示了一些关于条件语句和双条件语句的有用等价式。

在这里插入图片描述

在这里插入图片描述

析取的结合律表明,表达式 p ∨ q ∨ r p \lor q \lor r pqr 是良好定义的,因为无论我们首先将 p p p q q q 进行析取,然后将 p ∨ q p \lor q pq r r r 进行析取,还是先将 q q q r r r 进行析取,然后再将 p p p q ∨ r q \lor r qr 进行析取,结果都是一样的。类似地,表达式 p ∧ q ∧ r p \land q \land r pqr 也是良好定义的。通过扩展这种推理,可以得出 p 1 ∨ p 2 ∨ ⋯ ∨ p n p_1 \lor p_2 \lor \cdots \lor p_n p1p2pn p 1 ∧ p 2 ∧ ⋯ ∧ p n p_1 \land p_2 \land \cdots \land p_n p1p2pn 是良好定义的,只要 p 1 , p 2 , ⋯   , p n p_1, p_2, \cdots, p_n p1,p2,,pn 是命题。

此外,注意德摩根律的扩展形式:
¬ ( p 1 ∨ p 2 ∨ ⋯ ∨ p n ) ≡ ( ¬ p 1 ∧ ¬ p 2 ∧ ⋯ ∧ ¬ p n ) \neg (p_1 \lor p_2 \lor \cdots \lor p_n) \equiv (\neg p_1 \land \neg p_2 \land \cdots \land \neg p_n) ¬(p1p2pn)(¬p1¬p2¬pn)

¬ ( p 1 ∧ p 2 ∧ ⋯ ∧ p n ) ≡ ( ¬ p 1 ∨ ¬ p 2 ∨ ⋯ ∨ ¬ p n ) \neg (p_1 \land p_2 \land \cdots \land p_n) \equiv (\neg p_1 \lor \neg p_2 \lor \cdots \lor \neg p_n) ¬(p1p2pn)(¬p1¬p2¬pn)

我们有时使用符号 ⋁ j = 1 n p j \bigvee_{j=1}^n p_j j=1npj 表示 p 1 ∨ p 2 ∨ ⋯ ∨ p n p_1 \lor p_2 \lor \cdots \lor p_n p1p2pn,以及 ⋀ j = 1 n p j \bigwedge_{j=1}^n p_j j=1npj 表示 p 1 ∧ p 2 ∧ ⋯ ∧ p n p_1 \land p_2 \land \cdots \land p_n p1p2pn。使用这种符号,德摩根律的扩展形式可以简洁地写为:
¬ ( ⋁ j = 1 n p j ) ≡ ⋀ j = 1 n ¬ p j \neg \left( \bigvee_{j=1}^n p_j \right) \equiv \bigwedge_{j=1}^n \neg p_j ¬(j=1npj)j=1n¬pj

¬ ( ⋀ j = 1 n p j ) ≡ ⋁ j = 1 n ¬ p j \neg \left( \bigwedge_{j=1}^n p_j \right) \equiv \bigvee_{j=1}^n \neg p_j ¬(j=1npj)j=1n¬pj
(这些等式的证明将在第 5.1 节中给出)。

要证明包含 n n n 个变量的两个复合命题的等价性,真值表需要 2 n 2^n 2n 行。(注意,每增加一个命题变量,真值表的行数就会加倍。有关解决这类问题的详细信息,请参见第 6 章。)由于 2 n 2^n 2n 增长得非常快(见第 3.2 节),使用真值表来建立等价性在变量数量增多时变得不切实际。更快速的方法是使用我们已经知道的逻辑等价式。如何实现这一点将在后面讨论。

使用德摩根律

例5 使用德摩根律来表达“Miguel has a cellphone and he has a laptop computer”和“Heather will go to the concert or Steve will go to the concert”的否定形式。

解答:设 p p p 表示“Miguel has a cellphone”, q q q 表示“Miguel has a laptop computer”。因此,Miguel has a cellphone and he has a laptop computer 可以用 p ∧ q p \land q pq 表示。根据德摩根律的第一个等价式, ¬ ( p ∧ q ) \neg(p \land q) ¬(pq) 等价于 ¬ p ∨ ¬ q \neg p \lor \neg q ¬p¬q。因此,我们可以将原陈述的否定形式表达为“Miguel does not have a cellphone or he does not have a laptop computer”。

r r r 表示“Heather will go to the concert”, s s s 表示“Steve will go to the concert”。因此,Heather will go to the concert or Steve will go to the concert 可以用 r ∨ s r \lor s rs 表示。根据德摩根律的第二个等价式, ¬ ( r ∨ s ) \neg(r \lor s) ¬(rs) 等价于 ¬ r ∧ ¬ s \neg r \land \neg s ¬r¬s。因此,我们可以将原陈述的否定形式表达为“Heather will not go to the concert and Steve will not go to the concert”。

构造新的逻辑等价式

例6 证明 ¬ ( p → q ) \neg (p \rightarrow q) ¬(pq) p ∧ ¬ q p \land \neg q p¬q 是逻辑等价的。

¬ ( p → q ) ≡ ¬ ( ¬ p ∨ q ) ≡ ¬ ( ¬ p ) ∧ ¬ q ≡ p ∧ ¬ q \begin{align*} \neg (p \rightarrow q) &\equiv \neg (\neg p \lor q)\\ &\equiv \neg (\neg p) \land \neg q\\ &\equiv p \land \neg q \end{align*} ¬(pq)¬(¬pq)¬(¬p)¬qp¬q

例7 证明 ¬ ( p ∨ ( ¬ p ∧ q ) ) \neg (p \lor (\neg p \land q)) ¬(p(¬pq)) ¬ p ∧ ¬ q \neg p \land \neg q ¬p¬q 是通过推导一系列逻辑等价式而得到的逻辑等价式。

¬ ( p ∨ ( ¬ p ∧ q ) ) ≡ ¬ p ∧ ¬ ( ¬ p ∧ q ) ≡ ¬ p ∧ [ ¬ ( ¬ p ) ∨ ¬ q ] ≡ ¬ p ∧ ( p ∨ ¬ q ) ≡ ( ¬ p ∧ p ) ∨ ( ¬ p ∧ ¬ q ) ≡ F ∨ ( ¬ p ∧ ¬ q ) ≡ ( ¬ p ∧ ¬ q ) ∨ F ≡ ¬ p ∧ ¬ q \begin{align*} \neg (p \lor (\neg p \land q)) &\equiv \neg p \land \neg (\neg p \land q)\\ &\equiv \neg p \land [\neg (\neg p) \lor \neg q]\\ &\equiv \neg p \land (p \lor \neg q)\\ &\equiv (\neg p \land p) \lor (\neg p \land \neg q)\\ &\equiv \mathbf{F} \lor (\neg p \land \neg q)\\ &\equiv (\neg p \land \neg q) \lor \mathbf{F}\\ &\equiv \neg p \land \neg q\\ \end{align*} ¬(p(¬pq))¬p¬(¬pq)¬p[¬(¬p)¬q]¬p(p¬q)(¬pp)(¬p¬q)F(¬p¬q)(¬p¬q)F¬p¬q

例8 证明 ( p ∧ q ) → ( p ∨ q ) (p \land q) \rightarrow (p \lor q) (pq)(pq) 是一个重言式(恒真命题)。

( p ∧ q ) → ( p ∨ q ) ≡ ¬ ( p ∧ q ) ∨ ( p ∨ q ) ≡ ( ¬ p ∨ ¬ q ) ∨ ( p ∨ q ) ≡ ( ¬ p ∨ p ) ∨ ( ¬ q ∨ q ) ≡ T ∨ T ≡ T \begin{align*} (p \land q) \rightarrow (p \lor q) &\equiv \neg (p \land q) \lor (p \lor q)\\ &\equiv (\neg p \lor \neg q) \lor (p \lor q)\\ &\equiv (\neg p \lor p) \lor (\neg q \lor q)\\ &\equiv \mathbf{T} \lor \mathbf{T}\\ &\equiv \mathbf{T} \end{align*} (pq)(pq)¬(pq)(pq)(¬p¬q)(pq)(¬pp)(¬qq)TTT

因此, ( p ∧ q ) → ( p ∨ q ) (p \land q) \rightarrow (p \lor q) (pq)(pq) 是一个重言式。

可满足性

当一个复合命题有一个真值赋值使得它为真(即它是一个重言式或偶然式)时,称该命题是可满足的。当不存在这样的赋值,即该复合命题对所有赋值都是假的时候,称该命题是不可满足的。注意,一个复合命题是不可满足的,当且仅当它的否定在所有赋值下都为真,也就是说,当且仅当它的否定是一个重言式。

当我们找到某个特定的真值赋值,使得复合命题为真时,我们就证明了它是可满足的;这样的赋值称为该可满足性问题的解。然而,为了证明一个复合命题是不可满足的,我们需要证明对其变量的每一个真值赋值都会使它为假。尽管我们可以总是使用真值表来确定一个复合命题是否可满足,但通常这样做并不高效,如例 9 所示。

例9 确定以下复合命题是否是可满足的:

( p ∨ ¬ q ) ∧ ( q ∨ ¬ r ) ∧ ( r ∨ ¬ p ) (p \lor \neg q) \land (q \lor \neg r) \land (r \lor \neg p) (p¬q)(q¬r)(r¬p)
( p ∨ q ∨ r ) ∧ ( ¬ p ∨ ¬ q ∨ ¬ r ) (p \lor q \lor r) \land (\neg p \lor \neg q \lor \neg r) (pqr)(¬p¬q¬r)
( p ∨ ¬ q ) ∧ ( q ∨ ¬ r ) ∧ ( r ∨ ¬ p ) ∧ ( p ∨ q ∨ r ) ∧ ( ¬ p ∨ ¬ q ∨ ¬ r ) (p \lor \neg q) \land (q \lor \neg r) \land (r \lor \neg p) \land (p \lor q \lor r) \land (\neg p \lor \neg q \lor \neg r) (p¬q)(q¬r)(r¬p)(pqr)(¬p¬q¬r)

我们通过推理真值来解决这个问题,而不是使用真值表。

注意, ( p ∨ ¬ q ) ∧ ( q ∨ ¬ r ) ∧ ( r ∨ ¬ p ) (p \lor \neg q) \land (q \lor \neg r) \land (r \lor \neg p) (p¬q)(q¬r)(r¬p) p p p q q q r r r 三个变量具有相同的真值时为真。因此,它是可满足的,因为存在一个赋值使得它为真。

类似地, ( p ∨ q ∨ r ) ∧ ( ¬ p ∨ ¬ q ∨ ¬ r ) (p \lor q \lor r) \land (\neg p \lor \neg q \lor \neg r) (pqr)(¬p¬q¬r) 在至少一个变量 p p p q q q r r r 为真,并且至少一个变量为假时为真(参见 1.1 节的练习 43)。因此, ( p ∨ q ∨ r ) ∧ ( ¬ p ∨ ¬ q ∨ ¬ r ) (p \lor q \lor r) \land (\neg p \lor \neg q \lor \neg r) (pqr)(¬p¬q¬r) 是可满足的,因为存在一个赋值使得它为真。

最后,注意,对于命题 ( p ∨ ¬ q ) ∧ ( q ∨ ¬ r ) ∧ ( r ∨ ¬ p ) ∧ ( p ∨ q ∨ r ) ∧ ( ¬ p ∨ ¬ q ∨ ¬ r ) (p \lor \neg q) \land (q \lor \neg r) \land (r \lor \neg p) \land (p \lor q \lor r) \land (\neg p \lor \neg q \lor \neg r) (p¬q)(q¬r)(r¬p)(pqr)(¬p¬q¬r) 要为真, ( p ∨ ¬ q ) ∧ ( q ∨ ¬ r ) ∧ ( r ∨ ¬ p ) (p \lor \neg q) \land (q \lor \neg r) \land (r \lor \neg p) (p¬q)(q¬r)(r¬p) ( p ∨ q ∨ r ) ∧ ( ¬ p ∨ ¬ q ∨ ¬ r ) (p \lor q \lor r) \land (\neg p \lor \neg q \lor \neg r) (pqr)(¬p¬q¬r) 都必须为真。要使第一个命题为真,三个变量必须具有相同的真值;而要使第二个命题为真,至少一个变量必须为真,至少一个必须为假。然而,这两个条件是矛盾的。因此,我们得出结论,没有任何赋值使得 ( p ∨ ¬ q ) ∧ ( q ∨ ¬ r ) ∧ ( r ∨ ¬ p ) ∧ ( p ∨ q ∨ r ) ∧ ( ¬ p ∨ ¬ q ∨ ¬ r ) (p \lor \neg q) \land (q \lor \neg r) \land (r \lor \neg p) \land (p \lor q \lor r) \land (\neg p \lor \neg q \lor \neg r) (p¬q)(q¬r)(r¬p)(pqr)(¬p¬q¬r) 为真。因此,它是不可满足的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2205377.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JDK11~JDK17值得关注的更新整理

新增特性: 1、instanceof的模式匹配 (JDK 16) 这个特性增强了instanceof运算符,允许在检查一个对象的类型时直接进行模式匹配,这使得代码更加简洁和易于理解。 通常我们使用instanceof时,一般发生在需要对一个变量的类型进行判…

QT C++ 软键盘/悬浮键盘/触摸屏键盘的制作

目录 1、前言 2、界面设计 3、英文、数字的输入 4、符号的输入 5、中文的输入 6、中文拼音库的选择 7、其他 8、结语 1、前言 使用QT C在带显示器的Linux系统 开发板上(树莓派等)编写操作UI界面时,很多时候都需要一个软键盘来输入文字…

施工进度可视化:提升项目管理透明度

图扑施工可视化通过直观的数据展示,使项目各方能够实时了解进度和资源分配,识别潜在问题,提高沟通效率,优化决策流程,确保项目按时、高效、安全地推进。

22个IT运维领域黄金证书 每一个都含金量极高!

**1、阿里云认证:**阿里云提供多个层次的认证,包括ACA(助理工程师)、ACP(专业工程师)和ACE(专家工程师),涵盖了云计算、大数据、云安全、人工智能等多个领域。 **2、ITS…

【text2sql】基于上下文文学习的MCS-SQL框架在Spider和BIRD取得了新SOTA

论文标题 “MCS-SQL: Leveraging Multiple Prompts and Multiple-Choice Selection For Text-to-SQL Generation” ,发表于2024.5的arXiv。 1.摘要解读 研究背景:大型语言模型(LLMs)在文本到SQL(Text-to-SQL&#xf…

Python中的help()函数引发错误:追踪错误并提供解决方案

Python 中的 help() 函数通常用于交互式帮助,它可以显示关于模块、类、函数、方法、关键字等的文档说明。一般情况下,help() 函数不会引发错误,但如果你在使用时遇到问题,可能与以下几种常见情况有关。 1、问题背景 在使用 Pytho…

宝藏推荐:精选十款知识库搭建软件

当今这个信息爆炸的时代,高效地管理和利用知识成为了各行各业追求的目标。无论是企业内部的协作,还是对外提供的信息服务,一个强大的知识库都是不可或缺的。为了帮助大家更好地守护和利用知识宝藏,以下是精选的十款知识库搭建软件…

新版 Notepad++ 下载与安装教程

一、软件准备:麻烦点我 二、双击下载好的 notepad 软件进行安装,选择 “简体中文”。 三、默认 “下一步” 安装。 四、单击 “我接受” 按钮。 五、自定义安装位置,个人建议安装在 D 盘。 六、选择组件,默认 “下一步”。 七、勾…

FFmpeg的简单使用【Windows】

目录 一、视频生成图片 静态图片 转码过程 动态图片gif 二、图片生成视频 三、FFmpeg常用参数命令 3.1 主要参数 3.1.1、-i 3.1.2、-f 3.1.3、-ss 3.1.4、-t 3.2 音频参数 3.2.1、-aframes 3.2.2、 -b:a 3.2.3、-ar 3.2.4、-ac 3.2.5、-acodec 3.2.6、-an 3…

《大规模语言模型从理论到实践》第一轮学习--分布式训练

基础知识 5分钟看懂电脑硬件配置 - 知乎 (zhihu.com) 显存 定义:显存是显卡上的专用高速缓存,用于存储图形处理器(GPU)在处理图像和视频数据时所需的临时数据。 功能:显存的主要作用是提供GPU快速访问的数据存储&a…

从桌面运维转到网络安全后,我是怎样成为大厂高级网络安全工程师

我的第一份工作是桌面运维,我的上一份工作是大厂高级网络安全工程师。 很多人都不知道网络安全工程师是具体做什么的,今天就来给大家细细说下。 网络安全工程师是保护信息系统和网络免受破坏、攻击或非法访问的专业人员。他们的工作内容主要包括以下几个…

poi通过在word中写入了表格,通过libreoffice转换成PDF后,word中刚才画的表格宽度无限拉伸问题的解决。

一、复现: poi版本: <poi>3.17</poi><poi-ooxml>3.17</poi-ooxml><poi-ooxml-schemas>3.17</poi-ooxml-schemas><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><versio…

单例模式和读者写者问题

文章目录 10. 线程安全的单例模式10.1 什么是设计模式10.2 什么是单例模式10.3 单例模式的特点10.4 饿汉方式和懒汉方式10.5 单例模式的线程池 11. STL和智能指针的线程安全 问题11.1 STL中的容器是否是线程安全的?11.2 智能指针是否是线程安全的? 12. 其他常见的各种锁13. 读…

【Linux】来查看当前系统的架构

使用 uname 命令 uname -m 使用 arch 命令 arch 查看 /proc/cpuinfo 文件 查找 model name 或 Processor 字段。 cat /proc/cpuinfo 使用 lscpu 命令 lscpu

linux线程 | 线程的控制

前言&#xff1a;本节内容为线程的控制。在本篇文章中&#xff0c; 博主不仅将会带友友们认识接口&#xff0c; 使用接口。 而且也会剖析底层&#xff0c;带领友友们理解线程的底层原理。 相信友友们学完本节内容&#xff0c; 一定会对线程的控制有一个很好的把握。 那么&#…

算法:反转链表

一、题目描述 给定单链表的头节点 head &#xff0c;请反转链表&#xff0c;并返回反转后的链表的头节点。 二、解题思路 1.迭代法 原始链表中&#xff0c;每个结点的 next 指针都指向后一个结点。反转链表之后&#xff0c;每个结点的 next 指针都指向前一个结点。因此&…

Unity UndoRedo(撤销重做)功能

需求 撤销与重做功能 思考 关于记录的数据的两点思考&#xff1a; 记录操作记录影响显示和逻辑的所有数据 很显然这里就要考虑取舍了&#xff1a; 记录操作 这种方案只需要记录每一步的操作&#xff0c;具体这个操作要怎么渲染和实现出来完全需要自己去实现&#xff0c;这…

怎么下载安装yarn

安装 npm install --global yarn 是否安装成功 yarn -v Yarn 淘宝源安装&#xff0c;分别复制粘贴以下代码行到黑窗口运行即可 yarn config set registry https://registry.npm.taobao.org -g yarn config set sass_binary_site http://cdn.npm.taobao.org/di…

免杀对抗—python分离免杀无文件落地图片隐写SOCK管道

前言 之前就基本把所有语言都讲了一遍了&#xff0c;C/C&#xff0c;Java&#xff0c;python&#xff0c;golang&#xff0c;汇编。今天就开始讲免杀的技巧以及手法&#xff0c;分离免杀之前讲过一点&#xff0c;就是通过http或者参数获取shellcode&#xff0c;今天把其他的分…

ppt压缩文件怎么压缩?压缩PPT文件的多种压缩方法

ppt压缩文件怎么压缩&#xff1f;当文件体积过大时&#xff0c;分享和传输就会变得困难。许多电子邮件服务对附件的大小有限制&#xff0c;而在网络环境不佳时&#xff0c;上传和下载大文件可能耗时较长。此外&#xff0c;在不同设备上播放时&#xff0c;较大的PPT文件还可能导…