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

类型论概论与Curry-Howard对应 (2-1)

plus_comm =

fun nm :nat =>

nat_ind(fun n0 :nat => no + m=m +n0)

(plus_n_0 m)

(fun (y :nat)(H:y + m=m+y)=>

eq_ind(S(m + y))

(fun no :nat => S (y +m)=n0)

(f_equal S H)

(m + S y)

(plus_n_Sm m y))n

:forallnm:nat.n+m=m+n

一 数学的根基是什么?

数学的根基是什么?这是数学家们一直在追寻的问题。我们公认的基础是形式系统。把数学公式的书写从意义独立出来,以此来保持数学本身的严谨性。而公式的意义可以在严谨的推理之后在去赋予。我们举个非常简单的形式系统的例子[1]:

pq形式系统:

1 ‘pyq‘y 是一个公式,其中 y 表示任意数量的 ‘ 。

2 如果 xpyqz 是公式,其中 x,y,z 表示任意数量的 ‘ ,那么 ‘xpyq‘z 也是一个公式。

我们来推导一些定理吧(定理指的是可以由形式系统的规则推出的公式)。

pq定理1: ‘p‘q‘‘ 是公式。

证明:在规则1中令 y=‘ 即可。

到目前为止,这个形式系统只是一串没有意义的符号罢了。但是,我们马上就可以赋予它意义。事实上,这个形式系统刻画的是正整数的加法。p代表plus(加),q代表equal(等于)。

当然,我们还可以赋予它其他的意义,比如p代表“是相反数”,q代表“减”。

通常,我们先把逻辑推演先以形式系统的方式定义好,然后定义我们想要研究的对象(譬如自然数、四则运算)。这些对象满足一些公理。

集合论是其中一种:由空集开始,把各种数学概念编码成集合的结构。从这一点出发数学家提出了很多套集合论的公理。这在后面的文章里会讲到。

另一种可以作为数学根基的便是类型论。至于它有什么特别之处,以后便会讲到。

二 类型论与编程

我们先来看看编程中的类型系统。这方面比较接近Martin-Löf的理论的语言有ML类(比如OCaML)、Haskell与Lisp(这个不太清楚)。我们直接拿Haskell做例子。

我们可以很自然的引出函数类型:给一个 A 类型的元素,返回一个 B 类型的元素。记作 A → B 。换成代码就是:

f :: A -> B

那么如果

x :: A

就有

f x :: B

同样自然地可以得到积类型:一个有序对,其中前一项是 A 类型,后一项是 B 类型。记作 A × B 。这在Haskell(以及大部分支持元组的编程语言中)就是

a :: A

b :: B

(a, b) :: (A, B)

不过这里用同样的记号表示元素与类型,私以为不好。

我们常用的None(Python),属于Nonetype,就是只能有一个值的类型,称为1类型。在Haskell中,可以用空元组表示(事实上,这是积类型的单位元,也就是它称为1的原因):

()

但是一般语言中没有的特性是依赖类型,这在后面的文章中会介绍。

三 类型论与逻辑

那么类型论怎么充当数学根基的角色呢?

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

相关小说

哀伤的星际复仇天使 连载中
哀伤的星际复仇天使
摇滚浑蛋
俐莎是个未来世界特种部队成员,在执行任务时被找到支离破碎。她与魔鬼签了黑色协议后变成了半机械人,回到银河系找坏人报仇。
2.6万字1个月前
永恒破败失落之地 连载中
永恒破败失落之地
书奶
1.0万字1个月前
开心超人之暗魔和小心的恋爱 连载中
开心超人之暗魔和小心的恋爱
夜梦韩
作者:本人有一些觉得,暗魔好像和小心很配哦!伽罗:作者,纳命来!作者:啊啊啊啊啊啊!暗魔:伽罗,你的小心归我啦!伽罗:暗魔!暗魔:啊啊啊啊啊......
2.3万字1个月前
我在无限游戏里破局 连载中
我在无限游戏里破局
笙箫暮年
[双男主+双强1v1+无限流+爽文+逃生直播]时轩瑾重回游戏开始的时空。在所有玩家都对突如其来的副本游戏避之不及的时候,时轩瑾掐着上一次每一......
1.4万字1个月前
舒克贝塔之爱恋 连载中
舒克贝塔之爱恋
一只普通的爱嗑瑞嘉雷祖雷帕贝舒的渣渣
简介正在更新
0.4万字1个月前
三生三世枕上书番外 连载中
三生三世枕上书番外
春沐雪
(作者喜欢迪丽热巴,也喜欢这本书,所以决定自己写写)我命由我不由天,即使三生石没有我的名字,我也要与他斗到底!因为……我喜欢你
1.2万字1个月前