William Lovas Refinement Types for Logical Frameworks Degree Type: Ph.D. in Computer Science Advisor(s): Frank Pfenning Graduated: December 2010 Abstract: The logical framework LF and its metalogic Twelf can be used to encode and reason about a wide variety of logics, languages, and other deductive systems in a formal, machine-checkable way. Recent studies have shown that ML-like languages can profitably be extended with a notion of subtyping called refinement types. A refinement type discipline uses an extra layer of term classification above the usual type system to more accurately capture certain properties of terms. I propose that adding refinement types to LF is both useful and practical. To support the claim, I exhibit an extension of LF with refinement types called LFR,work out important details of its metatheory, delineate a practical algorithm for refinement type reconstruction, and present several case studies that highlight the utility of refinement types for formalized mathematics. In the end I find that refinement types and LF are a match made in heaven: refinements enable many rich new modes of expression, and the simplicity of LF ensures that they come at a modest cost. Thesis Committee: Frank Pfenning, (Chair) Karl Crary Robert Harper Adriana Compagnoni (Stevens) Carsten Schürmann (ITU Copenhagen) Jeannette Wing, Head, Computer Science Department Randy Bryant, Dean, School of Computer Science Keywords: Refinement types, logical frameworks, subtyping, intersection types, dependent types CMU-CS-10-138.pdf (1.33 MB) ( 205 pages) Copyright Notice