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

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),接着再看更方便。

相关小说

病态痴汉强制沦陷 连载中
病态痴汉强制沦陷
承泽若锦
0.6万字1个月前
末画——永恒之爱 连载中
末画——永恒之爱
初夏∂柠檬
你要问,什么是爱?你要问,什么是永恒之爱?当你看到流星划过那片熟悉的天,你心里会不会想起一个人,以及她拥有的,向日葵般的笑脸?当你看到阳光明......
12.1万字4周前
喜美:逆珖 连载中
喜美:逆珖
慕晚a
“虚伪”〔喜美第一季〕(聪明痞帅喜×神秘少女美拟人化不喜勿喷)
3.2万字4周前
倒流时光的胶囊 连载中
倒流时光的胶囊
紫米zm
一位高中女生偶然间获得了一种可以让时间倒流的胶囊,但一共就只有十颗,她会如何使用呢……
13.9万字4周前
神明不会低语 连载中
神明不会低语
浔溺
【原创短篇】我暗恋的人,给我造了一个囚笼。
2.9万字4周前
师父为夫:萌徒养成手册 连载中
师父为夫:萌徒养成手册
魂归暮里
【已签约】南笙璃作为仙狐族唯一公主,被人陷害降生凡间南渊皇族本应早夭的公主身上,天生魂魄残缺,却被绝美国师所救并收其为徒。国师将她一手带大,......
7.7万字4周前