We study the question of extending the BCD intersection type system with additional type constructors. On the typing side, we focus on adding the usual rules for product types. On the subtyping side, we consider a generic way of defining a subtyping relation on families of types which include intersection types. We find back the BCD subtyping relation by considering the particular case where the type constructors are intersection, omega and arrow. We obtain an extension of BCD subtyping to product types as another instance. We show how the preservation of typing by both reduction and expansion is satisfied in all the considered cases. Our approach takes benefits from a "subformula property" of the proposed presentation of the subtyping relation.
Only recently, Laurent REF presented a general way of defining a BCD-like subtyping relation extended with generic contravariant/-covariant type constructors that enjoys the "sub-formula property".
Intersection Subtyping with Constructors
EPTCS 293, 2019, pp. 73-84
Computer Science