Proving Correctness of a Compiler Using Step-indexed Logical Relations

https://doi.org/10.1016/j.entcs.2016.06.013Get rights and content
Under a Creative Commons license
open access

Abstract

In this paper we prove the correctness of a compiler for a call-by-name language using step-indexed logical relations and biorthogonality. The source language is an extension of the simply typed lambda-calculus with recursion, and the target language is an extension of the Krivine abstract machine. We formalized the proof in the Coq proof assistant.

Keywords

Compiler verification
proof assistants
biorthogonality
step-indexed logical relations

Cited by (0)