Harpoon: Mechanizing Metatheory Interactively
Abstract Beluga is a proof checker that provides sophisticated infrastructure for implementing formal systems with the logical framework LF and proving metatheoretic properties as total, recursive functions transforming LF derivations. In this paper, we describe Harpoon , an interactive proof engine...
Main Authors: | , , |
---|---|
Format: | Book Part |
Language: | unknown |
Published: |
Springer International Publishing
2021
|
Subjects: | |
Online Access: | http://dx.doi.org/10.1007/978-3-030-79876-5_38 https://link.springer.com/content/pdf/10.1007/978-3-030-79876-5_38 |
Summary: | Abstract Beluga is a proof checker that provides sophisticated infrastructure for implementing formal systems with the logical framework LF and proving metatheoretic properties as total, recursive functions transforming LF derivations. In this paper, we describe Harpoon , an interactive proof engine built on top of Beluga . It allows users to develop proofs interactively using a small, fixed set of high-level actions that safely transform a subgoal. A sequence of actions elaborates into a (partial) proof script that serves as an intermediate representation describing an assertion-level proof. Last, a proof script translates into a Beluga program which can be type-checked independently. Harpoon is available on GitHub. We have used Harpoon to replay a wide array of examples covering all features supported by Beluga . In particular, we have used it for normalization proofs, including the recently proposed POPLMark reloaded challenge. |
---|