pith. sign in

arxiv: 1701.05888 · v1 · pith:LHYEJECUnew · submitted 2017-01-20 · 💻 cs.PL · cs.LO

A Higher-Order Logic for Concurrent Termination-Preserving Refinement

classification 💻 cs.PL cs.LO
keywords concurrentcorrectnesshigher-ordercompilerlanguagelogicrefinementtermination-preserving
0
0 comments X
read the original abstract

Compiler correctness proofs for higher-order concurrent languages are difficult: they involve establishing a termination-preserving refinement between a concurrent high-level source language and an implementation that uses low-level shared memory primitives. However, existing logics for proving concurrent refinement either neglect properties such as termination, or only handle first-order state. In this paper, we address these limitations by extending Iris, a recent higher-order concurrent separation logic, with support for reasoning about termination-preserving refinements. To demonstrate the power of these extensions, we prove the correctness of an efficient implementation of a higher-order, session-typed language. To our knowledge, this is the first program logic capable of giving a compiler correctness proof for such a language. The soundness of our extensions and our compiler correctness proof have been mechanized in Coq.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.