【学习报告】【离散数学】第一章 什么是证明

第一章 什么是证明

本学习报告用书是由电子工业出版社出版的《计算机科学中的数学 信息与只能时代的必修课》一书,会在我本身的理解上对原书内容加以修改,可能会与原书内容有出入;若有问题欢迎在下面评论指正探讨。😃


本章内容:

  1.什么是命题,以及命题的相关种类

  2.谓词跟命题的关系

  3.了解公理化方法

  4.逻辑推理以及四种方法

  5.一些证明的建议



1.什么是命题,以及命题的相关种类

  定义:命题是一个或真或假的语句(表述)。

  举个例子:(真命题)2 + 3 = 5;(假命题)1 + 1 = 3;

  由于命题非真即假的二元性,对于一些仍未证明出的定义,人们还给出了断言猜想(感觉断言跟猜想区别不大)。

  此外,我们可以运用逻辑符号替换其命题或猜想的文字表达,如欧拉猜想(Euler‘s Conjecture):

    若\(a, b, c, d\)都是正整数,等式 \(a^4 + a^4 + c^4 = d^4\) 无解。

    转换成逻辑符号:

    \(\forall a \in Z^+ \ \forall b \in Z^+ \ \forall c \in Z^+ \ \forall d \in Z^+. \ a^4 + b^4 + c^4 \neq d^4\)



2.谓词跟命题的关系

谓词(predicate) 相当于真假性取决于一个或多个变量值的命题——即谓词本身不具有真假性,如一个bool类型的函数,输入了 \(n\) (\(n \geq 1\)) 个参数后,才会得到其返回值 \(true\) or \(false\)

  例如:

    “n是一个完全平方数”——描述的是一个谓词;

    亦可表达为:P(n):: = “n是一个完全平方数”;

    显然,断言P(4)为真,P(5)为假。

  谓词跟普通函数很像,但区别是——用c语言的函数体描述——谓词返回的是bool类型;普通函数返回的是数值(int之类的类型)。

  谓词的本质还是命题



3.了解公理化方法

  公理(axiom):不证自明的命题(如“任意两个点可以通过一条直线段连接”。)

  证明:指从公理及已被证明的语句,推导出命题结论的一系列逻辑推理过程。

  以下3个通用术语均属于命题:

   定理(theorem):重要的真命题

   引理(lemma):预备性命题,为后面的命题证明做准备

   推论(corollary):指从定理出发,只需几步逻辑推导就能得出的命题

  欧几里得的公理-证明方法,现在称作公理化方法(axiomatic method),是数学的基础。

  其他的,如策梅洛-弗兰克尔选择公理(Zermelo-Fraenkel with Choice axiom,ZFC)将在以后谈及...



