A Bidirectional Refinement Type System for LF

  • Authors:
  • William Lovas;Frank Pfenning

  • Affiliations:
  • Computer Science Department, Carnegie Mellon University, Pittsburgh, PA, USA;Computer Science Department, Carnegie Mellon University, Pittsburgh, PA, USA

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a system of refinement types for LF in the style of recent formulations where only canonical forms are well-typed. Both the usual LF rules and the rules for type refinements are bidirectional, leading to a straightforward proof of decidability of type-checking even in the presence of intersection types. Because we insist on canonical forms, structural rules for subtyping can now be derived rather than being assumed as primitive. We illustrate the expressive power of our system with several examples in the domain of logics and programming languages.