数学联邦政治世界观
超小超大

Haskell和自然数之基础篇(一) (5-1)

对自然数的理解,是随着自己的成长而不断深入的。在小学的时候觉得很自然就理解了,很自然就用起来了,加、减、乘和整除很自然就学会了,感觉没有什么障碍。到了初中的某一天,突然想到一个问题:1 + 1为什么就是等于2呢?没有理由的就指定了是2,没有推导和证明的过程,感觉很不自然。于是自己思考了好几个月,觉得似乎想通了,写了一篇文章,然后被一些同学嘲笑了。现在也想不起来当时写的是什么了,那篇文章也不知道遗失到哪里去了,不过应该还是没有写清楚究竟为什么1 + 1等于2,要不然我是不会忘记写的是什么的。于是这个令人疑惑的问题一直困扰着我,一直到参加工作,也依然时不时会惦记着这个问题。

直到我学习了Haskell,看到一篇关于自然数的表示文章,用Haskell清晰的定义了自然数,定义了自然数的加法和乘法。我终于明白了1 + 1为什么就是等于2,这个从自然数的定义和加法的定义很自然就可以推导得到了,证明起来很容易。在这之后,又看了皮亚诺公理的自然数定义,对自然数的定义更加清楚了。在这之前,我听说过皮亚诺公理,但是并不感兴趣,还感受不到自然数公理化的意义,所以并没有去看。

大概两个月前,我收到了刘新宇的新书《同构--编程中的数学》,看到了这本书中对自然数的论述,然后又重温了丘奇数的概念。觉得可以写点关于自然数的东西了。这是一个系列,有两篇文章:第一篇讲自然数和丘奇数的基础概念和构造,以及在其上的基本运算,第二篇讲自然数的变换,结合F-Alg来讲如何消除自然数的结构得到其他的类型的值。

好了,让我们从一无所知的状态来开始了解什么是自然数吧。我们最早了解自然数是从数数开始的,当我们不知道桌上一堆东西有多少个时,最简单的办法就是数一数有多少个。数一下手指头是1 个,数两下手指头是2 个,数三下手指头是3 个,这样一直数下去,直到数完了这堆东西。于是我们就得到了一系列的数:1, 2, 3, ...,这些数和数手指头的次数的对应关系如下。

1 : 数一下手指头

2 : 数两下手指头

3 : 数三下手指头

......

当桌上没有东西的时候,我们就不用数手指头了,因为什么都没有,所以什么也不用做。这个时候我们用0 个来表示桌上东西的数量。于是有下面这个新的数和数手指头的次数的对应关系。

0 : 什么也不做

1 : 数一下手指头

2 : 数两下手指头

3 : 数三下手指头

......

因为我们一无所知,就像幼儿园的小朋友一样,还弄不明白两下、三下是怎么来的,是什么意思。我们再来看一遍我们数数的过程,一开始是什么也不做,然后将一个东西摆到桌子的另一边,做一次数手指头的动作,再将一个东西摆到桌子的另一边,再做一次数手指头的动作,这样每将一个东西摆到桌子的另一边,我们都接着做一次数手指头的动作,直到把桌子上的东西数完。于是我们就得到一个数手指头的动作的序列,这个数手指头动作的序列的次数就是东西的个数。因此有下面的数和数手指头的动作序列的对应关系。

0 : 什么也不做

1 : 数手指头 什么也不做

2 : 数手指头 (数手指头 什么也不做)

3 : 数手指头 (数手指头 (数手指头 什么也不做))

......

我们把上面的什么也不做用O 来表示,把数手指头这个动作用S 来表示,于是上面的数和数手指头的动作序列的对应关系就变成了下面这样。

0 : O

1 : S O

2 : S (S O)

3 : S (S (S O))

......

数学联邦政治世界观提示您:看后求收藏(同人小说网http://tongren.me),接着再看更方便。

相关小说

坠幻 连载中
坠幻
远方有鹿
○性格朦胧少女X十一位女巫外加一个开朗十五岁少年○少女一觉醒来穿【世界】里去了?○开启与现实世界相对应的旅程吧!
2.3万字5个月前
他们的综艺节目 连载中
他们的综艺节目
受伤的他
跟暴身份差不多
1.0万字4个月前
妖娆魔王 连载中
妖娆魔王
铁锅炖肉
毁天灭地、不可一世的妖孽魔王没有拿不下的石榴裙,更没有驾驭不了的世家公子、王公贵胄,杀敌于无形,魅惑于无影,自问风光恣意,举世无双,却没想到......
13.3万字4个月前
动物管理局之朱雀临世 连载中
动物管理局之朱雀临世
一只茶杯猫
如果郝运是从别的地方穿越而来的,并且是一只可以男女转换的朱雀,那故事会不会不一样?弃更!!!
6.3万字4个月前
禁忌又开始作妖了 连载中
禁忌又开始作妖了
霖不甘屿
——雨夜里涌现黎明————万光下冲破黑暗——【历代神明烬煜】想知道烬煜是什么吗,他(她)们是被世人摒弃,最后崩溃选择若狰的救世主。当初创世神......
12.4万字4个月前
希腊神话:冰封之雪 连载中
希腊神话:冰封之雪
月狸子
洛佩斯从山的顶峰诞生,于是世上有了冰雪与冬
0.0万字4个月前