Automating derivations of abstract machines from reduction semantics: A generic formalization of refocusing in Coq

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

Abstract

We present a generic formalization of the refocusing transformation for functional languages in the Coq proof assistant. The refocusing technique, due to Danvy and Nielsen, allows for mechanical transformation of an evaluator implementing a reduction semantics into an equivalent abstract machine via a succession of simple program transformations. So far, refocusing has been used only as an informal procedure: the conditions required of a reduction semantics have not been formally captured, and the transformation has not been formally proved correct. The aim of this work is to formalize and prove correct the refocusing technique. To this end, we first propose an axiomatization of reduction semantics that is sufficient to automatically apply the refocusing method. Next, we prove that any reduction semantics conforming to this axiomatization can be automatically transformed into an abstract machine equivalent to it. The article is accompanied by a Coq development that contains the formalization of the refocusing method and a number of case studies that serve both as an illustration of the method and as a sanity check on the axiomatization. © 2011 Springer-Verlag.

Cite

CITATION STYLE

APA

Sieczkowski, F., Biernacka, M., & Biernacki, D. (2011). Automating derivations of abstract machines from reduction semantics: A generic formalization of refocusing in Coq. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 6647 LNCS, pp. 72–88). https://doi.org/10.1007/978-3-642-24276-2_5

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