Download PDFOpen PDF in browser

Translating Higher-Order Specifications to Coq Libraries Supporting Hybrid Proofs

10 pagesPublished: May 27, 2013

Abstract

We describe ongoing work on building an environment to support reasoning in proof assistants that represent formal systems using higher-order abstract syntax (HOAS). We use a simple and general specification language whose syntax supports HOAS. Using this language, we can encode the syntax and inference rules of a variety of formal systems, such as programming languages and logics. We describe our tool, implemented in OCaml, which parses this syntax, and translates it to a Coq library that includes definitions and hints for aiding automated proof in the Hybrid system. Hybrid itself is implemented in Coq, and designed specifically to reason about such formal systems. Given an input specification, the library that is automatically generated by our tool imports the general Hybrid library and adds definitions and hints for aiding automated proof in Hybrid about the specific programming language or logic defined in the specification. This work is part of a larger project to compare reasoning in systems supporting HOAS. Our current work focuses on Hybrid, Abella, Twelf, and Beluga, and the specification language is designed to be general enough to allow the automatic generation of libraries for all of these systems from a single specification.

Keyphrases: Coq, higher-order abstract syntax, Hybrid, Reasoning framework, syntax translation

In: Jasmin Christian Blanchette and Josef Urban (editors). PxTP 2013. Third International Workshop on Proof Exchange for Theorem Proving, vol 14, pages 67--76

Links:
BibTeX entry
@inproceedings{PxTP2013:Translating_Higher_Order_Specifications_to,
  author    = {Nada Habli and Amy P. Felty},
  title     = {Translating Higher-Order Specifications to Coq Libraries Supporting Hybrid Proofs},
  booktitle = {PxTP 2013. Third International Workshop on Proof Exchange for Theorem Proving},
  editor    = {Jasmin Christian Blanchette and Josef Urban},
  series    = {EPiC Series in Computing},
  volume    = {14},
  pages     = {67--76},
  year      = {2013},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {https://easychair.org/publications/paper/7c8},
  doi       = {10.29007/jqtz}}
Download PDFOpen PDF in browser