Transitivity of Subtyping for Intersection Types
The subtyping relation for intersection type systems traditionally employs a transitivity rule (Barendregt et al. 1983), which means that the subtyping judgment does not enjoy the subformula property. Laurent develops a sequent-style subtyping judgment, without transitivity, and proves transitivity via a sequence of six lemmas that culminate in cut-elimination (2018). This article presents a subtyping judgment, in regular style, that satisfies the subformula property, and presents a direct proof of transitivity. Borrowing from Laurent's system, the rule for function types is essentially the β-soundness property. The main lemma required for the transitivity proof is one that has been used to prove the inversion principle for subtyping of function types. The choice of induction principle for the proof of transitivity is subtle: we use well-founded induction on the lexicographical ordering of the sum of the depths of the first and last type followed by the sum of the sizes of the middle and last type. The article concludes with a proof that the new subtyping judgment is equivalent to that of Barendregt, Coppo, and Dezani-Ciancaglini.
READ FULL TEXT