Skip to search boxSkip to navigationSkip to main content

Automating Derivations of Abstract Machines from Reduction Semantics: A Generic Formalization of Refocusing in Coq

  • Filip Sieczkowski
    ,
  • Małgorzata Biernacka
    ,
  • Dariusz Biernacki
  • University of Wrocław
Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-review

Open access

Publication Information

Output type

Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-review

Original language

English

Pages from-to (Number of pages)

Pages 72-88 (16 pages)

Publication milestones

  • Published - 2011

Publication status

Published - 2011

Publisher

Springer, United States, Germany
978-3-642-24275-5

Publication IDs

  • Scopus: 80054105144

Host publication title

IFL'10 Proceedings of the 22nd international conference on Implementation and application of functional languages

Abstract

We present a generic formalization of the refocusing trans- formation for functional languages in the Coq proof assistant. The refo- cusing technique, due to Danvy and Nielsen, allows for mechanical trans- formation of an evaluator implementing a reduction semantics into an equivalent abstract machine via a succession of simple program transfor- mations. 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 axiom- atization 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.

Publication metrics

PlumX, opens in new tab

Citations
11
Mentions
1
Captures
5