William Lovas ; Frank Pfenning - Refinement Types for Logical Frameworks and Their Interpretation as Proof Irrelevance

lmcs:1063 - Logical Methods in Computer Science, December 5, 2010, Volume 6, Issue 4 - https://doi.org/10.2168/LMCS-6(4:5)2010
Refinement Types for Logical Frameworks and Their Interpretation as Proof IrrelevanceArticle

Authors: William Lovas ; Frank Pfenning

    Refinement types sharpen systems of simple and dependent types by offering expressive means to more precisely classify well-typed terms. 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 examples and validate its design by demonstrating a precise correspondence with traditional presentations of subtyping. Proof irrelevance provides a mechanism for selectively hiding the identities of terms in type theories. We show that LF refinement types can be interpreted as predicates using proof irrelevance, establishing a uniform relationship between two previously studied concepts in type theory. The interpretation and its correctness proof are surprisingly complex, lending support to the claim that refinement types are a fundamental construct rather than just a convenient surface syntax for certain uses of proof irrelevance.

    Volume: Volume 6, Issue 4
    Published on: December 5, 2010
    Imported on: November 27, 2009
    Keywords: Computer Science - Programming Languages,Computer Science - Logic in Computer Science,cs.LO

    6 Documents citing this article

    Consultation statistics

    This page has been seen 1152 times.
    This article's PDF has been downloaded 339 times.