Tableaux and Resource Graphs for Separation Logic

D. Galmiche, D. Mery
2009 Journal of Logic and Computation  
Separation Logic (SL) is often presented as an assertion language for reasoning about mutable data structures. As recent results about verification in SL have mainly been achieved from a model-checking point of view, our aim in this paper is to study Separation Logic from a complementary proof-theoretic perspective in order to provide results about proof-search in SL. We begin our study with a fragment of SL, denoted SLP, where first order quantifiers, variables and equality are removed. We
more » ... t define specific structures, called resource graphs, that capture SLP models by considering heaps as resources via a labelling process. We then provide a tableau calculus that allows us to build such resource graphs from which either proofs, or countermodels can be generated. We finally prove soundess, completeness and termination of our tableau calculus before discussing extensions to various fragments of SL (including full SL) and the related decidability issues. Definition 3.7. Let X (⊆ L ∪ K) be a set of label and label constraints. 1. We define η as the function X L → ℘(T) × X L which maps each label x in the domain X L of X to the couple (Γ, x) where Γ (⊆ T) is defined as follows:
doi:10.1093/logcom/exn066 fatcat:qj6lwlbf4fatlgpn6h2w7y6nju