From Separation Logic to First-Order Logic

  • Cristiano Calcagno
  • Philippa Gardner
  • Matthew Hague
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3441)


Separation logic is a spatial logic for reasoning locally about heap structures. A decidable fragment of its assertion language was presented in [1], based on a bounded model property. We exploit this property to give an encoding of this fragment into a first-order logic containing only the propositional connectives, quantification over the natural numbers and equality. This result is the first translation from Separation Logic into a logic which does not depend on the heap, and provides a direct decision procedure based on well-studied algorithms for first-order logic. Moreover, our translation is compositional in the structure of formulae, whilst previous results involved enumerating either heaps or formulae arising from the bounded model property.


Decision Procedure Classical Logic Separation Logic Hoare Logic Spatial Connective 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Calcagno, C., Yang, H., O’Hearn, P.W.: Computability and complexity results for a spatial assertion language for data structures. In: Hariharan, R., Mukund, M., Vinay, V. (eds.) FSTTCS 2001. LNCS, vol. 2245, pp. 108–119. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  2. 2.
    Reynolds, J.C.: Separation logic: a logic for shared mutable data structures. In: LICS, pp. 55–74. IEEE, Los Alamitos (2002)Google Scholar
  3. 3.
    Berdine, J., Calcagno, C., O’Hearn, P.: A decidable fragment of separation logic. In: Lodaya, K., Mahajan, M. (eds.) FSTTCS 2004. LNCS, vol. 3328, pp. 97–109. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
    Zilio, S.D., Lugiez, D., Meyssonnier, C.: A logic you can count on. In: Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 135–146. ACM Press, New York (2004)CrossRefGoogle Scholar
  5. 5.
    Cardelli, L., Gordon, A.D.: Anytime, anywhere: Modal logics for mobile ambients. In: 27th Symposium on Principles of Programming Languages (POPL 2000), pp. 365–377. ACM, New York (2000)CrossRefGoogle Scholar
  6. 6.
    Lozes, E.: Separation logic preserves the expressive power of classical logic. As published at (2004),
  7. 7.
    Lozes, E.: Elimination of spatial connectives in static spatial logics. To Appear in TCS (2004)Google Scholar
  8. 8.
    Hague, M.: Static checkers for tree structures and heaps. Master’s thesis, Imperial College London, Department of Computing (2004),
  9. 9.
    Cardelli, L., Caires, L.: A spatial logic for concurrency (part I). Journal of Information and Computation 186(2) (2003)Google Scholar
  10. 10.
    Cardelli, L., Caires, L.: A spatial logic for concurrency (part II). To Appear in Theoretical Computer Science (2004)Google Scholar
  11. 11.
    Cardelli, L., Gardner, P., Ghelli, G.: A spatial logic for querying graphs. In: Widmayer, P., Triguero, F., Morales, R., Hennessy, M., Eidenbenz, S., Conejo, R. (eds.) ICALP 2002. LNCS, vol. 2380, p. 597. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  12. 12.
    Cardelli, L., Gardner, P., Ghelli., G.: Querying trees with pointers. Unpublished Notes, 2003; talk at APPSEM 2001 (2003)Google Scholar
  13. 13.
    Calcagno, C., Gardner, P., Zarfaty, U.: Context logic and tree update. To appear in POPL (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Cristiano Calcagno
    • 1
  • Philippa Gardner
    • 1
  • Matthew Hague
    • 1
  1. 1.Department of Computing, Imperial CollegeUniversity of LondonUK

Personalised recommendations