Total Haskell is Reasonable Coq

11/25/2017
by   Antal Spector-Zabusky, et al.
0

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.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset