Total Haskell is Reasonable Coq

Antal Spector-Zabusky, Joachim Breitner, Christine Rizkallah, Stephanie Weirich
11/25/2017
cs.PL

Official code: antalsz/hs-to-coq (283 stars, MIT, last commit 2020-11-11).

Abstract

We would like to use the Coq proof assistant to mechanically verify properties of Haskell programs. To that end, we present a tool, named hs-to-coq, that translates total Haskell programs into Coq programs via a shallow embedding. We apply our tool in three case studies -- a lawful Monad instance, "Hutton's razor", and an existing data structure library -- and prove their correctness. These examples show that this approach is viable: both that hs-to-coq applies to existing Haskell code, and that the output it produces is amenable to verification.

View on arXivView PDF

Code Implementations(1)

antalsz/hs-to-coqOfficial100%
MIT

Convert Haskell source code to Coq source code

28326C++, CoqMar 23, 20175 years agoMIT

Similar Papers

Cite this paper

@article{spectorzabusky2017total,
  title  = {Total Haskell is Reasonable Coq},
  author = {Antal Spector-Zabusky and Joachim Breitner and Christine Rizkallah and Stephanie Weirich},
  year   = {2017},
  eprint = {1711.09286},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1711.09286}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1711.09286.svg)](https://codeofpaper.com/paper/1711.09286)

Discussion