4.逻辑推理以及四种方法

  逻辑推理(logical deduction),或推理规则(inference rule),是指基于已被证明过的命题来证明新的命题。

  一个基本的推理规则是假言推理(modus ponens),即证明了P并且证明了P IMPLIES Q,就证明了Q。可写成以下形式:

                   \(\frac{P,\ P\ IMPLIES\ Q }{Q}\)

  横线上面的语句称为前件(antecedent),下面的语句称为结论(conclusion)或后件(consequent);一旦前件被证明,那么也就证明了后件。(此处可以先不用理解 P IMPLIES Q 是什么意思,后面会提到)

  推理规则必须是有效的(sound):如果P,Q...为真,则所有前件都为真,那么后件也一定为真。(这里的规则比高中时候学的原命题与逆否命题是逆否关系这些关系要多,因为在我的已有水准里,还不太能理解QAQ)

  其他有效的推理规则:

            \(\frac{P\ IMPLIES\ Q, \ Q\ IMPLIES\ R}{P\ IMPLIES\ R}\) (有点递推的感觉...)

            \(\frac{NOT(P)\ IMPLIES\ NOT(Q)}{Q IMPLIES P}\) (这里就有点像原命题跟逆否命题的感觉了,但我还不能确定)

  四种证明方法:


   1.证明蕴涵

    形如“如果P,则Q”的命题称为蕴涵(implication)。通常可以写成“P IMPLIES Q”。

     方法#1:

      1.写:“假设P”。

      2.从逻辑上证明Q。

      例题:如果 \(0 \leq x \leq 2\),则 \(-x^3 + 4x + 1 > 0\)

      提示:这里P就对应着 \(0 \leq x \leq 2\) ,Q对应着 \(-x^3 + 4x + 1 > 0\) ,即运用 \(0 \leq x \leq 2\) 这个条件,证明Q成立。

     方法#2:证明逆反命题

      1.写“我们证明逆反命题:”,然后表述这个逆反命题。

      2.按方法#1继续。

      例题:如果\(r\)是无理数,那么\(\sqrt{r}\)也是无理数。

      提示:逆反命题:如果\(\sqrt{r}\)是有理数,那么\(r\)也是有理数。


   2.证明“当且仅当”

    “当且仅当”指的是两条语句是等价的,比如 P IMPLIES Q 同时 Q IMPLIES P(即 P IFF Q)。

    “当且仅当”叙述时通常简写为“iff”,在数学表达式中通常写为“IFF”。

     方法#1:证明两个语句相互蕴涵

      1.写“我们证明P蕴涵Q,反之亦然。”

      2.写“首先,证明P蕴涵Q”。依据《证明蕴涵》的方法#1进行。

      3.写“然后,证明Q蕴涵P”。同上。

     方法#2:构建iff链

      1.写“我们构建一个当且仅当蕴涵链。”

      2.证明P等价于第二个语句,然后第二个语句等价于第三个语句,以此类推,直到等价于Q。


   3.案例证明法

    将复杂的证明分解成案例,然后分别证明每一个案例。(有点类似分情况讨论,此处例子证明有点复杂,以后再作补充)


   4.反证法

    反证法(proof by contradiction),又称间接证明法(indirect proof),是指:假如命题是假的,那么相应的虚假事实为真;既然虚假事实本身不可能是真的,所以命题一定为真。

    这里的描述感觉有点绕,其实就是假设后得到的结果跟原先的条件构成了矛盾,反证法就是突出矛盾即可。



5.一些证明的建议

该小节即是教导如何写一个好证明:

  1.陈述你的计划。在开头有一句概括性的话,如,“我们使用案例分析法”等等;

  2.保持线性流程。要让证明步骤按可理解的顺序进行;

  3.证明是一篇论文,而不是计算。证明更像是一篇带公式的论文,而不是简单的积分计算;

  4.避免过度使用符号。请尽量使用文字;

  5.修改、简化。

  6.仔细地介绍符号。如同c语言要先声明变量一样,如果用到一些新符号,请先定义以及告诉读者这是个新符号是干嘛的;

  7.将长证明结构化。如果证明过程需要用到一些说起来简单但证明起来不容易的事实,可以将它们抽出来作为初步的引理;

  8.警惕“显然”。不要使用“明显”或“显而易见”这样的字眼,因为你的“显然”可能恰好是别人存在疑问的“必然”;看到别人的表述有这样的,也要多加小心;

  9.结束。最后再总结一下,解释为什么原命题成立。同时还会有相应的结束符号。



写在最后:

  第一章的内容不多,算是一些入门的基础概念与方法的理解。要看懂这章不难,难是难在要完成这章一些习题的证明,往后我会在这弄个超链接,另开一个习题的文章。

  写完第一章,我的感觉是:要自学其实是不难的,而如果我要把我自学到来的东西再写出来,达到对离散有兴趣的人能看得清晰明了的效果,这还是很让我伤脑筋的。可能是题做少了,没有老师或者dl指点过,自己还是有点站不住脚。所以,我把接下来可能出的几章离散内容当作我的预习学习报告(下学期才开始离散课),到时候会根据老师的授课内容与自己当时写的内容作对比修改。因此,这篇学习报告仅是我个人的学习的记录,可能会存在一些问题,也欢迎与感谢大家指出来。

  谢谢你看到这里。

——2020.01.20


posted on 2020-01-20 11:24  Ayasan  阅读(923)  评论(0编辑  收藏  举报