Skip to Main content Skip to Navigation
Preprints, Working Papers, ...

Krivine realizability for compiler correctness

Guilhem Jaber 1 Nicolas Tabareau 2, 3
3 ASCOLA - Aspect and composition languages
LINA - Laboratoire d'Informatique de Nantes Atlantique, Département informatique - EMN, Inria Rennes – Bretagne Atlantique
Abstract : We propose a semantic type soundness result, formalized in the Coq proof assistant, for a compiler from a simple functional language to SECD machine code. Our result is quite independent from the source language as it uses Krivine's realizability to give a denotational semantics to SECD machine code using only the type system of the source language. We use realizability to prove the correctness of both a call-by-name (CBN) and a call-by-value (CBV) compiler with the same notion of orthogonality. We abstract over the notion of observation (e.g. divergence or termination) and derive an operational correctness result that relates the reduction of a term with the execution of its compiled SECD machine code.
Complete list of metadatas
Contributor : Nicolas Tabareau <>
Submitted on : Wednesday, April 21, 2010 - 2:36:39 PM
Last modification on : Tuesday, December 4, 2018 - 11:08:06 AM
Long-term archiving on: : Monday, October 22, 2012 - 3:15:28 PM


Files produced by the author(s)


  • HAL Id : hal-00475210, version 1



Guilhem Jaber, Nicolas Tabareau. Krivine realizability for compiler correctness. 2010. ⟨hal-00475210v1⟩



Record views


Files downloads