没有多态Lambda演算的朴素集理论模型?


15

在菲利普·沃德勒(Philip Wadler)关于免费定理的论文中,他在关于参数性的第二节中指出

没有多态lambda演算的幼稚集理论模型

在朴素的集合理论模型中,类型是集合,函数是集合理论函数,这似乎是合理的。那么,为什么他说没有多态Lambda演算的幼稚集合论模型呢?


5
好的,我偶然发现了这篇论文:hal.inria.fr/inria-00076261/document。我将不得不耕种它。
MK

3
雷诺兹的那篇论文确实是正确的论文!省略了许多细节,可以总结为:考虑data T = K ((T -> Bool) -> Bool)。然后,T((T->Bool)->Bool)是同构的。如果它们具有->表示函数空间(作为集合)的集合模型,则后者具有较高的基数,因此不能与成为同构T。因此,在模型中,我们需要以->不同的方式进行解释-例如作为连续函数的空间。

我回答太快,回答了错误的问题。对于那个很抱歉。天真的集合论中多态Lambda演算不具有模型的原因显然与未类型化Lambda演算的模型完全不同。

Answers:


12

您正在寻找的标准参考确实是Reynold的Polymorphism不是Set Theoretic。尽管很明显您无法使用通常的集合理论积在所有集合上形成乘积,但这是一个合法且非平凡的问题,即是否存在一些弱项在保持常规二进制乘积和函数空间同时,将起作用的乘积概念。Π小号小号ËŤ小号×

事实证明,这也不可能,因为一方面,很容易构建类型,使得解释至少包含2个元素,并证明与同构,这对于通常的cantor悖论对的解释是不可能的。从这个意义上讲,它有点类似于无类型演算的证明。2Ť=ΠXX22Ť22

请注意,安德鲁·皮茨(Andrew Pitts)撰写的另一篇论文《建设性地设定了多态性》,通过证明上述矛盾只能在经典集合论中进行构造,并且存在一些可以使多态性构成的建构理论,在某种程度上推翻了这一结论。用函数空间和乘积的通常解释来解释。最值得注意的是,这些“大产品”存在于“有效主题”中,Phoa提供了最全面的介绍。

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.