Computer Science – Programming Languages
Scientific paper
2010-09-09
LMCS 6 (4:5) 2010
Computer Science
Programming Languages
Scientific paper
10.2168/LMCS-6(4:5)2010
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.
Lovas William
Pfenning Frank
No associations
LandOfFree
Refinement Types for Logical Frameworks and Their Interpretation as Proof Irrelevance does not yet have a rating. At this time, there are no reviews or comments for this scientific paper.
If you have personal experience with Refinement Types for Logical Frameworks and Their Interpretation as Proof Irrelevance, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Refinement Types for Logical Frameworks and Their Interpretation as Proof Irrelevance will most certainly appreciate the feedback.
Profile ID: LFWR-SCP-O-560013