CMU-CS-07-127
Computer Science Department
School of Computer Science, Carnegie Mellon University



CMU-CS-07-127

A Bidirectional Refinement Type System for LF

William Lovas, Frank Pfenning

Published May 2008


This report is superceded by
Computer Science Technical Report
CMU-CS-08-129.pdf


Keywords: LF, refinement types, subtyping, dependent types, intersection types

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 typechecking 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.

58 pages


Return to: SCS Technical Report Collection
School of Computer Science

This page maintained by reports@cs.cmu.edu