Verified characteristic formulae for CakeML
Paper i proceeding, 2017

Characteristic Formulae (CF) offer a productive, principled approach to generating verification conditions for higher-order imperative programs, but so far the soundness of CF has only been considered with respect to an informal specification of a programming language (OCaml). This leaves a gap between what is established by the verification framework and the program that actually runs. We present a fullyfledged CF framework for the formally specified CakeML programming language. Our framework extends the existing CF approach to support exceptions and I/O, thereby covering the full feature set of CakeML, and comes with a formally verified soundness theorem. Furthermore, it integrates with existing proof techniques for verifying CakeML programs. This validates the CF approach, and allows users to prove end-to-end theorems for higher-order imperative programs, from specification to language semantics, within a single theorem prover.


A. Guéneau

Ecole Normale Superieure (ENS)

Magnus Myreen

Formella metoder

R. Kumar

Commonwealth Scientific and Industrial Research Organization

M. Norrish

Commonwealth Scientific and Industrial Research Organization

Lecture Notes in Computer Science

0302-9743 (ISSN)

Vol. 10201 584-610


Datavetenskap (datalogi)