Refinement Types for Logical Frameworks and Their Interpretation as Proof Irrelevance
William Lovas (Carnegie Mellon University), Frank Pfenning (Carnegie, Mellon University)

TL;DR
This paper introduces a refinement type system for LF that ensures decidable typechecking, leverages proof irrelevance for hiding term identities, and establishes a fundamental connection between refinement types and proof irrelevance.
Contribution
It develops a bidirectional refinement type system for LF with canonical forms, deriving subtyping rules and linking refinement types to proof irrelevance.
Findings
Typechecking remains decidable with intersection types.
Structural subtyping rules are derived, not assumed.
Refinement types can be interpreted as predicates via proof irrelevance.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
