Transitivity of Subtyping for Intersection Types
Abstract
The subtyping rules for intersection types traditionally employ a transitivity rule (Barendregt et al. 1983), which means that subtyping does not satisfy the subformula property, making it more difficult to use in filter models for compiler verification. Laurent develops a sequent-style subtyping system, without transitivity, and proves transitivity via a sequence of six lemmas that culminate in cut-elimination (2018). This article develops a subtyping system in regular style that omits transitivity and provides a direct proof of transitivity, significantly reducing the length of the proof, exchanging the six lemmas for just one. Inspired by Laurent's system, the rule for function types is essentially the -soundness property. The new system satisfies the "subformula conjunction property": every type occurring in the derivation of is a subformula of or , or an intersection of such subformulas. The article proves that the new subtyping system is equivalent to that of Barendregt, Coppo, and Dezani-Ciancaglini.
Keywords
Cite
@article{arxiv.1906.09709,
title = {Transitivity of Subtyping for Intersection Types},
author = {Jeremy G. Siek},
journal= {arXiv preprint arXiv:1906.09709},
year = {2020}
}
Comments
18 pages