English

A Decision Procedure for Separation Logic in SMT

Logic in Computer Science 2016-05-20 v2

Abstract

This paper presents a complete decision procedure for the entire quantifier-free fragment of Separation Logic (\seplog\seplog) interpreted over heaplets with data elements ranging over a parametric multi-sorted (possibly infinite) domain. The algorithm uses a combination of theories and is used as a specialized solver inside a DPLL(TT) architecture. A prototype was implemented within the CVC4 SMT solver. Preliminary evaluation suggests the possibility of using this procedure as a building block of a more elaborate theorem prover for SL with inductive predicates, or as back-end of a bounded model checker for programs with low-level pointer and data manipulations.

Cite

@article{arxiv.1603.06844,
  title  = {A Decision Procedure for Separation Logic in SMT},
  author = {Andrew Reynolds and Radu Iosif and Tim King},
  journal= {arXiv preprint arXiv:1603.06844},
  year   = {2016}
}

Comments

22 pages

R2 v1 2026-06-22T13:16:14.241Z