600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 【离散数学】第一章 —— 基础:逻辑和证明

【离散数学】第一章 —— 基础:逻辑和证明

时间:2023-08-13 11:23:55

相关推荐

【离散数学】第一章 —— 基础:逻辑和证明

嗨喽,宝子们,好久没有更新了。首先声明,我绝对没有偷玩hhh,只是因为最近忙着写毕业论文,然后又重新温习离散数学,时间比较紧凑,这不就马不停蹄的来了嘛。

叮叮叮,这将是一个全新的专栏——《离散数学》,作为研究生的起点,我将会按照章节陆续更新 Kenneth H. Rosen的《Discrete Mathematics and Its Applications》Eighth Edition。

由于看的英文书籍,一整本书1118页,而且看完后会理清文章思路,并且绘制思维导图后,再开始写文章,所以每一章更新时间可能会比较久喔,催更达咩!

正式开始啦!

基础:逻辑和证明

思维导图命题逻辑逻辑规则作用命题定义命题表示命题分类逻辑连接词否(negation)合取(conjunction)析取(disjunction)异或(exclusive or)条件蕴含(conditional statement)双条件(biconditional statement) 逻辑运算符优先级逻辑运算和位运算 命题逻辑的应用翻译英文句子系统规范布尔搜索逻辑谜题逻辑电路 命题等价式等价含义复合命题分类等价表示等价证明等价作用常见等价表达式构造新的等价式可满足性 谓词和量词谓词量词量词概念量词分类量词优先级量词有限域表示量词限制域表示量词与变元关系量词等价表达式量词否定表达式 应用 嵌套量词嵌套量词含义嵌套量词顺序嵌套量词应用 推理规则有效论证含义命题推理规则量词推理规则 证明介绍基本概念证明方法直接证明(Direct Proofs)反向证明(Proof by Contraposition)矛盾证明(Proofs by Contradiction ) 证明方法和策略穷举法分情况

首先奉上第一章的思维导图,我们先来从宏观上把握一下这一章主要有哪些内容。

第一章主要是讲述了命题逻辑、谓词量词以及推理规则等内容,知识点都比较基础,但是较为琐碎,需要花时间整理喔。

思维导图

CSDN不支持xmind,所以只能看png,看不到对应折叠起来的注释啦。

命题逻辑

逻辑规则作用

初学者学习离散数学可能会有一个疑问,我们学习这些逻辑和证明规则有什么用呢?那就一起来看一看这个问题吧。

我们都知道汉语是博大精深的,一句话的意思可能有多层,有时候就会存在一些模棱两可、含糊不清的表达,其他语言也是如此。

逻辑规则正是为了解决这个问题,有助于确定语句的精确含义,可用于区分有效和无效的数学论证。

命题定义

命题是一个陈述句(即宣布一个事实的句子),要么是真的,要么是假的,但不能同时又是真的又是假的。

下面一起来看几个例子吧:

Washington, D.C., is the capital of the United States of America.ExtraToronto is the capital of Canada.1 + 1 = 2.2 + 2 = 3.

上面哪几个是命题呢?哪几个不是命题呢?

显而易见,命题1和3为真,而2和4为假。

命题表示

命题一般由命题变量表示,而命题变量又有对应的值,所以这里从命题变量和命题变量值的表示来进行讲解。

命题变量一般用字母p, q, r, s, …表示;命题变量值有两种,正确就用True,也就是T表示,错误就用False,也就是F表示。

命题分类

根据命题的复杂程度,我们将其分为原子命题和复合命题。

原子命题是不能用更简单的命题来表达的命题;复合命题是由一个或多个命题组合而成的新的命题。

逻辑连接词

复合命题是由什么组成的呢?

复合命题就是命题通过逻辑连接词连接而组成。

下面一起来看看常见的连接词有哪些吧!

否(negation)

p的否定,用¬p表示,就是 "不是p的情况 "的说法。

假设p:“Michael’s PC runs Linux”

那么¬p:“Michael’s PC does not run Linux”

合取(conjunction)

p和q的合取,用p∧q表示,就是命题 “p和q”。当p和q都是真的时候,连词p∧q就是真的,否则就是假的。

