Compiling with Continuations, Correctly
summary
Presents a novel simulation that combines syntactic simulations with a logical relation: it uses an untyped step-indexed logical relation parameterized by a resource invariant to relate target terms. Formalized in Coq and integrated into CertiCoq, it mechanically verifies the CPS transformation, handles alpha-renaming and administrative reductions, proves preservation of termination and divergence, and shows a constant overhead per source step so running time is asymptotically preserved. The relation is transitive and has already been reused for seven other CertiCoq passes.
AI-written summary · about
chapters (15)
- 0:00Intro
- 1:38From Forward Simulation to Semantics Preservation
- 2:14Compositionality = Congruence + Transitivity
- 2:54Forward Simulation: Compositionality
- 4:04Binder Names
- 4:36Administrative Reductions
- 5:14This paper...
- 5:43The Simulation Holds
- 6:21Application
- 6:42Reusability
- 6:56Simulation for CPS
- 9:35Divergence?
- 10:01Running Time?
- 10:35Resource Invariant
- 14:02Summary... simulation relation that uses a logical relation in the target
related talks
31mPyrosome: A Framework for Modular, Extensible, Equivalence-Preserving Compilati...
50mCompCert: a journey through the landscape of mechanized semantics for verified co...
59mCoq to C Translation with Partial Evaluation + Counterexample Generation
29mTowards Formally Verified Just-In-Time Compilation
12mOn the metatheory of IRs and the CPS-calculus
46mMechanizing Abstract Interpretation
19mFormally Verifying Optimizations with Block Simulations
31mCertification of Confluence- and Commutation-Proofs via Parallel Critical Pairs
