Proof-Producing Synthesis of CakeML with I/O and Local State from Monadic HOL Functions

Son Ho, Oskar Abrahamsson, Ramana Kumar, Magnus O. Myreen*, Yong Kiam Tan, Michael Norrish

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

13 Citations (Scopus)

Abstract

We introduce an automatic method for producing stateful ML programs together with proofs of correctness from monadic functions in HOL. Our mechanism supports references, exceptions, and I/O operations, and can generate functions manipulating local state, which can then be encapsulated for use in a pure context. We apply this approach to several non-trivial examples, including the type inferencer and register allocator of the otherwise pure CakeML compiler, which now benefits from better runtime performance. This development has been carried out in the HOL4 theorem prover.

Original languageEnglish
Title of host publicationAutomated Reasoning - 9th International Joint Conference, IJCAR 2018, Held as Part of the Federated Logic Conference, FloC 2018, Proceedings
EditorsRoberto Sebastiani, Didier Galmiche, Stephan Schulz
PublisherSpringer Verlag
Pages646-662
Number of pages17
ISBN (Print)9783319942049
DOIs
Publication statusPublished - 2018
Externally publishedYes
Event9th International Joint Conference on Automated Reasoning, IJCAR 2018 Held as Part of the Federated Logic Conference, FloC 2018 - Oxford, United Kingdom
Duration: 14 Jul 201817 Jul 2018

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume10900 LNAI
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference9th International Joint Conference on Automated Reasoning, IJCAR 2018 Held as Part of the Federated Logic Conference, FloC 2018
Country/TerritoryUnited Kingdom
CityOxford
Period14/07/1817/07/18

Fingerprint

Dive into the research topics of 'Proof-Producing Synthesis of CakeML with I/O and Local State from Monadic HOL Functions'. Together they form a unique fingerprint.

Cite this