arXiv · 2207.05617
Mechanizing Refinement Types (extended)
Abstract
Practical checkers based on refinement types use the combination of implicit semantic sub-typing and parametric polymorphism to simplify the specification and automate the verification of sophisticated properties of programs. However, a formal meta-theoretic accounting of the soundness of refinement type systems using this combination has proved elusive. We present \lambda_RF a core refinement calculus that combines semantic sub-typing and parametric polymorphism. We develop a meta-theory for this calculus and prove soundness of the type system. Finally, we give a full mechanization of our meta-theory using the refinement-type based LiquidHaskell as a proof checker, showing how refinements can be used for mechanization.
Explore related subjects
Keep this discovery
Michael Borkowski, Niki Vazou, Ranjit Jhala. 2022-07-12. Mechanizing Refinement Types (extended). https://arxiv.org/abs/2207.05617
Cite the original work for its findings. Save a collection to share your selection of sources.