Year: 2024
Type: article
Abstract: Practical checkers based on refinement types use the combination of implicit semantic subtyping and parametric polymorphism to simplify the specification and automate the verification of sophisticated properties of programs. However, a formal metatheoretic accounting of the soundness of refinement type systems using this combination has proved elusive. We present λ R F , a core refinement calculus that combines semantic subtyping and parametric polymorphism. We develop a metatheory for this calculus and prove soundness of the type system. Finally, we give two mechanizations of our metatheory. First, we introduce data propositions , a novel feature that enables encoding derivation trees for inductively defined judgments as refined data types, and use them to show that L iquid H askell ’s refinement types can be used for mechanization. Second, we mechanize our results in C oq , which comes with stronger soundness guarantees than L iquid H askell , thereby laying the foundations for mechanizing the metatheory of L iquid H askell .
DOI: 10.1145/3632912
Authors: Michael H. Borkowski, Niki Vazou, Ranjit Jhala
Institutions: University of California San Diego, IMDEA Software Institute
Language: English
Subfield: Software
Field: Computer Science
Domain: Physical Sciences
Open Access status: diamond
Awards: SHF: Small: Collaborative research: Language-Integrated Verification for Determininistic Parallelism, SHF: Medium: Generating Correctness Proofs with Neural Networks, FMitF: Collaborative Research: Track I: Finding and Eliminating Bugs in Operating Systems, Collaborative Research: SaTC: CORE: Large: Building and Deploying a Verified JavaScript Runtime, G39108972, Collaborative Research: SaTC: CORE: Medium: End-to-end Verified Secure Sandboxed Systems, G6762508499, G8692963027, G8876996369
OpenAlex ID: W4390604711
