## Extended Static Checking of Call-by-Value Functional Programs (2007)

Citations: | 1 - 0 self |

### BibTeX

@MISC{Pottier07extendedstatic,

author = {Francois Pottier and Yann Regis-Gianas},

title = {Extended Static Checking of Call-by-Value Functional Programs },

year = {2007}

}

### OpenURL

### 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.