数学极客:什么是整数?

2018 年 8 月 21 日 遇见数学

一场别开生面的数学之旅!

从数字的基本概念到计算机程序设计的新发展


节选自《数学极客:探索数字、逻辑、计算之美》, 已获机械出版社授权许可, [遇见数学] 特此表示感谢! 




第二章 整数

             Integer

自然数是我们最先认识的数字,但是它们完全不够用。考虑到我们使用数字的方式,最后你不可避免地需要扩展,超出自然数的范围。

如果你去一家商店买东西,通过支付金钱来换取你想买的商品。可以用3美元买一些面包,如果你给店主5美元,店主需要找你2美元。

当你试图利用自然数去理解这个过程时,你会发现这个过程说不通。钱沿两个不同方向流动。第一个方向是从你流向商店——花掉你的钱;第二个方向是从商店流向你——得到找零的钱。正数和负数可以让我们区分这两个流动的方向。



2.1 什么是整数

如果你有自然数而想要整数,那么你不得不做的事是添加一个加法逆元。如果你理解自然数并且想进一步理解整数,那么你只需要添加一个方向。想象一个数轴,自然数从0开始向右延伸,和0的左边没有关系;整数在自然数的基础上,加上从0向左延伸的负数。

整数的含义遵从方向的概念。从基数和序数两个含义上来看,正整数和自然数一模一样。负整数可以让你往另一个方向移动。如果通过基数的方式来思考,整数可以描述在集合间移动元素。如果你有一个大小为27的集合和另一个大小为29的集合,那么为了让这两个集合的大小一样,你可以选择给第一个集合添加两个元素,或者从第二个集合中去除两个元素。如果你添加两个元素给第一个集合,那么你是在用正的基数做事情。如果你从第二个集合中去除两个元素,那么你是在用负的基数做事情。

从序数的角度讲就更容易理解了。如果你正在看一个集合里的第3个元素,然后想看第5个元素,那么就正向移动2步,这个动作是通过正的序数描述的。如果你正在看第5个元素,然后想看第3个,那么就往回移动2步,这个动作是通过负的序数描述的。

让我们转向公理化的定义。整数是通过给自然数添加一个逆规则延伸出来的数字。从自然数集合N开始,再加上皮亚诺规则,我们只需要额外添加一个加法逆元的定义。非零自然数的加法逆元就是负整数。为了得到整数,我们只需要添加下面两条新的规则。

加法逆元:对于任意一个非零的自然数n,总是存在一个不是自然数的数字-n,使得n+(-n)=0。我们称-n是n的加法逆元,称自然数集合和它们的加法逆元为整数。

逆元唯一性:对于任意的两个整数i和j,当且仅当i是j的加法逆元,j才是i的加法逆元。

通过这些规则,我们得到了新的事物。我们之前讨论的自然数不能满足这些规则。那么新事物(负整数)是从哪儿来的?

答案有点令人失望。它们并不是从哪儿来的,它们本来就存在。在数学里,我们不能创造物体,只能描述它们。这些数字(自然数、整数、实数)存在是因为我们定义了描述它们的规则,并且这些规则相互兼容地描述了一些事物。

对于所有这些,有一种时髦的说法:整数是包括零、正数和负数的所有数字。

类似地,如果你定义了自然数上的加法,加性逆元规则足够让加法同样适用于整数。并且,因为自然数的乘法只是重复的加法,所以乘法同样适用于整数。

向上滑动阅览简介及目录 

者:Mark C.Chu-Carroll 
出版社:机械工业出版社
出版年:2018年8月

扫描二维码或点击 【阅读原文】京东购买

数学是美丽的,它既有趣又令人兴奋,同时也很实用。本书探讨了两千多年的数学发展历程中一些伟大的突破和有趣的话题:从埃及分数到图灵机,从数字 的真正意义到证明树、群对称和机械化计算。如果你想知道高中几何课中难以完成的证明背后到底隐藏着什么,或者什么限制了计算机的能力,本书将会带你找到答案。

作者从数字的基础开始带你开启美丽的数学之旅,首先通过探讨一些有趣的和奇怪的数字,如整数、自然数、有理数、超过数、零、黄金比例、虚数、罗马数字、埃及分数和连分数,带你领略数字的趣味性、数字之美和数字之用,然后深入研究现代逻辑,包括线性逻辑、Prolog语言等,以及现代集合论和现代机械化计算的进展与悖论,带你感受数学的逻辑性和计算性。


