简单输入的lambda演算和高阶逻辑


11

简单类型的lambda演算与高阶逻辑之间有什么关系?

在库里-霍华德看来,简单键入的λ演算似乎对应于命题逻辑。它与高阶逻辑有什么关系?根据Geuvers的本教程:http ://typessummerschool07.cs.unibo.it/courses/geuvers-1.pdf,HOL 的语言似乎是STT。不应该是PROP吗?那是什么意思?

在定义STT时,Church是否考虑过HOL?


6
是的,Church确实考虑到了HOL。从STT获得HOL的技巧是使用除函数应用程序和函数抽象之外的相等性。然后,您可以将编写为等。我喜欢“简单类型理论的七个美德”作为STT的简介,它解决了此类问题。也许我应该写个答案...(x:α.A)(λx:α.A)=(λx:α.)
Thomas Klimpel 2014年

因此,当谈论Curry-Howard时,与STT等效的正确逻辑是什么?HOL还是PROP?
lambda2

关于库里-霍华德,它不认为这是HOL。可能是直觉型PROP的乘法片段,即没有“或”的直觉型PROP。但这是针对CCC(笛卡尔封闭类别)的,此刻我有点累。Lambda可能会翻译为“蕴涵”,这在CCC中是“指数”的。CCC的“产品”是“和”,因此您需要在STT中使用“对”。然后,“或”将是STT中的“求和”类型,即不相交的并集,如果是“ a”,则为“ b”,否则为“ c”。
Thomas Klimpel

我想让我感到困惑(或一切)。如果STT〜= PROP(通过Curry-Howard),并且STT也是HOL,那么我可以在某种意义上使用PROP进行HOL吗?
lambda2 2014年

1
@ThomasKlimpel:您应该将您的评论变成答案。
科迪2014年

Answers:


10

区别是:如果在类型级别添加构造函数时将STLC视为原始语言,则少量公理就足以为您提供HOL的完整表达能力。

将作为数字的基本类型并将作为命题的基本类型,您可以添加常量 ιο

τ:(το)ο⊃:οοο

其中是任意类型(因此每种类型都有一个常量)。一组可能的公理:τ

ϕ(x)τ(λx.ϕ(x))x:τ not free in the hypotheses

[ψ]...ϕψϕ

其中表示假设已解除。有趣的事实:其他 ...可以仅从这两个词派生。[ψ]ψτ,

精妙之处在于可以区分术语,以表示证明的一种方式,这是由Curry-Howard-de Bruijn(Martin-Löf)对应关系所表示的,或者是一种表示您依据的术语的方式。当然,这两种观点并不矛盾。λ

特别是,有一个类型化的 -calculus忠实地表示HOL(当然要减去各种公理)。这恰好是构造微积分的一个子系统,Geuvers在《构造微积分和高阶逻辑》中对此进行了详细描述。他还详细介绍了两者之间的区别(CoC不是HOL的保守扩展)。λ


1
我忘了要注意:如果您添加以及一些聪明的公理,那可以避免添加和,这就是Thomas所建议的。τ=τ:ττο
2014年

请问那些聪明的公理是什么?我想这与提供一种证明相等性的方法有关……另外,您是否知道一个明确区分HOL扩展级别的名称?(具有相等性,然后具有多态类型,然后具有依存类型)。
Hibou57

1
@ Hibou57公理在出色的文章“简单类型理论的七个美德”中进行了概述。我不知道除了您使用的扩展名以外,还有其他显式名称来区分STT的不同扩展名。
科迪
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.