p:“Rebecca’s PC has more than 16 GB free hard disk space”

q:“The processor in Rebecca’s PC runs faster than 1 GHz”

p∧q:Rebecca’s PC has more than 16 GB free hard disk space, and the processor in Rebecca’s PC runs faster than 1 GHz.

析取(disjunction)

p和q的析取,用p∨q表示,是命题 “p或q”。当p和q都是假的时候,p∨q是假的,否则是真的。

p:“A student who has taken calculus can take this class”

q:“A student who has taken introductory computer science can take this class”

p∨q:A student who has taken calculus or introductory computer science can take the class

异或(exclusive or)

p和q的排他异或,用p⊕q(或p XOR q)表示,是指当p和q中正好有一个是真的时候,这个命题就是真的,否则就是假的。

p: “A student can have a salad with dinner”

q:“A student can have soup with dinner”

p⊕q:A student can have soup or salad, but not both, with

dinner.

条件蕴含(conditional statement)

条件语句p→q是命题 “如果p,那么q”。当p为真,q为假时,条件语句p→q为假,否则为真。在条件语句p → q中,p被称为假设(或前因或前提),q被称为结论(或结果)。

条件蕴含还有如下表达:

一定注意这三种的区别:only if 或者 when 或者 unless。

only if 不要将p和q搞反了,可以这样理解,p→q是由p推出了q,但是如果是p,可以肯定的是一定是q发生了,反之如果q发生了,不一定是因为p,可能有点绕,反复理解。

说起条件语句,我们就会想到四大命题:原命题、逆命题、否命题和逆否命题。

原命题: p → q

逆命题:q → p

否命题:¬p → ¬q

逆否命题: ¬q → ¬p

注意,一个条件性陈述命题和它的逆否命题是等价的。一个条件性陈述的逆命题和否命题也是等价的,但两者都不等同于原来的条件性陈述。

双条件(biconditional statement)

双条件语句p ↔ q是命题 “p当且仅当q”。当p和q的真值相同时,双条件语句p ↔ q为真,否则为假。双条件语句也被称为双含义。

请注意,p↔q的真值与(p→q)∧(q→p)完全相同。

逻辑运算符优先级

有人的地方就有江湖,有逻辑运算符的地方也是如此。

一般我们会使用圆括号来区分优先级,但是逻辑运算符优先级的规定可以减少圆括号的使用,使得我们的表达式更加清晰明了。

逻辑运算和位运算

逻辑运算值有两种T和F,位运算值也有两种1和0。

计算机中一般是二进制位,即位运算,所以可以将逻辑运算转换为位运算。

从而实现T和1对应,F和0对应。

位运算常见的有“与(AND)”、“或(OR)”和“异或(XOR)”。

位运算即是对应位的运算。

我们定义两个相同长度的字符串的位运算OR、位运算AND和位运算XOR是指分别以两个字符串中相应位的OR、AND和XOR为其位的字符串。

命题逻辑的应用

学以致用,当我们更加真切的知道我们所学习的内容,能够运用在哪些地方时,我们会更加有想深入学习的欲望。

翻译英文句子

“You can access the Internet from campus only if you are a computer science major or you are not a freshman.”

a: “You can access the Internet from campus,”

c:“You are a computer science major,”

f: “You are a freshman,”

上述可以表示为:a → (c ∨ ¬f )

系统规范

系统规范应该是一致的,也就是说,它们不应该包含可以用来推导出矛盾的要求。当规格不一致时,将没有办法开发一个满足所有规格的系统。

下面的系统规范是否满足一致性?

“The diagnostic message is stored in the buffer or it is retransmitted.”

“The diagnostic message is not stored in the buffer.”

“If the diagnostic message is stored in the buffer, then it is retransmitted.”

判断系统规范是否一致的方法就是:是否能够找到一个使所有规格都为真的真值赋值。

我们得出结论,这些规格是一致的,因为当p为假,q为真时,它们都是真的。

布尔搜索

逻辑连接词被广泛用于大型信息集合的搜索,如网页索引。因为这些搜索采用了命题逻辑的技术,所以它们被称为布尔搜索。

