Theory of Computing Systems

, Volume 61, Issue 2, pp 371–461 | Cite as

Separation Logic with One Quantified Variable

  • Stéphane Demri
  • Didier Galmiche
  • Dominique Larchey-Wendling
  • Daniel Méry
Article

Abstract

We investigate first-order separation logic with one record field restricted to a unique quantified variable (1SL1). Undecidability is known when the number of quantified variables is unbounded and the satisfiability problem is PSPACE-complete for the propositional fragment. We show that the satisfiability problem for 1SL1 is PSPACE-complete and we characterize its expressive power by showing that every formula is equivalent to a Boolean combination of atomic properties. This contributes to our understanding of fragments of first-order separation logic that can specify properties about the memory heap of programs with singly-linked lists. All the fragments we consider contain the magic wand operator and first-order quantification over a single variable.

Keywords

Separation logic Quantifier elimination Model checking Satisfiability Computational complexity 

References

  1. 1.
    Antonopoulos, T., Gorogiannis, N., Haase, C., Kanovich, M., Ouaknine, J.: Foundations for decision problems in separation logic with general inductive predicates. In: FOSSACS’14, Lecture Notes in Computer Science, vol. 8412, pp. 411–425. Springer (2014)Google Scholar
  2. 2.
    Bansal, K., Reynolds, A., King, T., Barrett, C., Wies, T.: Deciding local theory extensions via e-matching. In: CAV’15, Lecture Notes in Computer Science, vol. 9207, pp. 87–105. Springer (2015)Google Scholar
  3. 3.
    Barrett, C., Conway, C., Deters, M., Hadarean, L., Jovanovic, D., King, T., Reynolds, A., Tinelli, C.: CVC4. In: CAV’11, Lecture Notes in Computer Science, vol. 8606, pp. 171–177. Springer (2011)Google Scholar
  4. 4.
    Berdine, J., Calcagno, C., O’Hearn, P.: Smallfoot: modular automatic assertion checking with separation logic. In: FMCO’05, Lecture Notes in Computer Science, vol. 4111, pp. 115–137. Springer (2005)Google Scholar
  5. 5.
    Brochenin, R., Demri, S., Lozes, E.: Reasoning about sequences of memory states. Ann. Pure Appl. Logic 161(3), 305–323 (2009)MathSciNetCrossRefMATHGoogle Scholar
  6. 6.
    Brochenin, R., Demri, S., Lozes, E.: On the almighty wand. Inf. Comput. 211, 106–137 (2012)MathSciNetCrossRefMATHGoogle Scholar
  7. 7.
    Brotherston, J., Fuhs, C., Gorogiannis, N., Navarro Perez, J.: A decision procedure for satisfiability in separation logic with inductive predicates. In: CSL-LICS’14 (2014)Google Scholar
  8. 8.
    Brotherston, J., Kanovich, M.: Undecidability of propositional separation logic and its neighbours. In: LICS’10, pp. 130–139. IEEE (2010)Google Scholar
  9. 9.
    Calcagno, C., O’Hearn, P., Yang, H.: Computability and complexity results for a spatial assertion language for data structures. In: FSTTCS’01, Lecture Notes in Computer Science, vol. 2245, pp. 108– 119. Springer (2001)Google Scholar
  10. 10.
    Cook, B., Haase, C., Ouaknine, J., Parkinson, M., Worrell, J.: Tractable reasoning in a fragment of separation logic. In: CONCUR’11, Lecture Notes in Computer Science, vol. 6901, pp. 235–249. Springer (2011)Google Scholar
  11. 11.
    Dawar, A., Gardner, P., Ghelli, G.: Expressiveness and complexity of graph logic. Inf. Comput. 205(3), 263–310 (2007)MathSciNetCrossRefMATHGoogle Scholar
  12. 12.
    Demri, S., Deters, M.: Expressive completeness of separation logic with two variables and no separating conjunction. In: CSL-LICS’14. ACM Press (2014)Google Scholar
  13. 13.
    Demri, S., Galmiche, D., Larchey-Wendling, D., Méry, D.: Separation logic with one quantified variable. In: CSR’14, Lecture Notes in Computer Science, vol. 8476, pp. 125–138. Springer (2014)Google Scholar
  14. 14.
    Galmiche, D., Méry, D.: Tableaux and resource graphs for separation logic. J. Log. Comput. 20(1), 189–231 (2010)MathSciNetCrossRefMATHGoogle Scholar
  15. 15.
    Haase, C., Ishtiaq, S., Ouaknine, J., Parkinson, M.: SeLoger: a tool for graph-based reasoning in separation logic. In: CAV’13, Lecture Notes in Computer Science, vol. 8044, pp. 790–795. Springer (2013)Google Scholar
  16. 16.
    Iosif, R., Rogalewicz, A., Simacek, J.: The tree width of separation logic with recursive definitions. In: CADE’13, Lecture Notes in Computer Science, vol. 7898, pp. 21–38. Springer (2013)Google Scholar
  17. 17.
    Ishtiaq, S., O’Hearn, P.: BI as an assertion language for mutable data structures. In: Hankin, C., Schmidt, D. (eds.) POPL’01, pp. 14–26. ACM (2001)Google Scholar
  18. 18.
    Larchey-Wendling, D., Galmiche, D.: The undecidability of Boolean BI through phase semantics. In: LICS’10, pp. 140–149. IEEE (2010)Google Scholar
  19. 19.
    Lozes, E.: Expressivité des logiques spatiales. Ph.D. Thesis, LIP, ENS Lyon, France (2004)Google Scholar
  20. 20.
    Lozes, E.: Separation logic preserves the expressive power of classical logic. In: 2nd Workshop on Semantics, Program Analysis, and Computing Environments for Memory Management (SPACE’04) (2004)Google Scholar
  21. 21.
    de Moura, L., Björner, N.: Z3: an efficient SMT solver. In: TACAS’08, Lecture Notes in Computer Science, vol. 4963, pp. 337–340. Springer (2008)Google Scholar
  22. 22.
    Pérez, J. N., Rybalchenko, A.: Separation logic modulo theories. In: APLAS’13, Lecture Notes in Computer Science, vol. 8301, pp. 90–106 (2013)Google Scholar
  23. 23.
    Piskac, R., Wies, T., Zufferey, D.: Automating separation logic using SMT. In: CAV’13, Lecture Notes in Computer Science, vol. 2013, pp. 773–789. Springer (2013)Google Scholar
  24. 24.
    Piskac, R., Wies, T., Zufferey, D.: GRASShopper - complete heap verification with mixed specifications. In: TACAS’14, Lecture Notes in Computer Science, vol. 8413, pp. 124–139. Springer (2014)Google Scholar
  25. 25.
    Presburger, M.: Über Die Vollständigkeit Eines Gewissen Systems Der Arithmetik Ganzer Zahlen, in Welchem Die Addition Als Einzige Operation Hervortritt. In: Comptes Rendus Du Premier Congrès De Mathématiciens Des Pays Slaves, Warszawa, pp. 92–101 (1929)Google Scholar
  26. 26.
    Reynolds, J.: Separation logic: a logic for shared mutable data structures. In: LICS’02, pp. 55–74. IEEE (2002)Google Scholar

Copyright information

© Springer Science+Business Media New York 2017

Authors and Affiliations

  1. 1.LSV, ENS Paris-Saclay, CNRSUniversité Paris-SaclayCachanFrance
  2. 2.LORIAUniversité de LorraineVandœuvre-lès-NancyFrance
  3. 3.LORIACNRSVandœuvre-lès-NancyFrance

Personalised recommendations