pith. sign in

arxiv: 1806.03205 · v3 · pith:AJHIAH7Inew · submitted 2018-06-08 · 💻 cs.LO · cs.PL

Formal Small-step Verification of a Call-by-value Lambda Calculus Machine

classification 💻 cs.LO cs.PL
keywords machinesmall-stepcall-by-valueclosuresrefinementsubstitutionabstractaccompanying
0
0 comments X
read the original abstract

We formally verify an abstract machine for a call-by-value lambda-calculus with de Bruijn terms, simple substitution, and small-step semantics. We follow a stepwise refinement approach starting with a naive stack machine with substitution. We then refine to a machine with closures, and finally to a machine with a heap providing structure sharing for closures. We prove the correctness of the three refinement steps with compositional small-step bottom-up simulations. There is an accompanying Coq development verifying all results.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.