Affiliation:
1. University of California, Berkeley, Berkeley, CA
Abstract
We present a certified compiler from the simply-typed lambda calculus to assembly language. The compiler is certified in the sense that it comes with a machine-checked proof of semantics preservation, performed with the Coq proof assistant. The compiler and the terms of its several intermediate languages are given dependent types that guarantee that only well-typed programs are representable. Thus, type preservation for each compiler pass follows without any significant "proofs" of the usual kind. Semantics preservation is proved based on denotational semantics assigned to the intermediate languages. We demonstrate how working with a type-preserving compiler enables type-directed proof search to discharge large parts of our proof obligations automatically.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
15 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Per-Location Simulation;Lecture Notes in Computer Science;2020
2. Establishing a refinement relation between binaries and abstract code;Proceedings of the 17th ACM-IEEE International Conference on Formal Methods and Models for System Design;2019-10-09
3. Verifiably Lazy;Proceedings of the 30th Symposium on Implementation and Application of Functional Languages;2018-09-05
4. Forward to a Promising Future;Lecture Notes in Computer Science;2018
5. Biorthogonality for a Lazy language;Proceedings of the 29th Symposium on the Implementation and Application of Functional Programming Languages;2017-08-30