Proof search for propositional abstract separation logics via labelled sequents

Abstract separation logics are a family of extensions of Hoare logic for reasoning about programs that mutate memory. These logics are "abstract" because they are independent of any particular concrete memory model. Their assertion languages, called propositional abstract separation logics, extend the logic of (Boolean) Bunched Implications (BBI) in various ways. We develop a modular proof theory for various propositional abstract separation logics using cut-free labelled sequent calculi. We first extend the cut-fee labelled sequent calculus for BBI of Hou et al to handle Calcagno et al's original logic of separation algebras by adding sound rules for partial-determinism and cancellativity, while preserving cut-elimination. We prove the completeness of our calculus via a sound intermediate calculus that enables us to construct counter-models from the failure to find a proof. We then capture other propositional abstract separation logics by adding sound rules for indivisible unit and disjointness, while maintaining completeness and cut-elimination. We present a theorem prover based on our labelled calculus for these logics.

[1]  Javier O. Blanco,et al.  Local reasoning for abstraction and sharing , 2009, SAC '09.

[2]  Neelakantan R. Krishnaswami,et al.  Reasoning about iterators with separation logic , 2006, SAVCBS '06.

[3]  Matthew J. Parkinson,et al.  Local reasoning for Java , 2005 .

[4]  Peter W. O'Hearn,et al.  Symbolic Execution with Separation Logic , 2005, APLAS.

[5]  Christian Haack,et al.  Resource Usage Protocols for Iterators , 2009, J. Object Technol..

[6]  Dominique Larchey-Wendling,et al.  Expressivity properties of boolean BI through relational models , 2006 .

[7]  Wonyeol Lee,et al.  A proof system for separation logic with magic wand , 2014, POPL.

[8]  Jonghyun Park,et al.  A theorem prover for Boolean BI , 2013, POPL.

[9]  John C. Reynolds,et al.  Separation logic: a logic for shared mutable data structures , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

[10]  Michael Norrish,et al.  Types, bytes, and separation logic , 2007, POPL '07.

[11]  Peter W. O'Hearn,et al.  Local Action and Abstract Separation Logic , 2007, 22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007).

[12]  Stéphane Demri,et al.  On the almighty wand , 2012, Inf. Comput..

[13]  Dominique Larchey-Wendling,et al.  Exploring the relation between Intuitionistic BI and Boolean BI: an unexpected embedding , 2009, Math. Struct. Comput. Sci..

[14]  Hongseok Yang,et al.  Local reasoning for stateful programs , 2001 .

[15]  James Brotherston,et al.  Undecidability of Propositional Separation Logic and Its Neighbours , 2010, 2010 25th Annual IEEE Symposium on Logic in Computer Science.

[16]  Suresh Jagannathan,et al.  Modular reasoning for deterministic parallelism , 2011, POPL '11.

[17]  Viktor Vafeiadis,et al.  A Marriage of Rely/Guarantee and Separation Logic , 2007, CONCUR.

[18]  Peter W. O'Hearn,et al.  Computability and Complexity Results for a Spatial Assertion Language for Data Structures , 2001, APLAS.

[19]  Didier Galmiche,et al.  Tableaux and Resource Graphs for Separation Logic , 2010, J. Log. Comput..

[20]  Lars Birkedal,et al.  Fictional Separation Logic , 2012, ESOP.

[21]  Diego Calvanese,et al.  The Description Logic Handbook: Theory, Implementation, and Applications , 2003, Description Logic Handbook.

[22]  Andrew McCreight,et al.  Practical Tactics for Separation Logic , 2009, TPHOLs.

[23]  Sara Negri,et al.  Structural proof theory , 2001 .

[24]  Viktor Vafeiadis,et al.  Modular Safety Checking for Fine-Grained Concurrency , 2007, SAS.

[25]  Andrew W. Appel,et al.  A Fresh Look at Separation Algebras and Share Accounting , 2009, APLAS.

[26]  Peter W. O'Hearn,et al.  The Logic of Bunched Implications , 1999, Bulletin of Symbolic Logic.

[27]  Dominique Larchey-Wendling,et al.  The Undecidability of Boolean BI through Phase Semantics , 2010, 2010 25th Annual IEEE Symposium on Logic in Computer Science.

[28]  Dominique Larchey-Wendling The formal strong completeness of partial monoidal Boolean BI , 2016, J. Log. Comput..

[29]  Thomas Tuerk,et al.  A Formalisation of Smallfoot in HOL , 2009, TPHOLs.

[30]  James Brotherston,et al.  Parametric completeness for separation theories , 2014, POPL.

[31]  Peter W. O'Hearn,et al.  BI as an assertion language for mutable data structures , 2001, POPL '01.