目录

译者简介

前言

第一部分 数  字

第1章 自然数 /2

1.1 自然数的公理化定义 /3

1.2 使用皮亚诺归纳法 /6

第2章 整数 /8

2.1 什么是整数 /8

2.2 自然地构造整数 /10

第3章 实数 /14

3.1 实数的非正式定义 /14

3.2 实数的公理化定义 /17

3.3 实数的构造性定义 /20

第4章 无理数与超越数 /23

4.1 什么是无理数 /23

4.2 聚焦无理数 /24

4.3 无理数和超越数有什么意义,为什么它们很重要 /26

第二部分 有趣的数字第5章 零 /30

5.1 零的历史 /30

5.2 一个令人生厌的困难数字 /33

第6章 e:不自然的自然数 /36

6.1 无处不在的数字 /36

6.2 e的历史 /38

6.3 e有什么含义 /39

第7章 \[CurlyPhi]:黄金比例 /41

7.1 什么是黄金比例 /42

7.2 荒唐的传奇 /44

7.3 黄金比例真正存在的地方 /46

第8章 i:虚数 /48

8.1 i的起源 /48

8.2 i是做什么的 /50

8.3 i有什么意义 /51

第三部分 书 写 数 字

第9章 罗马数字 /56

9.1 进位系统 /56

9.2 这场混乱来自哪里 /58

9.3 计算很简单(但是算盘更简单) /59

9.4 传统的过失 /63第10章 埃及分数 /66

10.1 一场4000年前的数学考试 /66

10.2 斐波那契的贪婪算法 /67

10.3 有时美胜过实用 /69第11章 连分数 /70

11.1 连分数简介 /71

11.2 更干净,更清晰,纯粹是为了好玩 /73

11.3 作计算 /75

第四部分 逻  辑

第12章 斯波克先生与不符合逻辑 /80

12.1 什么是真正的逻辑 /82

12.2 一阶谓词逻辑 /83

12.3 展示一些新东西 /88

第13章 证明、真理和树 /93

13.1 用树来建立简单的证明 /94

13.2 零基础的证明 /96

13.3 家族关系的例子 /98

13.4 分支证明 /100

第14章 使用逻辑编程 /103

14.1 计算家族关系 /104

14.2 使用逻辑计算 /109

第15章 时序推理 /118

15.1 随时间变化的命题 /119

15.2 CTL擅长什么 /124

第五部分 集  合

第16章 康托尔对角化:无穷不仅是无穷 /128

16.1 朴素的集合 /128

16.2 康托尔对角化 /132

16.3 不要保持简单和直接 /136

第17章 公理化集合论:取其精华,去其糟粕 /139

17.1 ZFC集合论公理 /140

17.2 疯狂的选择 /147

17.3 为什么 /150

第18章 模型:用集合作为搭建数学世界的积木 /151

18.1 构建自然数 /152

18.2 从模型到模型:从自然数到整数,以及超越 /154

第19章 超限数:无限集的计数和排序 /158

19.1 超限基 /158

19.2 连续统假设 /160

19.3 无限何在 /161

第20章 群论:用集合寻找对称性 /164

20.1 费解的对称性 /164

20.2 不同的对称性 /168

20.3 走入历史 /170

20.4 对称性之源 /172

第六部分 机械化数学

第21章 有限状态机:从简单机器开始 /178

21.1 最简单的机器 /178

21.2 实际使用的有限状态机 /182

21.3 跨越鸿沟:从正则表达式到机器 /185

第22章 图灵机 /192

22.1 添加磁带让一切都变得不同 /193

22.2 变元:模仿机器的机器 /198

第23章 计算的核心与病态 /204

23.1 BF:伟大的、光荣的、完全愚蠢的 /206

23.2 图灵完备还是毫无意义 /209

23.3 从庄严到荒谬 /210

第24章 微积分:不是那个微积分,是\[Lambda]演算 /213

24.1 写\[Lambda]演算:几乎就是编程 /214

24.2 求值:运行 /218

24.3 编程语言与\[Lambda]策略 /221

第25章 数字、布尔运算和递归 /224

25.1 \[Lambda]演算是图灵完备的吗 /224

25.2 计算自身的数字 /225

