今天开始离散数学的自学旅程。

主题:逻辑和证明

逻辑规则给出数学语句的准确含义。逻辑对计算机科学有着重要作用。为了理解数学,我么必须理解正确的数学论证是由什么组成的。只要证明一个数学语句是真的,我们就称之为定理。我们要学会如何理解和构造正确的数学论证。

1 命题逻辑

命题是一个或真或假的陈述语句,即一个陈述事实的句子,但不能既真又假。

涉及命题的逻辑领域称为命题演算或者命题逻辑。

1.1非命题,与命题和或命题的真值表

非命题,与命题和或命题的真值表如下

1.2 条件命题

令 p 和 q 为命题,条件语句 p → q 是命题“若 p ,则 q ”。当p为真,而q为假的时候,提哦啊兼语句 p→ q为假,否则为真。p 称为假设(或者前项,前提),q称为结论(或者推论)。

真值表如下:

表示 p → q 的术语有很多:

为了便于理解条件语句,举例如下,帮助理解:

命题:教授承诺,期末考试考了一百分,期末成绩能拿到A。

此时 p 为“期末考试考了一百分”,而 q 为 “期末成绩能拿到A”。表述条件就是 if p ,then q。考生期末考了一百分,但是没有得到A,也就是 p 为真,而 q 为假,那么整个命题就是假,也即是教授失信了,被骗了。其他情况都是真的。假如考生没有拿到一百分,那么期末成绩不一定就不是A,因为可能由其他因素决定。

注意,表述 p → q 是可以用 p only if q,这个句子是和 if p ,then q 等价的。很多人都是表述称 q only if  p。p only if q 说的是当q不为真时,q也不能为真。拿上面的例子来说明一下,期末成绩能拿到A不为真时,那么考生就是期末没有考到一百分,q也不是为真,如果q为真,那么整个命题就是假的,也即是教授说谎。但是考生期末考试没有拿到一百分,那么期末成绩会不会拿到A呢? 答案是不知道,因为此时q的真值并没有从命题体现出来,也即是说不管考生拿到的是不是A,也就是说不管q是不是真,教授都没有失信,那么整个命题那就是真的。

1.3 逆 反 和倒置

(懒得打字,就只好贴图了,莫见怪)

两个命题总是具有相同的真值时,我们称之为等价。

<离散数学>学习笔记1--逻辑和证明的更多相关文章

  1. Underscore.js 源码学习笔记(下)

    上接 Underscore.js 源码学习笔记(上) === 756 行开始 函数部分. var executeBound = function(sourceFunc, boundFunc, cont ...

  2. 《Java编程思想》学习笔记(二)——类加载及执行顺序

    <Java编程思想>学习笔记(二)--类加载及执行顺序 (这是很久之前写的,保存在印象笔记上,今天写在博客上.) 今天看Java编程思想,看到这样一道代码 //: OrderOfIniti ...

  3. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

  4. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  5. [DL学习笔记]从人工神经网络到卷积神经网络_1_神经网络和BP算法

    前言:这只是我的一个学习笔记,里边肯定有不少错误,还希望有大神能帮帮找找,由于是从小白的视角来看问题的,所以对于初学者或多或少会有点帮助吧. 1:人工全连接神经网络和BP算法 <1>:人工 ...

  6. Hibernate学习笔记(二)

    2016/4/22 23:19:44 Hibernate学习笔记(二) 1.1 Hibernate的持久化类状态 1.1.1 Hibernate的持久化类状态 持久化:就是一个实体类与数据库表建立了映 ...

  7. JUC.Lock(锁机制)学习笔记[附详细源码解析]

    锁机制学习笔记 目录: CAS的意义 锁的一些基本原理 ReentrantLock的相关代码结构 两个重要的状态 I.AQS的state(int类型,32位) II.Node的waitStatus 获 ...

  8. Sqlite学习笔记(四)&&SQLite-WAL原理

    Sqlite学习笔记(三)&&WAL性能测试中列出了几种典型场景下WAL的性能数据,了解到WAL确实有性能优势,这篇文章将会详细分析WAL的原理,做到知其然,更要知其所以然. WAL是 ...

  9. Activiti 学习笔记记录(二)

    上一篇:Activiti 学习笔记记录 导读:对于工作流引擎的使用,我们都知道,需要一个业务事件,比如请假,它会去走一个流程(提交申请->领导审批---(批,不批)---->结束),Act ...

随机推荐

  1. startActivityForResult和setResult详解

    http://www.cnblogs.com/lijunamneg/archive/2013/02/05/2892616.html startActivityForResult与startActivi ...

  2. Spring MVC返回json数据给Android端

    原先做Android项目时,服务端接口一直是别人写的,自己拿来调用一下,但下个项目,接口也要自己搞定了,我想用Spring MVC框架来提供接口,这两天便抽空浅学了一下该框架以及该框架如何返回json ...

  3. MVC中javascript直接调用Model

    最近做一个统计页面, Model从后台已经获取了数据集合,想直接在前台展示,而这个展示是需要用js生成图表的. 控制器部分代码: public ActionResult Index() { var m ...

  4. windows Server 2008 -必须使用“角色管理工具”安装或配置Microsoft .Net Framework 3.5

    在windows Server 2008上安装 .Net Framework 3.5的时候,报错:必须使用“角色管理工具”安装或配置Microsoft .Net Framework 3.5. Solu ...

  5. 一些硬件厂商的MAC号

    http://standards.ieee.org/develop/regauth/oui/oui.txt https://svn.nmap.org/nmap/nmap-mac-prefixes

  6. Deep Learning学习随记(二)Vectorized、PCA和Whitening

    接着上次的记,前面看了稀疏自编码.按照讲义,接下来是Vectorized, 翻译成向量化?暂且这么认为吧. Vectorized: 这节是老师教我们编程技巧了,这个向量化的意思说白了就是利用已经被优化 ...

  7. iOS GCD多线程介绍

    GCD:是纯C语言写的,是苹果公司为多核的并行运算提出的解决方案. GCD的两个核心概念: - 任务 - 队列 将任务添加到队列中 GCD会自动将队列中的任务取出,放到对应的线程中执行 任务的取出遵循 ...

  8. 每天一条linux命令——login

    login命令用于给出登录界面,可用于重新登录或者切换用户身份,也可通过它的功能随时更换登入身份.当/etc/nologin文件存在时,系统只root帐号登入系统,其他用户一律不准登入. 语法: lo ...

  9. smarty 的学习----ubuntu下初步配置

    转自:http://blog.csdn.net/ma332567575/article/details/7904124 首先去www.smarty.net下载最新版的Smarty 把下载后的压缩包在网 ...

  10. 《du命令》-linux命令五分钟系列之三

    本原创文章属于<Linux大棚>博客. 博客地址为http://roclinux.cn. 文章作者为roc 希望您能通过捐款的方式支持Linux大棚博客的运行和发展.请见“关于捐款” == ...