English

Transitivity of Subtyping for Intersection Types

Programming Languages 2020-05-19 v2 Logic in Computer Science

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 β\beta-soundness property. The new system satisfies the "subformula conjunction property": every type occurring in the derivation of A<:BA <: B is a subformula of AA or BB, 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

R2 v1 2026-06-23T10:01:22.809Z