Subtyping Union Types

  title={Subtyping Union Types},
  author={J{\'e}r{\^o}me Vouillon},
Subtyping can be fairly complex for union types, due to interactions with other types, such as function types. Furthermore, these interactions turn out to depend on the calculus considered: for instance, a call-by-value calculus and a call-by-name calculus will have different possible subtyping rules. In order to abstract ourselves away from this dependence, we consider a fairly large class of calculi. This allows us to find a subtyping relation which is both robust (it is sound for all calculi… 
Preciseness of Subtyping on Intersection and Union Types
The soundness and the completeness, together referred to as the preciseness of subtyping, can be considered from two different points of view: denotational and operational.
Semantic subtyping for non-strict languages
This work defines a type system using semantic subtyping for a functional language with a call-by-need semantics by introducing an explicit representation for divergence in the types, so that the type system distinguishes expressions that are results from those which are computations that might diverge.
The Recursive Union of Some Gradual Types
We study union types and recursive types in the setting of a gradually typed lambda calculus. Our goal is to obtain a foundational account for languages that enable recursively defined data
Type Soundness for Path Polymorphism
Completely Subtyping Iso-recursive Types
New, algorithmic rules for subtyping isorecursive types are defined and it is proved that the rules are sound and complete with respect to type safety.
Strong Normalization as Safe Interaction
  • Colin Riba
  • Mathematics
    22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007)
  • 2007
It is proved that the union and intersection type discipline without (orE) is complete w.r.t. strong normalization, and two sufficient conditions for the safety of ( orE) are discussed.
Typed path polymorphism
On Subtyping-Relation Completeness, with an Application to Iso-Recursive Types
New, algorithmic rules are defined for subtyping iso-recursive types, and the rules are proved sound and complete with respect to type safety.
Precise subtyping for synchronous multiparty sessions
The novelty of this paper is the introduction of characteristic global types to prove the operational completeness of the subtyping for a synchronous multiparty session calculus.
Strong Normalization and Equi-(Co)Inductive Types
A type system for the lambda-calculus enriched with recursive and corecursive functions over equi-inductive and -coinductive types is presented in which all well-typed programs are strongly


Subtyping with Union Types, Intersection Types and Recursive Types
It is shown how the subtype decision problem may be solved by an encoding into regular tree expressions, and soundness and completeness are proved with respect to the classical ideal model for types.
Type Assignment for Intersections and Unions in Call-by-Value Languages
A system of type assignment with intersection types, union types, indexed types, and universal and existential dependent types that is sound in a call-by-value functional language is developed and provides a uniform generalization and explanation of several earlier isolated systems.
Semantic subtyping
This paper shows how to define a subtyping relation semantically, for a language whose operational semantics is driven by types; it considers a rich type algebra, with product, arrow, recursive, intersection, union and complement types, to "bootstrap" the subtyped relation through a notion of set-theoretic model of the type algebra.
Intersection types and computational effects
A solution similar to the value restriction for polymorphism adopted in the revised definition of Standard ML is proposed, which is not tied to let-expressions and requires an additional weakening of the usual subtyping rules.
Semantic types: a fresh look at the ideal model for types
The proof of the existence of types does not rely on metric properties, but on the fact that the identity is the limit of a sequence of projection terms, suggesting that ideals are better understood as closed sets of terms defined by orthogonality with respect to a set of contexts.
Parametric Polymorphism and Operational Equivalence
  • A. Pitts
  • Mathematics
    Electron. Notes Theor. Comput. Sci.
  • 1997
An operationally-based approach to Reynolds' notion of relational parametricity is developed for an extension of Plotkin's PCF with ∀types and lazy lists and the resulting logical relation is shown to be a useful tool for proving properties of polymorphic types up to a notion of operational equivalence based on Morris-style contextual equivalence.
Recursive polymorphic types and parametricity in an operational framework
A realizability model of recursive polymorphic types, starting from an untyped language of terms and contexts, which states that recursive types are approximated by converging sequences of interval types.
An ideal model for recursive polymorphic types
When constants are added to the pure lambda calculus, run-time errors can occur if the constants are used improperly, for example, if an at tempt is made to apply a natural number as if it were a
Computational Adequacy in an Elementary Topos
It is proved that computational adequacy holds if and only if the topos is 1-consistent (i.e. its internal logic validates only true Σ\(^{\rm 0}_{\rm 1}\)-sentences).
Programming with intersection types and bounded polymorphism
This thesis unifies and extends prior work on intersection types and bounded quantification by investigating theoretical and practical aspects of a typed $\lambda$-calculus incorporating both.