例如,使用布尔搜索来寻找有关新墨西哥州大学的网页,我们可以寻找与NEW AND MEXICO AND UNIVERSITIES相匹配的网页。这个搜索的结果将包括那些包含NEW、MEXICO和UNIVERSITIES三个词的网页。

逻辑谜题

可以用逻辑推理来解决的谜题被称为逻辑谜题。

作为从海盗手中救出女儿的奖励,国王给你机会赢得藏在三个箱子里的宝藏。两个没有藏宝的箱子是空的。要赢,你必须选择正确的箱子。1号和2号箱子上都刻有 "这个箱子是空的 "的字样,3号箱子上刻有 "宝藏在2号箱子里 "的字样。女王从不说谎,她告诉你,这些铭文中只有一个是真的,而另外两个是错的。你应该选择哪一个箱子来赢?

可以推理得知:宝藏在箱子1里(也就是说,p1是真的),p2和p3是假的;而箱子2上的铭文是唯一真的。

逻辑电路

一个逻辑电路(或数字电路)接收输入信号p1,p2,…,pn,每个都是一个比特[要么是0(关闭)要么是1(打开)],并产生输出信号s1,s2,…,sn,每个都是一个比特。

以下是“与门(AND)”、“或门(OR)”以及“非门(Inverter)”示例图:

命题等价式

等价含义

等价的含义是在所有可能的情况下具有相同真值的复合命题被称为逻辑上的等价。

复合命题分类

一个复合命题,无论其中出现的命题变量的真值如何,都是真实的,称为永真式(Tautology)。一个总是假的复合命题被称为永假式(Contradiction)。一个既不是永真式也不是永假式的复合命题被称为应变式(Contingency)。

等价表示

两个复合命题等价,有两种表示:

if p↔q is a Tautologyp≡q

等价证明

一般证明等价,也有两种方法:

真值表构造新的等价式

等价作用

为什么已经有真值表,还要来构造新的等价呢?

一般来说,如果一个复合命题涉及n个命题变量,就需要2n行。由于2n的快速增长,需要更有效的方法来建立逻辑等价关系,例如使用我们已经知道的等价关系。

常见等价表达式

最重要的德摩根定律:

常见的等价表达式:

包含条件的:

包含双条件的:

先记住一些最基本的,遇到复杂的再利用这些进行推导就可以了。

构造新的等价式

通过建立一系列的逻辑等价关系,证明¬(p∨(¬p∧q))和¬p∧¬q在逻辑上是等价的。

推导过程如下:

可满足性

如果存在对其变量的真值赋值,使其为真,则复合命题是可满足的。

这样的赋值被称为这个特殊可满足性问题的解。

可满足性可以应用在n皇后问题和数独问题上。

后续会出专题来讲这两个问题奥!

谓词和量词

已经有命题了,为什么又引入了谓词和量词呢?命题与谓词和量词之间有什么关系呢?谓词和量词是来干什么的呢?太多疑问了,那就一起来康康这个问题吧!

“连接到大学网络的每台计算机都在正常运行”。

“MATH3运行正常”。

哎嘿,这个怎么定义命题呢?

MATH3不就是一台计算机吗?

所以为什么要引入谓词和量词呢?对象和对象之间有关系的哇!懂我意思吧!

谓词

谓词:用于描述对象的性质。

谓词又称命题函数。

命题=变量+谓词。

一旦给变量x分配了一个值,语句P(x)就成为一个命题,并且有一个真值。

举一个例子吧:

“x is greater than 3”

我们可以用P(x)表示 "x大于3 "这个语句,其中P表示谓词 “大于3”,x是变量。语句P(x)也被说成是命题函数P在x处的值。

量词

量词:表示变量被赋值后使谓词为真的程度。

量词概念

论域:许多数学语句断言,一个属性对某一特定领域内的所有变量值叫做论域。在使用量词时,必须始终指定一个域。此外,当域发生变化时,量词的含义也会改变。

反例:一个使得P(x)为假的元素被称为量词的反例。

量词分类

量词分为全称量词和特称量词,这个我们在高中数学中就已经学过了,所以不陌生吧。

全称量词:P(x)的全称量词是 "P(x)对于域中所有的x值 "的陈述。

特称量词:P(x)的特称量词是 "P(x)对于域中存在的x值 "的陈述。

