Y组合器是否与Curry-Howard对应矛盾?


16

Y组合器的类型为。根据库里·霍华德 Curry-Howard)的对应关系,因为类型被居住,所以它必须对应于一个真定理。但是始终为真,因此似乎Y组合器的类型对应于定理,但并不总是正确的。怎么会这样?一种一种一种一种一种一种一种一种一种

Answers:


21

原始的Curry-Howard对应关系是直觉命题逻辑与简单类型的lambda演算之间的同构。

当然,还有其他类似Curry-Howard的同构。菲尔·沃德勒(Phil Wadler)著名地指出,双桶名“ Curry-Howard”预言了其他双桶名,例如“辛德利·米尔纳”和“吉拉德·雷诺兹”。如果“马丁·洛夫”是其中之一,那将很有趣,但事实并非如此。但是我离题了。

Y组合器与这一点并不矛盾,因为一个关键原因:它在简单类型的lambda演算中无法表达。

实际上,这就是重点。Haskell Curry在无类型的lambda演算中发现了定点组合器,并用它来证明无类型的lambda演算不是声音演绎系统。

有趣的是,Y的类型与逻辑悖论相对应,而逻辑悖论并不像它应该的那样广为人知,被称为库里悖论。考虑一下这句话:

如果这句话是对的,那么圣诞老人就存在。

假设句子是正确的。然后,很明显,圣诞老人会存在。但这恰恰是该句子所说的,因此该句子正确的。因此,圣诞老人存在。QED


6
圣诞老人不存在吗?
Andrej Bauer 2014年

11
他做到了,而我只是证明了这一点。
别名2014年

6
ew,我担心了片刻。
Andrej Bauer 2014年

9

Curry-Howard将类型系统与逻辑推导系统联系起来。除其他外,它映射:

  • 证明程序
  • 程序评估以证明转换
  • 真正命题的人种
  • 从类型系统到逻辑推理系统

一种b一种bÿλXXÿλX中号

Curry-Howard对应关系就是这样:对应关系。本身并不能说某些定理是正确的。它说可打字性/可证明性是从一侧传递到另一侧的。

Curry-Howard对应关系可用作许多类型系统的证明工具:简单类型的lambda演算,系统F,构造演算等。所有这些类型的系统都具有相应逻辑一致的属性(如果常用数学一致) )。它们还具有不允许任意递归的特性。Curry-Howard对应关系表明这两个属性是相关的。

Curry-Howard仍然适用于非终止型结石和不一致的推导系统。那里不是特别有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.