25.3 决定?回到Church /228

25.4 递归 /231

第26章 类型,类型,类型:对\[Lambda]演算建模 /238

26.1 类型简介 /239

26.2 证明 /244

26.3 类型擅长什么 /246

第27章 停机问题 /248

27.1 一个杰出的失败 /249

27.2 是否停机 /251

参考文献 /256




2.2 自然地构造整数

我们可以自然地创建数学结构来表示整数。这些结构称为整数的模型。但是,为什么可以呢?另外,模型到底是什么呢?

在一个新事物(比如整数)的模型中,我们试图证明有某种方法可以让对象遵守我们定义的公理。出于这个目的,你可以选择已经知道的事物,把它们作为“建筑的积木”。使用这些积木,你构建一些新的事物,并且让它们遵守新系统的公理。例如,说到整数,我们将拿我们已经熟悉的自然数来当积木,然后用这些积木去构建能代表整数的事物。如果我们能证明这个模型里的事物遵守自然数的公理,那么就可以知道我们对整数的定义在数学上是相兼容的。

我们为什么要做这些呢?

有两个原因让我们去构建那样的模型:第一,一个模型能证明我们的公理是有意义的。当我们写一个公理集的时候,很容易搞砸,并且很意外地以不一致的方法写我们的模型。一个模型能证明我们没有搞砸。我们能写出一堆看起来合理的公理,但是它们可能存在一些细微的不兼容。如果真是如此,那么我们定义的事物就是不存在的,即使是在抽象的数学世界中。并且更糟糕的是,如果我们在这样的公理假设下工作,得到的每一个结论都是没有任何价值的。前面说过,整数存在的原因是我们定义了整数,并且这些定义在数学上是相兼容的。如果我们不能证明可以构建一个模型,那么就不能保证这些定义在数学上是相兼容的。

第二个原因没有第一个原因那么抽象:一个模型能让我们理解起来更简单,而且它可以描述我们构建的系统应该怎么运转。

在我们提及模型之前最后声明一次,理解这一点非常重要,我们正在做的是给出一个整数的模型,而不是这个整数的模型!我们现在做的是描述一种表示整数的可能方式,整数并不是下面即将展示的表示方式。因为整数可以有很多种表示方式,只要这些方式符合公理就可以使用。模型与它所建模事物之间的区别是微妙的,但它非常重要。整数是公理描述的事物,而不是我们的模型所构建的,模型只是其中的一种表示方式。

表示整数最简单的方式是用一对有序的自然数(a,b)来表示。一对自然数(a,b)代表整数(a-b)。显而易见,(2,3),(3,4),(18,19)和(23413,23414)都代表了同一个数。从数学的角度讲,整数是由这些自然数对的等价类组成的。

但是,什么是等价类?

当我们做构建一个整数模型这样的事情的时候,通常我们定义的方式不会针对每一个整数都创造出一个事物。我们所做的是定义了一个模型,针对这个模型里的每一个事物,该模型里有一个集合可以描述该事物,该集合里的值都是等价的。这一组等价的值叫作等价类。

我们定义的整数模型中,通过构造一对自然数来刻画一个整数。两对数(a,b)和(b,c)是等价的:如果它们的第一个元素和第二个元素的距离相等,并且方向相同。例如(4,7)和(6,9)。在一个数轴上,为了从4走到7,你不得不往右边走3步。为了从6走到9,你仍然不得不往右边走3步。所以,它们属于同一个等价类。但是,当你观察(4,7)和(9,6)时,为了从4走到7,你将不得不往右走3步;而从9到6,你将不得不往左走3步。所以它们不属于同一个等价类。

上面这种表示方式给了我们一个简单的方法,以便我们理解如何将自然数的各种数学运算应用到整数上。我们理解自然数加法的含义,因此就可以定义整数的加法。

如果你有这里的整数模型中的两个对象,把它们定义为一对自然数:M=(m1,m2)和N=(n1,n2)。它们的加法运算和减法运算的定义如下:

■ M+N =(m1+n1,m2+n2)。

■ M-N =(m1+n2,m2+n1)。

■ 一个数 N =(n1,n2) 的加法逆元记作-N,是将这对自然数颠倒顺序后的对:
-N =(n2,n1)。

