为什么Schönfinkel致力于消除逻辑中的“绑定变量”如此重要?


15

AFAIK,使用高阶函数的第一个证据可以追溯到Schönfinkel在1924年发表的论文:“论数学逻辑的基础” –他允许一个将函数作为参数传递给其他函数。

这似乎很有趣。但是,我一直在阅读的有关他的作品的所有内容(以及扩展的Curry)似乎都暗示着某种形式的另一种事物:[高阶函数] ...这消除了对绑定变量的需要...

我没办法把头缠住-有什么大不了的?为什么当时的逻辑学家和数学家对此很关心?作为理论家,我们今天是否在乎这一点?为什么要摆脱绑定变量是“突破性的”,以及它对我们(我们知道的)理论上(或理论上)产生了什么影响?

PS:我知道他的工作是如何为微积分铺平道路的,以及“它”对总体计算和函数编程的影响。我的问题主要针对的是λ微积分创建之前和Schönfinkel论文发表之后的时间。库里(Curry)独立承担起那项工作的事实(后来被称为“组合逻辑”)也暗示了舍芬克尔工作的重要性。λλ


2
可以在这里找到Schönfinkel的论文。
Martin Berger

Answers:


17

TL; DR。绑定的元数学是微妙的:它们看起来微不足道,但不是—无论您是处理(高阶)逻辑还是𝜆微积分。它们是如此微妙,以致于具有约束力的表示形式形成了一个开放的研究领域,并在几年前举办了一场竞赛POPLmark挑战)。该领域的人们甚至开玩笑说绑定方法的复杂性。

因此,如果您关心元数学(大多数数学家并不关心),则需要处理绑定问题。但是,许多数学家可以安全地将绑定形式化视为“基础”问题。

另一点是,绑定是具有高阶函数的语言中唯一的“新”问题,因为具有绑定的语言的理论只是代数(对于常量)+绑定。米切尔(Mitchell)的“编程语言基础”实际上是以这种顺序呈现事物的,并且颇具启发性。

我知道他的工作如何为λ演算铺平道路,以及“它”对总体计算和函数编程的影响。我的问题主要针对的是λ微积分创建之前和Schönfinkel论文发表之后的时间。

我一定想念一些东西,但这句话似乎没什么作用。在高阶逻辑中进行绑定和在λ微积分中进行绑定似乎很困难,因此,只要人们关心高阶逻辑,就必须处理绑定。我偏向于使用基于Curry-Howard同构的定理证明,这些证明只是通过简单地执行类型理论(其中类型是公式,程序是证明项)来实现逻辑,因此我只处理绑定一次。

另一方面,IIRC当时确实很少有人关心Schönfinkel的工作-部分是因为他(没有)发表它-这些论文主要是由同事根据他所做的研究撰写的(请参阅此处,第4页) ; 然后,库里独立地重新发现了这一理论。

警告:我不是历史学家,而是PL的博士生,所以我的观点是现代的(希望是准确的)观点。

编辑:

为什么绑定比较细微,更具体一点

它有两个方面-首先,实现它很困难。其次,超数学是证明操纵的数学:这种操纵通常是自动的,也就是说,它是一种算法 -因此,从本质上讲,您面临实现的所有困难,并为其提供证明。下面我举个例子。这些示例具有现代观点-它们实际上是形式化的证明。但是,只要您不作弊,某些困难将扩展到准确的手动打样。

这表明Schönfinkel只是简单地为这个问题提供了第一个解决方案,但这远非确定的。

由于存在阴影,实现它很微妙

λFF 1个+F 2λXXλXX 1个+λXX 2λFXFFX λGÿG ÿ žλGÿG ÿ λGÿG ÿ žλÿλGÿG ÿ ÿ  ž

λXÿXÿλÿÿλÿÿ

更糟糕的是,当您已经知道问题时,很难构造幼稚算法的反例,更不用说不知道该问题了。几乎正确的算法中的错误通常多年未发现。我听说,即使是优秀的学生,也通常无法(靠自己)提出避免捕获替代的正确定义。实际上,博士生(包括我在内)和教授都无法摆脱这些问题。

这就是为什么有些人(包括本杰明·皮尔斯撰写的关于编程语言,类型和编程语言的最佳教科书之一)推荐无名表示的原因(尽管使用了不完全的组合逻辑,但使用了deBrujin索引)。

关于它的证明是微妙的

事实证明,如上所述,关于绑定的证明并不比实现简单。当然,存在正确的算法,并且存在关于它们的证明,但是没有先进的设备,对于每种使用装订的语言,您都需要重复这些证明,而如果您使用定义在笔和纸上装订的话,这些证明将非常庞大且令人讨厌。

一种一种

接下来,我查看了“最好的例子,如果您尝试对标准定义进行形式化会出问题”。Russell O'Connor(在此站点上的人)在Coq(上述类型的定理证明者)中形式化了第一个Gödel不完全性定理—并且该定理在另一个逻辑中(用的语法为第一个逻辑编码为数字)。他使用了纸上使用的定义,并将其直接形式化。搜索“替代”或“变量”,并计算它们在参考问题时出现的频率,以获得印象。 http://r6.ca/Goedel/goedel1.html

我在工作中从未使用过这些定义,但是每种替代方法都有一些缺点。


我偏向于使用基于Curry-Howard同构的定理证明,因此我只处理过一次绑定 -您能否详细说明您的意思?
博士

3
您确实说它很微妙,但是从不说到底是什么使它如此,如果您是一个超数学家,为什么还要关心它呢?这就是我要寻找的观点。
博士

关于您的第一条评论:我明确表示了与Curry-Howard的联系,但我将不得不向您介绍Wikipedia或其他问题。我同意你的第二点评论;我将为不熟悉lambda演算的人详细说明。
Blaisorblade 2015年

@PhD:我希望所添加的内容能对您有所帮助,尽管它并不能代替有关此材料的精彩讲座(不幸的是,我所涉及的材料通常分布在许多其他与PPL相关的材料中)。
Blaisorblade

1
万分感谢!确实有帮助。该链接可能也会使您感兴趣:home.uchicago.edu/~wwtx/Varfreelogic_revised.pdf-没有绑定变量的一阶逻辑。
博士
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.