量词优先级

量词也存在优先级,而且量词∀和∃的优先级高于命题微积分的所有逻辑运算符。

量词有限域表示

当论域为有限域时,全称量词和特称量词可以表示为:

语句∀xP(x)与合取P(1)∧P(2)∧P(3)∧P(4)相同。

语句∃xP(x) 与析取 P(x1) ∨ P(x2) ∨ ⋯ ∨ P(xn) 相同。

量词限制域表示

当对论域有所限制时,可以表示为如下;

全称量词的限制与条件语句的全称量词是一样的。∀x(x < 0 → x2 > 0)。

特称量词的限制与合取的特称量词是一样的。∃z(z > 0 ∧ z2 = 2)。

这里由于输入法限制,其分别为x的平方和z的平方奥!

量词与变元关系

根据量词对变元的作用,可以将变元分为约束变元和自由变元奥。

约束变元:当一个量词被用于变量x时,我们说这个变量的出现是被约束的。

自由变元:一个没有被量词约束或被设置为等于某个特定值的变量的出现被称为是自由的。

例如∃x(x+y=1),x被约束,但y是自由的。

量词等价表达式

∀x(P(x) ∧ Q(x)) ≡ ∀xP(x) ∧ ∀xQ(x)

量词否定表达式

量词的德摩根定律:

¬∀xP(x) ≡ ∃x ¬P(x)

¬∃xQ(x) ≡ ∀x ¬Q(x)

应用

命题这一块的应用主要就是英语语句、数学语句、逻辑语句相互转换

尤其是全称量词和特称量词的限制域表达,一定要注意是条件还是合取。

嵌套量词

嵌套量词含义

嵌套量词,即一个量词在另一个量词的范围内。

比如:∀x∃y(x + y = 0)。

嵌套量词顺序

嵌套量词顺序不同,可能就会导致语句含义不同,所以不要轻易认为其等价了奥。

∀x∀yP(x, y)

∀y∀xP(x, y)

∃y∀xQ(x, y)

∃x∀yQ(x, y)

∃x∃yR(x, y)

∃y∃xR(x, y)

嵌套量词应用

嵌套量词应用与上述相同,核心也是英语语句、数学语句、逻辑语句的相互转换。

推理规则

有效论证含义

命题逻辑中的论证是一连串的命题。论证中除最后一个命题外的所有命题都被称为前提,最后一个命题被称为结论。如果一个论证的所有前提的真实性都意味着结论是真实的,那么这个论证就是有效的。命题逻辑中的论证形式是一个涉及命题变量的复合命题序列。

命题推理规则

现在使用上述推理规则来进行推理:

证明前提 “今天下午没有阳光,而且比昨天更冷”,“只有在有阳光的情况下我们才会去游泳”,“如果我们不去游泳,那么我们就去划独木舟”,以及 “如果我们去划独木舟,那么我们将在日落前回家”,从而得出结论 “我们将在日落前回家”。

假设p是命题 “今天下午是晴天”,q是命题 “比昨天更冷的例子”,r是命题 “我们将去游泳”,s是命题 “我们将乘独木舟旅行”,t是命题 “我们将在日落时回家”。然后,前提变成¬p∧q,r→p,¬r→s,和s→t。

量词推理规则

现在我们使用上述推理规则进行推理:

证明前提 "这个离散数学班的每个人都上过计算机科学的课程 "和 "玛拉是这个班的学生 "意味着结论 “玛拉上过计算机科学的课程”。

让D(x)表示 “x在这个离散数学班”,让C(x)表示 “x上过计算机科学的课程”。那么前提是∀x(D(x)→C(x))和D(Marla)。结论是C(Marla)。

证明介绍

基本概念

定理( theorem ):定理是可以被证明为真的语句。

公理(axiom):公理是我们假设为真实的陈述 。

证明(proof):证明是用一个证明来证明一个定理是真的。

引理(lemma ):引理是一个不太重要的定理,对其他结果的证明有帮助,被称为引理。

推论(corollary ):推论是一个可以直接从已被证明的定理中建立的定理。

