Correctly Compiling Proofs About Programs Without Proving Compilers Correct
Published in Interactive Theorem Proving 2024, 2024
This paper explores a technique to get guarantees about compiled programs even in the presence of an unverified, or even incorrect, compiler. Our workflow compiles programs, specifications, and proof objects, from an embedded source language and logic to an embedded target language and logic. We implement two simple imperative languages, each with its own Hoare-style program logic, and a framework for instantiating proof compilers out of compilers between these two languages that fulfill certain equational conditions in Coq.
Recommended citation: Seo, Audrey, Lam, Chris, Grossman, Dan, and Ringer, Talia. (2024). "Correctly Compiling Proofs About Programs Without Proving Compilers Correct." Interactive Theorem Proving 2024. http://audreyseo.github.io/files/proof_compilers_itp_2024.pdf