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

第一章 什么是证明

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



本章内容:

  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



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

原文地址:https://www.cnblogs.com/Ayanowww/p/12217193.html

时间: 2024-10-12 08:03:38

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

JavaScript学习指南之第一章Hello JavaScript!最基础的JavaScript入门

JavaScript学习指南笔记 第一章 Hello JavaScript! JavaScript简介 JavaScript属于网络端的脚本语言. JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用. 能够与网页进行完美的集成.. 目前在因特网领域,也是比较流行的一种脚本语言. JavaScript是一种轻量级的编程语言. JavaScript是可插入HTML页面的编程代码. JavaScript插入HTML页面后,可有所有的浏览器所执行

Stealth视频教程学习笔记(第一章)

Stealth视频教程学习笔记(第一章) 本文是对Unity官方视频教程Stealth的学习笔记.在此之前,本人整理了Stealth视频的英文字幕,并放到了优酷上.本文将分别对各个视频进行学习总结,提炼出其中的知识点和思路思想. 视频地址在(http://www.youku.com/playlist_show/id_23389553.html),是一个Stealth的专辑,这里只放上第一个视频,其它的大家在上面的链接中慢慢看吧. 第二章有一个视频是FLV格式的,我没法把字幕嵌入其中,所以优酷上就

APUE学习笔记:第一章 UNUX基础知识

1.2 UNIX体系结构 从严格意义上,可将操作系统定义为一种软件(内核),它控制计算机硬件资源,提供程序运行环境.内核的接口被称为系统调用.公用函数库构建在系统调用接口之上,应用软件即可使用公用函数库,也可使用系统调用.shell是一种特殊的应用程序,它为运行其他应用程序提供了一个接口 从广义上,操作系统包括了内核和一些其他软件,这些软件使得计算机能够发挥作用,并给予计算机以独有的特性(软件包括系统实用程序,应用软件,shell以及公用函数库等) 1.3  shell shell是一个命令行解

学习笔记:第一章——计算机网络概述

学习笔记:第一章--计算机网络概述 1.0 计算机网络的定义:一些互相连接的,自治的计算机的集合称为计算机网路. 1.1 计算机网络在信息时代中的作用:连通和共享. 1.2 因特网概述:       网络的概念:网络(network)是由若干个结点(node)和连接这些结点的链路(link)组成. 网络中的结点可以是计算机,集线器,交换机和路由器: 网络和网络是通过路由器连接: 因特网是世界上最大的网络. 1.3 因特网的组成: 从因特网的工作方式上将其分为以下两大快: (1)边缘部分:由所有的

离散数学第一章【给广大不认真学习学生的福利贴】

第一章 1.1:集合和子集 空集:没有任何元素的集合 无限集合: 1. Z+:正整数集合: 2. N: 自然数集合: 3. Z: 整数集合 4. Q: 有理数集合 5. R: 实数集合 幂集:A的所有子集的集合. 基数:A中的不同元素的个数 1.2集合运算 并集∪:集合呈变大趋势 交集∩:集合呈变小趋势 补集:A-B={x|x∈A且x不属于B}: U-A: A的补集,{x|x∈U且x不属于A},符号:A上有"一", (AUB)的补集==A的补集∩B的补集 (A∩B)的补集==A的补集∪

《Mysql 公司职员学习篇》 第一章 小A的烦恼

第一章  小A的烦恼 ----- 为什么学习数据库 和 如何选择数据库 小A是某公司的职员,公司数据部的员工,平常的大小工作,完全离不开EXCELL,而最近小A却越来越苦恼,不由的向好朋友小Y吐槽.小Y是某互联网公司的程序员,拥有多年开发经验. 小Y:"小A,你最近'印堂发黑',越来越疲劳无力,怎么?工作上遇见什么难题了?". 小A:"唉,别提了,最近公司发展迅速,数据量越来越大,我那'极品'电脑,关打开EXCELL就要卡个半天,再加上处理和计算,一天下来,卡顿的时间,都够我

UNIX环境高级编程学习笔记(第一章UNIX基础知识)

总所周知,UNIX环境高级编程是一本很经典的书,之前我粗略的看了一遍,感觉理解得不够深入. 听说写博客可以提高自己的水平,因此趁着这个机会我想把它重新看一遍,并把每一章的笔记写在博客里面. 我学习的时候使用的平台是Windows+VMware+debian,使用secureCRT来连接(可以实现多个终端连接). 因为第一章是本书大概的描述,所以第一章的我打算写得详细一点,而且书本的原话占的比例会比较多,重点的东西会用粗体显示出来. 1.1  引言 所有操作系统都为他们所运行的程序提供服务.典型的

数学建模学习笔记(第一章:建立数学模型)

第一章:建立数学模型 1.    常见模型:是为了一定目的,对客观事物的一部分进行简缩.抽象,提炼出来的原型的替代物.其集中反映了原型中人们需要的那一部分特征. 实物模型:玩具.照片.飞机.火箭: 物理模型:水箱中的舰艇.风洞中的飞机: 符号模型:地图.电路图.分子结构图. 2.    建立数学模型的基本步骤:以航海为例 a) 做出简化假设:船速.水速为常数: b) 模型构成:用符号表示有关量:x,y表示船速和水速: 发挥想象力.使用类比法,机娘采用简单的数学工具. c) 用物理定律列出数学式子

OS X下UNIX环境高级编程(第三版)学习日志-第一章ChapterI,编译apue包与第一个例程

1.从网络上获取代码,地址如下apue最新官方下载地址 2.解压到本地 由于最新版本是第三版(3rd Edition),apue.3e,就是我们要的源代码 3.编译源代码 编译过程中笔者并未遇到任何问题,所以建议大家也下载最新版本的代码来学习,贴一下笔者的环境信息 Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple