Affiliation:
1. University of South Florida
2. Telefonica Research
Abstract
Well-known techniques exist for proving the soundness of subtyping relations with respect to type safety. However, completeness has not been treated with widely applicable techniques, as far as we’re aware.
This article develops techniques for stating and proving that a subtyping relation is complete with respect to type safety and applies the techniques to the study of iso-recursive subtyping. A new proof technique, induction on failing derivations, is provided that may be useful in other domains as well.
The common subtyping rules for iso-recursive types—the “Amber rules”—are shown to be incomplete with respect to type safety. That is, there exist iso-recursive types τ
1
and τ
2
such that τ
1
can safely be considered a subtype of τ
2
, but τ
1
⩽ τ
2
is not derivable with the Amber rules.
New, algorithmic rules are defined for subtyping iso-recursive types, and the rules are proved sound and complete with respect to type safety. The fully implemented subtyping algorithm is optimized to run in
O
(
mn
) time, where
m
is the number of μ-terms in the types being considered and
n
is the size of the types being considered.
Funder
National Science Foundation
Publisher
Association for Computing Machinery (ACM)
Cited by
14 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Parametric Subtyping for Structural Parametric Polymorphism;Proceedings of the ACM on Programming Languages;2024-01-05
2. Mutually Iso-Recursive Subtyping;Proceedings of the ACM on Programming Languages;2023-10-16
3. Recursive Subtyping for All;Proceedings of the ACM on Programming Languages;2023-01-09
4. A Logical Framework with Higher-Order Rational (Circular) Terms;Lecture Notes in Computer Science;2023
5. Precise Subtyping for Asynchronous Multiparty Sessions;ACM Transactions on Computational Logic;2022-12-16