许多教科书都涵盖了lambda微积分中的交集类型。交集的键入规则可以定义如下(在带有子类型的简单键入的lambda演算的顶部):
交叉点类型在归一化方面具有有趣的属性:
- 一个lambda长期不使用键入的治当且仅当它是强烈正火。
- 一个lambda项接受一个不包含的类型,只要它具有正常形式。
如果不添加交集而是添加并集怎么办?
具有简单类型,子类型和联合的lambda微积分是否具有任何有趣的相似性质?可以用工会打字的术语如何表征?
许多教科书都涵盖了lambda微积分中的交集类型。交集的键入规则可以定义如下(在带有子类型的简单键入的lambda演算的顶部):
交叉点类型在归一化方面具有有趣的属性:
如果不添加交集而是添加并集怎么办?
具有简单类型,子类型和联合的lambda微积分是否具有任何有趣的相似性质?可以用工会打字的术语如何表征?
Answers:
在第一个系统中,您所谓的子类型化是以下两个规则:
它们对应于消除规则 ; 没有他们的结缔组织或多或少是无用的。
在第二个系统中(带有和,我们也可以向其中添加),上述子类型化规则无关紧要,我认为您想到的附带规则如下:
就其价值而言,该系统允许键入(使用规则),不能仅使用具有规范形式但不进行强规范化的简单类型来键入。
随机的想法:(也许这值得在TCS上提出)
这使我推测相关属性类似于:
练习:证明我错了。
同样,这似乎是一个退化的案例,也许我们应该考虑将此人添加到图片中。据我所知,它将允许获得?
我只想解释为什么相交类型非常适合用来描述归一化类(强,头或弱),而其他类型的系统则不能。(简单类型或系统F)。
关键区别在于您必须说:“如果我可以键入和那么我可以键入 ”。在非相交类型中,这通常是不正确的,因为一个术语可以重复:
然后键入意味着您可以键入两个出现,但不能键入相同的类型,例如 使用交集类型,您可以将其转换为: ,然后关键步骤现在真的很简单: 因此可以用交集类型键入。
现在,关于联合类型:假设您可以使用某些联合类型键入,然后您也可以键入,然后获取某些类型但是您仍然必须证明,对于每个,似乎都是不可能的,即使是联合类型。
这就是为什么我认为对联合类型的规范化没有一个简单的特征。