Coercive subtyping: Theory and implementation

  • Authors:
  • Z. Luo;S. Soloviev;T. Xue

  • Affiliations:
  • Department of Computer Science, Royal Holloway, University of London, Surrey, UK;IRIT, 118 route de Narbonne, 31062 Toulouse cedex 4, France;Department of Computer Science, Royal Holloway, University of London, Surrey, UK

  • Venue:
  • Information and Computation
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Coercive subtyping is a useful and powerful framework of subtyping for type theories. The key idea of coercive subtyping is subtyping as abbreviation. In this paper, we give a new and adequate formulation of T[C], the system that extends a type theory T with coercive subtyping based on a set C of basic subtyping judgements, and show that coercive subtyping is a conservative extension and, in a more general sense, a definitional extension. We introduce an intermediate system, the star-calculus T[C]^@?, in which the positions that require coercion insertions are marked, and show that T[C]^@? is a conservative extension of T and that T[C]^@? is equivalent to T[C]. This makes clear what we mean by coercive subtyping being a conservative extension, on the one hand, and amends a technical problem that has led to a gap in the earlier conservativity proof, on the other. We also compare coercive subtyping with the 'ordinary' notion of subtyping - subsumptive subtyping, and show that the former is adequate for type theories with canonical objects while the latter is not. An improved implementation of coercive subtyping is done in the proof assistant Plastic.