Reasoning in the Bernays-Schoenfinkel-Ramsey Fragment of Separation Logic
Andrew Reynolds, Radu Iosif, Cristina Serban

TL;DR
This paper explores the decidability and complexity of a fragment of Separation Logic with quantifier restrictions, implementing a solver within CVC4 and demonstrating its efficiency on verification conditions.
Contribution
It characterizes the boundary between decidable and undecidable fragments of Separation Logic with quantifiers and provides a specialized solver for the decidable fragment.
Findings
The $orall^* oorall^*$ fragment is PSPACE-complete.
Adding an extra quantifier makes the logic undecidable.
The solver performs efficiently on verification conditions.
Abstract
Separation Logic (SL) is a well-known assertion language used in Hoare-style modular proof systems for programs with dynamically allocated data structures. In this paper we investigate the fragment of first-order SL restricted to the Bernays-Schoenfinkel-Ramsey quantifier prefix , where the quantified variables range over the set of memory locations. When this set is uninterpreted (has no associated theory) the fragment is PSPACE-complete, which matches the complexity of the quantifier-free fragment. However, SL becomes undecidable when the quantifier prefix belongs to instead, or when the memory locations are interpreted as integers with linear arithmetic constraints, thus setting a sharp boundary for decidability within SL. We have implemented a decision procedure for the decidable fragment of SL as a specialized…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Logic, Reasoning, and Knowledge
