递归类型和有限的量化是许多现代编程语言中的突出特征,例如Java,C#,Scala或打字稿。不幸的是,过去显示递归类型,有限的定量和亚型之间的相互作用在过去是有问题的。因此,定义一个结合这些特征并具有理想特性的简单基础演算,例如可确定性,亚型的传递性,保守性以及声音和完整的算法配方是长期的挑战。本文显示了如何在称为𝐹𝐹≤的新微积分中使用ISO回复类型扩展。𝐹≤是一种众所周知的多态演算,具有有界定量的限制。在𝐹𝐹≤中,我们添加了ISO恢复类型,并使用最近提出的名义展开规则来相应地通过ISO恢复亚型扩展了亚型关系。此外,我们还使用所谓的结构折叠/展开规则来打字,这是受Abadi,Cardelli和Viswanathan(1996)提出的结构展开规则的启发。结构规则为文献中更传统的折叠/展开规则增添了表达能力,它们可以实现其他应用程序。我们提出了几个结果,包括:类型的声音;传递性;超过𝐹≤的保守性;以及𝐹≤的声音和完整的算法公式。我们研究了两个变体𝐹≤。第一个使用核的扩展(一种众所周知的可决定变体𝐹≤)。此扩展名接受等效而不是相等的界限,并显示出可以保留可决定的亚型。第二个变体采用全𝐹≤规则进行有限的定量,并且具有不可确定的亚型。此外,我们还研究了𝐹𝐹的内核版本的扩展名,称为𝐹𝜇≤≥≥报,具有相交类型和下限定量的形式。来自𝐹𝐹内核版本的所有属性都保留在𝐹𝜇≤≥。本文中的所有结果均已在COQ Theorem Prover中形式化。
主要关键词