Decidable Entailments in Separation Logic with Inductive Definitions: Beyond Establishment

9 We define a class of Separation Logic [10, 16] formulæ, whose entailment problem given formulæ φ,ψ1, . . . ,ψn, 10 is every model of φ a model of some ψi? is 2-EXPTIME-complete. The formulæ in this class are existentially 11 quantified separating conjunctions involving predicate atoms, interpreted by the least sets of store-heap structures 12 that satisfy a set of inductive rules, which is also part of the input to the entailment problem. Previous work 13 [8, 12, 15] consider established sets of rules, meaning that every existentially quantified variable in a rule must 14 eventually be bound to an allocated location, i.e. from the domain of the heap. In particular, this guarantees 15 that each structure has treewidth bounded by the size of the largest rule in the set. In contrast, here we show 16 that establishment, although sufficient for decidability (alongside two other natural conditions), is not necessary, 17 by providing a condition, called equational restrictedness, which applies syntactically to (dis-)equalities. The 18 entailment problem is more general in this case, because equationally restricted rules define richer classes of 19 structures, of unbounded treewidth. In this paper we show that (1) every established set of rules can be converted 20 into an equationally restricted one and (2) the entailment problem is 2-EXPTIME-complete in the latter case, 21 thus matching the complexity of entailments for established sets of rules [12, 15]. 22 2012 ACM Subject Classification Theory of computation→ Logic and verification 23

[1]  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.

[2]  Radu Iosif,et al.  The Tree Width of Separation Logic with Recursive Definitions , 2013, CADE.

[3]  Florian Zuleger,et al.  Complete Entailment Checking for Separation Logic with Inductive Definitions , 2020, ArXiv.

[4]  Tomás Vojnar,et al.  Predator: A Practical Tool for Checking Manipulation of Dynamic Data Structures Using Separation Logic , 2011, CAV.

[5]  Paul D. Seymour,et al.  Graph minors. III. Planar tree-width , 1984, J. Comb. Theory B.

[6]  Nicolas Peltier,et al.  Entailment Checking in Separation Logic with Inductive Definitions is 2-EXPTIME hard , 2020, LPAR.

[7]  Florian Zuleger,et al.  Beyond Symbolic Heaps: Deciding Separation Logic With Inductive Definitions , 2020, LPAR.

[8]  Florian Zuleger,et al.  Effective Entailment Checking for Separation Logic with Inductive Definitions , 2019, TACAS.

[9]  Bruno Courcelle,et al.  The Monadic Second-Order Logic of Graphs. I. Recognizable Sets of Finite Graphs , 1990, Inf. Comput..

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

[11]  Peter W. O'Hearn,et al.  Moving Fast with Software Verification , 2015, NFM.

[12]  Joël Ouaknine,et al.  Foundations for Decision Problems in Separation Logic with General Inductive Predicates , 2014, FoSSaCS.

[13]  Tomás Vojnar,et al.  Deciding Entailments in Inductive Separation Logic with Tree Automata , 2014, ATVA.

[14]  Jörg Flum,et al.  Parameterized Complexity Theory , 2006, Texts in Theoretical Computer Science. An EATCS Series.

[15]  Florian Zuleger,et al.  Unified Reasoning About Robustness Properties of Symbolic-Heap Separation Logic , 2016, ESOP.

[16]  Samin Ishtiaq,et al.  SLAyer: Memory Safety for Systems-Level Code , 2011, CAV.