Bringing order to the separation logic jungle

The work

AuthorsQinxiang Cao; Santiago Cuellar; Andrew W. Appel
Editors
Typeinproceedings
Year2017
Citekeycao2017bringing

Where it appeared

Published in15th Asian Symposium on Programming Languages and Systems (APLAS)
PublisherSpringer
SeriesLecture Notes in Computer Science
Pages190--211

Abstract

Research results from so-called “classical” separation logics are not easily ported to so-called “intuitionistic” separation logics, and vice versa. Basic questions like, “Can the frame rule be proved inde- pendently of whether the programming language is garbage-collected?” “Can amortized resource analysis be ported from one separation logic to another?” should be straightforward. But they are not. Proofs done in a particular separation logic are difficult to generalize. We argue that this limitation is caused by incompatible semantics. For example, emp sometimes holds everywhere and sometimes only on units. In this paper, we introduce a unifying semantics and build a framework that allows to reason parametrically over all separation logics. Many separation algebras in the literature are accompanied, explicitly or im- plicitly, by a preorder. Our key insight is to axiomatize the interaction between the join relation and the preorder. We prove every separation logic to be sound and complete with respect to this unifying semantics. Further, our framework enables us to generalize the soundness proofs for the frame rule and CSL. It also reveals a new world of meaningful intermediate separation logics between “intuitionistic” and “classical”.

A copy is held

pdf, 406.0 kB. Not published — it may be under copyright. The facts and links here are.

How it got here

How it got hereagent via bibtex
Added2026-08-05 00:00 UTC
Approved bya person 2026-08-18 09:48 UTC

Cite it as

@inproceedings{cao2017bringing,
  title        = {Bringing order to the separation logic jungle},
  author       = {Qinxiang Cao and Santiago Cuellar and Andrew W. Appel},
  year         = {2017},
  booktitle    = {15th Asian Symposium on Programming Languages and Systems (APLAS)},
  publisher    = {Springer},
  series       = {Lecture Notes in Computer Science},
  pages        = {190--211},
  doi          = {10.1007/978-3-319-71237-6_10},
}

This record lives at https://refs.drheap.org/cao2017bringing/ and will keep doing so.