减法的定义可以证明是非常漂亮的。3-5将等于(3,0)-(5,0),它与(3,0)+(0,5)=(3,5)是相等的,并且是-2这个等价类的一个成员。并且,加法逆元的定义也只是减法的一个自然延伸:-N=0-N。

从自然数到整数,我们只需要做的是:增加加法逆元。自然数的减法,通常也需要某种语义上的加法逆元,但是这通常会使事情变得复杂化。

问题是,如果只使用自然数,你没有办法定义两个自然数的减法操作。毕竟,如果你计算3-5,它的结果是没有办法使用一个自然数来表示的。但是使用整数,减法操作就实际可行了:对于任意的两个整数M和N,M-N还是一个整数。使用正式的术语,我们说减法对于整数来说是一个全函数,并且整数空间对于减法来说是封闭的

但是这也将我们引向了另外一个问题。当我们观察整数的加法运算时,就会很自然地想到减法这个加法逆元操作,并且这个操作可以通过整数的加法逆元来定义。当我们转向另一个常用的运算——乘法时,可以在自然数和整数上定义乘法,但是不能定义它的逆运算——除法,因为我们根本没有可能在整数上定义乘法逆元操作。为了将除法描述成一个定义明确的运算,我们需要有另外一种类型的数——有理数,这将在下一章介绍。(未完待续)

点击【阅读原文】京东进一步查看或购买此书

登录查看更多
0

相关内容

最新《自动微分手册》77页pdf
专知会员服务
100+阅读 · 2020年6月6日
机器学习速查手册,135页pdf
专知会员服务
338+阅读 · 2020年3月15日
【2020新书】简明机器学习导论,电子书与500页PPT
专知会员服务
200+阅读 · 2020年2月7日
人工智能学习笔记,247页pdf
专知会员服务
181+阅读 · 2019年12月14日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
面试时让你手推公式不在害怕 | 梯度下降
计算机视觉life
14+阅读 · 2019年3月27日
深度学习线性代数简明教程
论智
11+阅读 · 2018年5月30日
终于有人把云计算、大数据和人工智能讲明白了!
大数据技术
7+阅读 · 2018年4月2日
入门 | 这是一份文科生都能看懂的线性代数简介
机器之心
13+阅读 · 2018年3月31日
【干货】​深度学习中的线性代数
专知
21+阅读 · 2018年3月30日
机器学习不能做什么?
引力空间站
5+阅读 · 2018年3月28日
机器学习应该准备哪些数学预备知识?
AI100
4+阅读 · 2017年11月26日
神经网络中的「注意力」是什么?怎么用?
北京思腾合力科技有限公司
17+阅读 · 2017年10月28日
漫画:什么是Bitmap算法?
算法与数据结构
4+阅读 · 2017年8月6日
S4Net: Single Stage Salient-Instance Segmentation
Arxiv
10+阅读 · 2019年4月10日
Arxiv
4+阅读 · 2018年3月19日
Arxiv
7+阅读 · 2018年1月24日
VIP会员
相关VIP内容
最新《自动微分手册》77页pdf
专知会员服务
100+阅读 · 2020年6月6日
机器学习速查手册,135页pdf
专知会员服务
338+阅读 · 2020年3月15日
【2020新书】简明机器学习导论,电子书与500页PPT
专知会员服务
200+阅读 · 2020年2月7日
人工智能学习笔记,247页pdf
专知会员服务
181+阅读 · 2019年12月14日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
相关资讯
面试时让你手推公式不在害怕 | 梯度下降
计算机视觉life
14+阅读 · 2019年3月27日
深度学习线性代数简明教程
论智
11+阅读 · 2018年5月30日
终于有人把云计算、大数据和人工智能讲明白了!
大数据技术
7+阅读 · 2018年4月2日
入门 | 这是一份文科生都能看懂的线性代数简介
机器之心
13+阅读 · 2018年3月31日
【干货】​深度学习中的线性代数
专知
21+阅读 · 2018年3月30日
机器学习不能做什么?
引力空间站
5+阅读 · 2018年3月28日
机器学习应该准备哪些数学预备知识?
AI100
4+阅读 · 2017年11月26日
神经网络中的「注意力」是什么?怎么用?
北京思腾合力科技有限公司
17+阅读 · 2017年10月28日
漫画:什么是Bitmap算法?
算法与数据结构
4+阅读 · 2017年8月6日
相关论文
Top
微信扫码咨询专知VIP会员