paperbot · PL 论文追踪

全部论文 待读 收藏

P2 QuickSub: Efficient Iso-Recursive Subtyping

QuickSub:高效的同构递归子类型判定
POPL 9(POPL)2025匹配度 3/10 · 该论文属于程序语言类型系统与形式化验证方向,提供了子类型算法与 Coq 验证,但未涉及 LLM/Agent 在静态分析中的应用、浮点程序分析、贝叶斯程序分析或它们的交叉,与用户当前研究画像核心不匹配。引用 4 inbox
Litao Zhou, Bruno C. d. S. Oliveira
crossref: 2026-09-10

AI 速览

一句话:提出高效易实现的同构递归子类型算法 QuickSub,最坏复杂度 O(nm),常见情况近线性,并用 Coq 形式化验证。

许多语言需判定两个递归类型是否子类型。递归类型有等递归与同构递归两种建模,现有高效子类型算法多针对等递归,同构递归仍缺乏高效算法。本文提出 QuickSub,一个高效且易实现的同构递归子类型算法,表达力与经典 Amber 规则相同。其最坏复杂度为 O(nm),其中 m 为类型大小,n 为递归绑定符数量;实际中接近线性,最坏情况难以触发,常见场景下比已有算法快数倍。作者通过经验评估与现有等递归及同构递归算法比较,验证效率;证明算法正确性,并在带递归子类型与记录的简单演算中展示类型可靠性证明。所有结果均在 Coq 中形式化。

问题
如何为同构递归类型设计高效且易于实现的子类型判定算法。
方法
提出 QuickSub 算法,表达力与 Amber 规则相同,最坏复杂度 O(nm),并通过 Coq 形式化证明其正确性。
评估
经验评估与现有等递归和同构递归子类型算法比较效率;在 Coq 中形式化算法正确性及带记录演算的类型可靠性。
原文摘要(Abstract)

Many programming languages need to check whether two recursive types are in a subtyping relation. Traditionally recursive types are modelled in two different ways: equi- or iso- recursive types. While efficient algorithms for subtyping equi-recursive types are well studied for simple type systems, efficient algorithms for iso-recursive subtyping remain understudied. In this paper we present QuickSub : an efficient and simple to implement algorithm for iso-recursive subtyping. QuickSub has the same expressive power as the well-known iso-recursive Amber rules. The worst case complexity of QuickSub is O ( nm ), where m is the size of the type and n is the number of recursive binders. However, in practice, the algorithm is nearly linear with the worst case being hard to reach. Consequently, in many common cases, QuickSub can be several times faster than alternative algorithms. We validate the efficiency of QuickSub with an empirical evaluation comparing it to existing equi-recursive and iso-recursive subtyping algorithms. We prove the correctness of the algorithm and formalize a simple calculus with recursive subtyping and records. For this calculus we also show how type soundness can be proved using QuickSub . All the results have been formalized and proved in the Coq proof assistant.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot3239,
  title = {QuickSub: Efficient Iso-Recursive Subtyping},
  author = {Litao Zhou and Bruno C. d. S. Oliveira},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {POPL},
  year = {2025},
  doi = {10.1145/3704869}
}