Litcius/Paper detail

Relational compilation for performance-critical applications: extensible proof-producing translation of functional models into low-level code

Clément Pit-Claudel, Jade Philipoom, Dustin Jamner, Andres Erbsen, Adam Chlipala

202225 citationsDOIOpen Access PDF

Abstract

There are typically two ways to compile and run a purely functional program verified using an interactive theorem prover (ITP): automatically extracting it to a similar language (typically an unverified process, like Coq to OCaml) or manually proving it equivalent to a lower-level reimplementation (like a C program). Traditionally, only the latter produced both excellent performance and end-to-end proofs.

Topics & Concepts

Computer scienceProgramming languageMathematical proofProof assistantCompilerGas meter proverAutomated theorem provingExtensibilityFunctional programmingCode (set theory)Process (computing)Theoretical computer scienceMathematicsGeometrySet (abstract data type)Logic, programming, and type systemsParallel Computing and Optimization TechniquesFormal Methods in Verification