127 research outputs found
Total Haskell is Reasonable Coq
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.Comment: 13 pages plus references. Published at CPP'18, In Proceedings of 7th
ACM SIGPLAN International Conference on Certified Programs and Proofs
(CPP'18). ACM, New York, NY, USA, 201
Formalizing Mathematical Knowledge as a Biform Theory Graph: A Case Study
A biform theory is a combination of an axiomatic theory and an algorithmic
theory that supports the integration of reasoning and computation. These are
ideal for formalizing algorithms that manipulate mathematical expressions. A
theory graph is a network of theories connected by meaning-preserving theory
morphisms that map the formulas of one theory to the formulas of another
theory. Theory graphs are in turn well suited for formalizing mathematical
knowledge at the most convenient level of abstraction using the most convenient
vocabulary. We are interested in the problem of whether a body of mathematical
knowledge can be effectively formalized as a theory graph of biform theories.
As a test case, we look at the graph of theories encoding natural number
arithmetic. We used two different formalisms to do this, which we describe and
compare. The first is realized in , a version of Church's
type theory with quotation and evaluation, and the second is realized in Agda,
a dependently typed programming language.Comment: 43 pages; published without appendices in: H. Geuvers et al., eds,
Intelligent Computer Mathematics (CICM 2017), Lecture Notes in Computer
Science, Vol. 10383, pp. 9-24, Springer, 201
- …