猜想(corollary ):猜想是一个被提出来的陈述,通常是基于一些部分证据、启发式论证或专家的直觉,被认为是一个真实的陈述。

证明方法

直接证明(Direct Proofs)

当第一步是假设p是真的时候,就构建了一个条件语句p→q的直接证明;随后的步骤是使用推理规则构建的,最后一步显示q也必须是真的。

直接证明是从一个定理的前提到结论的。它们从前提开始,接着是一连串的推理,最后是结论。

也就是说,直接证明是先假设p为真,然后根据推理规则推出q也为真。

先做如下定义:

如果存在一个整数k,使n=2k,则整数n是偶数;如果存在一个整数k,使n=2k+1,则整数n是奇数(注意,每个整数不是偶数就是奇数,没有整数既是偶数又是奇数)。当两个整数都是偶数或奇数时,它们的奇偶性相同;当一个是偶数而另一个是奇数时,它们的奇偶性相反。

现在需要以下证明:

给出 "如果n是奇数整数,那么n2是奇数 "这一定理的直接证明。

证明如下:

请注意,该定理指出∀nP((n)→Q(n)),其中P(n)是 “n是奇数”,Q(n)是 “n2是奇数”。正如我们所说,我们将遵循数学证明中的通常惯例,证明P(n)意味着Q(n),而不明确使用普遍实例化。为了开始这个定理的直接证明,我们假设这个条件语句的假设是真的,即我们假设n是奇数。根据奇数的定义,可以得出n=2k+1,其中k是某个整数。我们想证明n2也是奇数。我们可以将方程n=2k+1的两边平方,得到一个表达n2的新方程。当我们这样做时,我们发现n2=(2k+1)2=4k2+4k+1=2(2k2+2k)+1。根据奇数的定义,我们可以得出结论,n2是一个奇数(它比两倍整数多一个)。因此,我们已经证明,如果n是一个奇数,那么n2就是一个奇数。

同样由于输入法的问题,指出这里是n的平方。

反向证明(Proof by Contraposition)

一种极为有用的间接证明类型被称为反证法。逆向证明利用了这样一个事实:条件语句p→q与它的逆向语句¬q→¬p是等价的。这意味着条件语句p→q可以通过证明其反义词¬q→¬p为真来证明。

在p→q的反转证明中,我们把¬q作为前提,利用公理、定义和以前证明过的定理,再加上推理规则,我们表明¬p必须遵循。

现在需要如下证明:

证明如果n是一个整数,并且3n+2是奇数,那么n是奇数。

证明如下:

我们首先尝试一个直接证明。为了构建一个直接证明,我们首先假设3n+2是一个奇数整数。根据奇数的定义,我们知道3n + 2 = 2k + 1,对于某个整数k,我们可以用这个事实来证明n是奇数吗?我们看到3n+1=2k,但似乎没有任何直接的方法可以得出n是奇数的结论。因为我们直接证明尝试失败了,所以我们接下来尝试用反证法来证明。

矛盾证明的第一步是假设条件语句 "如果3n+2是奇数,那么n就是奇数 "的结论是假的;即假设n是偶数。然后,根据偶数的定义,对于某个整数k,n=2k。用2k代替n,我们发现3n+2=3(2k)+2=6k+2=2(3k+1)。这告诉我们,3n + 2是偶数(因为它是2的倍数),因此不是奇数。这是对定理前提的否定。因为对条件陈述的结论的否定意味着假设是假的,所以原条件陈述是真的。我们的反推证明成功了;我们证明了定理 “如果3n+2是奇数,那么n就是奇数”。

矛盾证明(Proofs by Contradiction )

假设我们想证明一个陈述p是真的。此外,假设我们能找到一个矛盾的q,使¬p→q为真。因为q是假的,但¬p→q是真的,我们可以得出结论:¬p是假的,这意味着p是真的。

因为只要r是一个命题,r∧¬r的陈述就是矛盾的,如果我们能证明¬p→(r∧¬r)对某个命题r来说是真的,我们就能证明p是真的。

矛盾证明可以用来证明条件性陈述。在这种证明中,我们首先假设结论的否定。然后我们用定理的前提和结论的否定来得出矛盾。(这种证明有效的原因在于p→q和(p∧¬q)→F的逻辑等价性。要看到这些陈述是等价的,只需注意每一个陈述在恰好一种情况下是错误的,即当p是真的,q是假的。)

