A Hoare logic for call-by-value functional programs

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

Abstract

We present a Hoare logic for a call-by-value programming language equipped with recursive, higher-order functions, algebraic data types, and a polymorphic type system in the style of Hindley and Milner. It is the theoretical basis for a tool that extracts proof obligations out of programs annotated with logical assertions. These proof obligations, expressed in a typed, higher-order logic, are discharged using off-the-shelf automated or interactive theorem provers. Although the technical apparatus that we exploit is by now standard, its application to call-by-value functional programming languages appears to be new, and (we claim) deserves attention. As a sample application, we check the partial correctness of a balanced binary search tree implementation. © 2008 Springer-Verlag.

Cite

CITATION STYLE

APA

Régis-Gianas, Y., & Pottier, F. (2008). A Hoare logic for call-by-value functional programs. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 5133 LNCS, pp. 305–335). Springer Verlag. https://doi.org/10.1007/978-3-540-70594-9_17

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