The design of a practical proof checker for a lazy functional language

0Citations
Citations of this article
6Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Pure, lazy functional languages like Haskell provide a sound basis for formal reasoning about programs in an equational style. In practice, however, equational reasoning about correctness proofs is underutilized. In the context of Haskell, we suggest that part of the reason for this is the lack of accessible tools for machine-checked equational reasoning. This paper outlines the design of MProver, a proof checker which fills just that niche. MProver features first-class support for reasoning about potentially undefined computations (particularly important in a lazy setting), and an extended notion of Haskell-like type classes, enabling a highly modular style of program verification that closely follows familiar functional programming idioms. © 2013 Springer-Verlag.

Cite

CITATION STYLE

APA

Procter, A., Harrison, W. L., & Stump, A. (2013). The design of a practical proof checker for a lazy functional language. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7829 LNCS, pp. 117–132). https://doi.org/10.1007/978-3-642-40447-4_8

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free