相关:

[第一数学归纳法 vs 第二数学归纳法 vs 良序定理](http://www.cnblogs.com/liqiuhao/p/7799269.html)

首先不要把良序原理(Well-ordering principle)和良序定理(Well-ordering theorem)混淆了。良序原理的关键点在于非空和非负整数——空的集合没有元素; 包含负数或者正有理数的集合也可能没有最小数。虽然看起来很简单,但它是离散数学里最重要的原理之一。

良序原理的使用方法一般都相似。例如,我们要证明对于所有的属于N集合的元素n,P(n)都成立:

设存在集合C,C中的元素为P的反面例子,也就是说,C ::= {n belongs to N | NOT(P(n)) is true}。

假设C是非空的(反证)。

由良序原理,C中会有一个最小的元素n。

推出一个矛盾的结果。例如P(n)事实上是正确的,或者C存在一个比n还要小的元素使得P(n)不成立等等。

得出结论,C一定是空集,即不存在属于N的元素使得P(n)不成立。

算术基本定理,又称为正整数的唯一分解定理,即:每个大于1的自然数均可写为质数的积,而且这些素因子按大小排列之后,写法仅有一种方式。

下面利用良序定理对其证明。

必然性:

设存在集合C,C中的元素为大于1的自然数,且不能写成质数的乘积。

假设C是非空的。

由良序原理,C中存在一个最小的元素n,n不能写成质数的乘积。

由C的性质,n不能是一个质数,因为质数分解因式只能得到本身即质数的乘积,所以n可以写成a * b。由 a > 1, b > 1,所以a < n, b < n,所以a, b不属于集合C(n是最小的元素),即a和b都可以写成质数的乘积。a = p1*p2...*pn, b = q1*q2...*qn, 所以n = p1*p2...*pn*q1*q2...*qn,即n可以写成质数的乘积。矛盾。

得出结论,C一定是空集,即大于1的自然数均可写为质数的积。

唯一性:

设存在集合C,C中的元素为大于1的自然数,且可以以多于一种的方式写成多个质数的乘积。

假设C是非空的。

由良序原理,C中存在一个最小的元素n,n可以以多于一种的方式写成多个质数的乘积。

同必要性证明,n不可能是一个质数,设n = p1*p2...*pn = q1*q2...*qn,其中p序列和q序列存在不相同的值,则p1整除q序列中的一个元素qk(可以用裴蜀定理证明),由于qk也是质数,所以qk = p1,所以存在一个比n小的元素n',使得n' =p2...*pn = q1* ... *qn(不包含qk),所以n‘也满足C要求的性质。矛盾。

结合必然性的证明,得出结论。每个大于1的自然数均可写为质数的积,而且这些素因子按大小排列之后,写法仅有一种方式。

良序集合:如果一个实数集合的每个非空子集都有一个最小的元素,就说该集合是良序的。在计算机领域中,良序的概念经常会用来证明程序是可终止的。通常的方法是证明算法中存在一个每次成功运算后其规模都会变小的值,如果这个值属于一个良序集合,那么这个运算就是可终止的——因为如果不会终止,那么这个值就会导致良序集合存在一个没有最小值的非空子集。我后面在复习状态机的时候会把更具体的操作写上来的。

下面还有几个良序原理的一般化和推广,就不一一证明了:

任何一个有下界的整数集合都是良序的,其中的下界是指对于一个实数集合S,存在下界b使得S的任何元素都大于等于b。

任何一个有上界的整数集合都有最大值,其中的上界是指对于一个实数集合S,存在上界b使得S的任何元素都小于等于b。

任何非空有限实数集合都是良序的。

参考:

算术基本定理证明用计算机,良序原理:算术基本定理的证明相关推荐

  1. 计算机组成原理算术逻辑实验,《计算机组成原理》算术逻辑运算实验报告.doc...

    <计算机组成原理>实验报告 实验名称: 算术逻辑运算实验芯片(LS181)的逻辑功能运算器数据的入.读取方法掌握模式的设置 3在不同模式下运算 三.实验原理 1.74LS181封装图 A0 ...

  2. 职称英语计算机免试审批表,职称计算机用人部门盖章的查询证明.doc

    职称计算机用人部门盖章的查询证明 职称计算机用人部门盖章的查询证明 篇一:职称上交 附件5: 申报评审材料规范性要求-装订册目录(用于高职申报) 目 录 申报材料真实性承诺书------------- ...

  3. 2022考研计算机-数据库原理教程1-7章

    文章链接 https://gitee.com/fakerlove/database-management-system 数据库系统概论-第五版 1. 绪论 1.1. 数据库4个基本概念 1.1.1. ...

  4. 堆栈计算机的原理和实现

    堆栈计算机的原理和实现 原书< Stack Computers: the new wave > (原书封面) 原作者 Philip J. Koopman, Jr. 编译者 赵宇 张文翠 这 ...

  5. 计算机操作系统(12):计算机工作原理

    计算机工作原理 编辑 计算机的基本原理是存储程序和程序控制.预先要把指挥计算机如何进行操作的指令序列(称为程序)和原始数据通过输入设备输送到计算机内存贮器中.每一条指令中明确规定了计算机从哪个地址取数 ...

  6. 计算机工作原理与系统组成?,计算机工作原理及系统组成

    计算机工作原理及系统组成 (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 计算机工作原理及系统组成计算机的工作原理半个世纪以来,计算机已 ...

  7. 终于有大佬把“计算机底层原理“全部总结出来了

    计算机的历史 算盘和机械计算机 有很多民族自豪感爆棚的兄弟会把算盘当成计算机的起源,还有爆破天的兄弟会把阴阳当成二进制0和1的起源,我觉得这件事儿就有点儿不靠谱了 如果非要追究计算机的鼻祖,那就得讲讲 ...

  8. 终于有人把“计算机底层原理“整理出来了

    计算机的历史 算盘和机械计算机 有很多民族自豪感爆棚的兄弟会把算盘当成计算机的起源,还有爆破天的兄弟会把阴阳当成二进制0和1的起源,我觉得这件事儿就有点儿不靠谱了 如果非要追究计算机的鼻祖,那就得讲讲 ...

  9. 北大博士把“计算机底层原理“讲的如此通俗易懂

    计算机的历史 算盘和机械计算机 有很多民族自豪感爆棚的兄弟会把算盘当成计算机的起源,还有爆破天的兄弟会把阴阳当成二进制0和1的起源,我觉得这件事儿就有点儿不靠谱了 如果非要追究计算机的鼻祖,那就得讲讲 ...

最新文章

  1. python requests 示例_python的requests模块实现登陆示例
  2. java 嵌入qtwebkit_实现js与Qt程序的交互(使用QtWebkit)
  3. 刺激(codevs 1958)
  4. 如何用计算机组添加打印机共享的打印机,工作组内打印机如何共享?
  5. 基于Rx-netty和Karyon2的云就绪微服务
  6. Ubuntu下svn 版本管理客户端工具及常用方法
  7. 不能从const char *转换为LPCWSTR --VS经常碰到
  8. 什么是端到端的训练或学习?
  9. 快速导入Maven依赖的方法
  10. 单体 soa 微服务 区别_程序员必须要知道的SOA和微服务的区别
  11. VBS教程---第一篇
  12. mysql监听显示syn_sent,TCP协议端口状态说明:CLOSE-WAIT、TIME-WAIT 、LISTENING、SYN_SENT、ESTABLISHED、LAST-ACK ......
  13. MOSS系列一 MOSS的安装
  14. 等保2.0中的工业控制系统(ICS)指的是什么
  15. 最短路径算法|Dijkstra‘s Algorithm
  16. POJ - 1625 Censored!
  17. 控制面板里卸载软件的入口注册表项
  18. DNF史诗计算机最新版,dnf全职业史诗装备搭配计算器2020
  19. 架构设计文档模板之1:备选方案模板
  20. python的输出语法_Python入门语法综述

热门文章

  1. 一文详解神经网络与激活函数的基本原理
  2. ECCV 2020 | 史上最强二值化网络ReActNet,精度首超ResNet
  3. 最少预算覆盖最多应用,高性价比小企业服务器服务器榜单
  4. 成为大厂AI算法工程师,“NLP/CV”都是你必须过的坎!
  5. 从CNN视角看在自然语言处理上的应用
  6. 联发科mtk和骁龙730哪个好_天玑720和骁龙730g哪个好?两款处理器应该如何选择?...
  7. Spring Cloud Gateway——2020.x以上版本HTTP 503 或 NoLoadBalancer[负载均衡]解决方案
  8. 牛客题霸 NC6 二叉树的最大路径和
  9. 《移动应用开发》实验报告——简单的品牌列表
  10. 冒泡排序(Bubble_Sort)