请注意,我们可以把一个条件语句的反转证明改写为矛盾证明。在对p→q的反转证明中,我们假设¬q为真。然后我们证明¬p也必须是真的。为了把p→q的反证改写为矛盾证明,我们假设p和¬q都是真的。然后,我们用¬q→¬p的证明步骤来证明¬p是真的。这就导致了p∧¬p的矛盾,从而完成了证明。

也就是说矛盾证明是p→q:第一种方法是假设p和¬q均为真,然后推出¬p也为真,于是得出p∧¬p的矛盾,从而得以证明;第二种方法是假设q和¬p均为真,然后推出¬q也为真,于是得出q∧¬q的矛盾,从而得以证明。

现在需要如下证明:

请用矛盾法证明定理 “如果3n+2是奇数,那么n就是奇数”。

证明如下:

设p为 “3n+2是奇数”,q为 “n是奇数”。为了构建一个矛盾的证明,假设p和¬q都是真的。也就是说,假设3n+2是奇数,n不是奇数。因为n不是奇数,我们知道它是偶数。因为n是偶数,所以有一个整数k,使得n=2k。这意味着3n+2=3(2k)+2=6k+2=2(3k+1)。因为3n + 2 is 2t,其中t = 3k + 1,3n + 2是偶数。请注意,"3n + 2是偶数 "的陈述等同于陈述¬p,因为一个整数是偶数,当且仅当它不是奇数。因为p和¬p都是真的,所以我们有一个矛盾。这就完成了矛盾证明,证明了如果3n+2是奇数,那么n就是奇数。

证明方法和策略

要证明一个形式为 (p1 ∨ p2 ∨ ⋯ ∨ pn) → q 的条件语句,即 [(p1 ∨ p2 ∨ ⋯ ∨ pn) → q] ↔ [(p1 → q) ∧ (p2 → q) ∧ ⋯ ∧ (pn → q)] 。

穷举法

一些定理可以通过研究相对较少的例子来证明。这样的证明被称为穷举证明,或者穷举证明,因为这些证明是通过穷举所有的可能性进行的。

现在需要如下证明:

证明:如果n是一个正整数,n≤4,则(n+1)3≥3n。(其中为(n+1)的三次方和3的n次方)

证明如下:

我们用穷举法来证明。我们只需要在n=1、2、3和4时验证不等式(n+1)3≥3n。对于n=1,我们有(n+1)3=23=8,3n=31=3;对于n=2,我们有(n+1)3=33=27,3n=32=9;对于n=3,我们有(n+1)3=43=64,3n=33=27;而对于n=4,我们有(n+1)3=53=125,3n=34=81。在这四种情况中的每一种,我们都可以看到(n+1)3≥3n。我们用穷举法来证明,如果n是一个正整数,n≤4,则(n+1)3≥3n。

分情况

案例证明必须涵盖定理中可能出现的所有情况。我们用几个例子来说明案例证明。在每个例子中,你都应该检查是否涵盖了所有可能的情况。

现在需要如下证明:

证明如果n是一个整数,那么n2≥n。(其中为n的平方)

证明如下:

我们可以通过考虑三种情况来证明每个整数的n2≥n,即n=0时、n≥1时和n≤-1时。我们把证明分成三种情况,因为分别考虑零、正整数和负整数就可以直接证明这个结果。

案例(i):当n=0时,因为02=0,我们看到02≥0,因此n2≥n在这种情况下是真的。

情况(ii):当n≥1时,当我们将不等式n≥1的两边都乘以正的特例整数n时,我们得到n⋅n≥n⋅1。这意味着n≥1时n2≥n。

情况(三):在这种情况下,n≤-1。

由于不等式n2≥n在这三种情况下都成立,我们可以得出结论:如果n是整数,则n2≥n。

寻找证明可能是一项具有挑战性的工作。当你面对一个需要证明的陈述时,你应该首先用术语的定义来代替,然后仔细分析假设和结论的含义。这样做之后,你可以尝试用一种可用的证明方法来证明这个结果。

继续加油咯!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。