Author:
Frumin Dan,Krebbers Robbert,Birkedal Lars
Abstract
We present a new version of ReLoC: a relational separation logic for proving
refinements of programs with higher-order state, fine-grained concurrency,
polymorphism and recursive types. The core of ReLoC is its refinement judgment
$e \precsim e' : \tau$, which states that a program $e$ refines a program $e'$
at type $\tau$. ReLoC provides type-directed structural rules and symbolic
execution rules in separation-logic style for manipulating the judgment,
whereas in prior work on refinements for languages with higher-order state and
concurrency, such proofs were carried out by unfolding the judgment into its
definition in the model. ReLoC's abstract proof rules make it simpler to carry
out refinement proofs, and enable us to generalize the notion of logically
atomic specifications to the relational case, which we call logically atomic
relational specifications.
We build ReLoC on top of the Iris framework for separation logic in Coq,
allowing us to leverage features of Iris to prove soundness of ReLoC, and to
carry out refinement proofs in ReLoC. We implement tactics for interactive
proofs in ReLoC, allowing us to mechanize several case studies in Coq, and
thereby demonstrate the practicality of ReLoC.
ReLoC Reloaded extends ReLoC (LICS'18) with various technical improvements, a
new Coq mechanization, and support for Iris's prophecy variables. The latter
allows us to carry out refinement proofs that involve reasoning about the
program's future. We also expand ReLoC's notion of logically atomic relational
specifications with a new flavor based on the HOCAP pattern by Svendsen et al.
Publisher
Centre pour la Communication Scientifique Directe (CCSD)
Subject
General Computer Science,Theoretical Computer Science
Cited by
15 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Refinement Composition Logic;Proceedings of the ACM on Programming Languages;2024-08-15
2. Almost-Sure Termination by Guarded Refinement;Proceedings of the ACM on Programming Languages;2024-08-15
3. A Logical Approach to Type Soundness;Journal of the ACM;2024-07-10
4. Compositional Semantics for Shared-Variable Concurrency;Proceedings of the ACM on Programming Languages;2024-06-20
5. Unification for Subformula Linking under Quantifiers;Proceedings of the 13th ACM SIGPLAN International Conference on Certified Programs and Proofs;2024-01-09