Skip to main content
Log in

A Proof Procedure for Separation Logic with Inductive Definitions and Data

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

A proof procedure, in the spirit of the sequent calculus, is proposed to check the validity of entailments between Separation Logic formulas combining inductively defined predicates denoting structures of bounded tree width and theory reasoning. The calculus is sound and complete, in the sense that a sequent is valid iff it admits a (possibly infinite) proof tree. We also show that the procedure terminates in the two following cases: (i) When the inductive rules that define the predicates occurring on the left-hand side of the entailment terminate, in which case the proof tree is always finite. (ii) When the theory is empty, in which case every valid sequent admits a rational proof tree, where the total number of pairwise distinct sequents occurring in the proof tree is doubly exponential w.r.t. the size of the end-sequent.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2

Similar content being viewed by others

Data Availibility

Data sharing not applicable to this article as no datasets were generated or analysed during the current study.

Notes

  1. Note that \(\kappa \) is not considered as constant for the complexity analysis in Sect. 10: it is part of the input.

  2. Because we will consider transformations introducing an unbounded number of new predicate symbols, we cannot assume that the predicate atoms have a constant size.

  3. Each symbol s in \({{\mathcal {P}}}_S\cup {{\mathcal {P}}}_{{\mathcal {T}}}\cup {{\mathcal {V}}}\) is counted with a weight equal to its length \(\Vert s\Vert \), and all the logical symbols have weight 1.

  4. We assume that \(\textbf{x}'\) contains no variable in \(\textbf{u}\theta \).

  5. Hence two non-valid sequents with different countermodels are equivalent.

  6. This set is an over-approximation of the set of variables x such that \(x \in fv ^{{{\mathcal {T}}}}_{{{\mathcal {R}}}}(\phi ')\) for some predicate-free formula \(\phi '\) with \(\phi \Leftarrow _{{{\mathcal {R}}}}^* \phi '\), but it is sufficient for our purpose.

  7. This condition is not restrictive since a fresh variable y can always be added both to \(\textbf{u}\) and \( dom (\theta )\), and by letting \(y\theta = x\).

  8. We recall that a rule is invertible if the validity of its conclusion implies the validity of each of its premises.

  9. The key difference is that in our rule the premises are directly written into disjunctive normal form, rather than using universal quantifications over sets of indices and disjunction.

  10. Note that in the proof of Theorem 65 rule is applied when \(\psi \) contains a predicate atom. However, this strategy is not applicable here because it may produce an infinite proof tree.

References

  1. Berdine, J., Calcagno, C., O’Hearn, P.W.: In: Proceedings of FSTTCS’04, LNCS, vol. 3328. Springer (2004)

  2. Berdine, J., Cook, B., Ishtiaq, S.: In: G.G. andShaz Qadeer (ed.) Computer Aided Verification—23rd International Conference, CAV 2011, Snowbird, UT, USA, July 14–20, 2011. Proceedings, LNCS, vol. 6806, pp. 178–183. Springer (2011)

  3. Brotherston, J., Simpson, A.: Sequent calculi for induction and infinite descent. J. Logic Comput. 21(6), 1177–1216 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  4. Calcagno, C., Yang, H., O’hearn, P.W.: In: FST TCS 2001, Proceedings, pp. 108–119. Springer (2001)

  5. Calcagno, C., Distefano, D., O’Hearn, P.W., Yang, H.: Compositional shape analysis by means of bi-abduction. J. ACM 58(6), 26:1-26:66 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  6. Calcagno, C., Distefano, D., Dubreil, J., Gabi, D., Hooimeijer, P., Luca, M., O’Hearn, P.W., Papakonstantinou, I., Purbrick, J., Rodriguez, D.: In: Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NASA Formal Methods—7th International Symposium, NFM 2015, Pasadena, CA, USA, April 27–29, 2015, Proceedings, LNCS, vol. 9058, pp. 3–11. Springer (2015)

  7. Cook, B., Haase, C., Ouaknine, J., Parkinson, M.J., Worrell, J.: In: Proceedings of CONCUR’11, LNCS, vol. 6901. Springer (2011)

  8. Demri, S., Galmiche, D., Larchey-Wendling, D., Méry, D.: In: CSR’14, LNCS, vol. 8476, pp. 125–138. Springer (2014)

  9. Dodds, M., Plump, D.: From hyperedge replacement to separation logic and back. Electron. Commun. Eur. Assoc. Softw. Sci. Technol. 16 (2008)

  10. Dudka, K., Peringer, P., Vojnar, T.: In: Gopalakrishnan, G., Qadeer, S. (eds.) Computer Aided Verification—23rd International Conference, CAV 2011, Snowbird, UT, USA, July 14–20, 2011. Proceedings, LNCS, vol. 6806, pp. 372–378. Springer (2011)

  11. Echenim, M., Iosif, R., Peltier, N.: In: LPAR 2020: 23rd International Conference on Logic for Programming, Artificial Intelligence and Reasoning, Alicante, Spain, May 22–27, 2020, EPiC Series in Computing, vol. 73, pp. 191–211. EasyChair (2020)

  12. Echenim, M., Iosif, R., Peltier, N.: In: CSL 2021: 29th International Conference on Computer Science Logic, EPiC Series in Computing. EasyChair (2021)

  13. Echenim, M., Peltier, N.: In: ASL 2022 (Workshop on Advancing Separation Logic) (2022). https://arxiv.org/abs/2206.09389

  14. Enea, C., Sighireanu, M., Wu, Z.: In: ATVA 2015, Proceedings, pp. 80–96 (2015)

  15. Enea, C., Lengál, O., Sighireanu, M., Vojnar, T.: Compositional entailment checking for a fragment of separation logic. Formal Methods Syst. Des. 51(3), 575–607 (2017)

    Article  MATH  Google Scholar 

  16. Galmiche, D., Méry, D.: Labelled cyclic proofs for separation logic. J. Logic Comput. 31(3), 892–922 (2021)

    Article  MathSciNet  MATH  Google Scholar 

  17. Iosif, R., Rogalewicz, A., Simacek, J.: In: Proceedings of CADE-24, LNCS, vol. 7898 (2013)

  18. Iosif, R., Rogalewicz, A., Vojnar, T.: In: Cassez, F., Raskin, J. (eds.) ATVA 2014, Proceedings, LNCS, vol. 8837, pp. 201–218. Springer (2014)

  19. Ishtiaq, S.S., O’Hearn, P.W.: In: ACM SIGPLAN Notices, vol. 36, pp. 14–26 (2001)

  20. Jansen, C., Göbe, F., Noll, T.: In: Giese, H., König, B. (eds.) ICGT 2014, LNCS, vol. 8571, pp. 65–80. Springer (2014)

  21. Le, Q.L.: In: Henglein, F., Shoham, S., Vizel, Y. (eds.) Verification, Model Checking, and Abstract Interpretation—22nd International Conference, VMCAI 2021, Copenhagen, Denmark, January 17-19, 2021, Proceedings, Lecture Notes in Computer Science, vol. 12597, pp. 578–602. Springer (2021)

  22. Nakazawa, K., Tatsuta, M., Kimura, D., Yamamura, M.: In: ADSL 18 (First Workshop on Automated Deduction for Separation Logics). Oxford, United Kingdom (2018)

  23. O’Hearn, P.W., Reynolds, J.C., Yang, H.: In: Fribourg, L. (ed.) Computer Science Logic, 15th International Workshop, CSL 2001. 10th Annual Conference of the EACSL, Paris, France, September 10–13, 2001, Proceedings, LNCS, vol. 2142, pp. 1–19. Springer (2001)

  24. Pagel, J., Matheja, C., Zuleger, F.: Complete entailment checking for separation logic with inductive definitions (2020)

  25. Pagel, J., Zuleger, F.: In: LPAR-23, EPiC Series in Computing, vol. 73, pp. 390–408. EasyChair (2020)

  26. Pérez, J.A.N., Rybalchenko, A.: In: Shan, C. (ed.) Programming Languages and Systems—11th Asian Symposium, APLAS 2013, Melbourne, VIC, Australia, December 9–11, 2013. Proceedings, LNCS, vol. 8301, pp. 90–106. Springer (2013)

  27. Piskac, R., Wies, T., Zufferey, D.: In: Sharygina, N., Veith, H. (eds.) Computer Aided Verification—25th International Conference, CAV 2013, Saint Petersburg, Russia, July 13–19, 2013. Proceedings, LNCS, vol. 8044, pp. 773–789. Springer (2013)

  28. Qiu, X., Garg, P., Stefanescu, A., Madhusudan, P.: In: Boehm, H., Flanagan, C. (eds.) ACM SIGPLAN PLDI ’13, pp. 231–242. ACM (2013)

  29. Reynolds, J.: In: Proceedings of LICS’02 (2002)

  30. Seidl, H.: Haskell overloading is dexptime-complete. Inf. Process. Lett. 52(2), 57–60 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  31. Tatsuta, M., Nakazawa, K., Kimura, D.: In: Lin, A.W. (ed.) Programming Languages and Systems—17th Asian Symposium, APLAS 2019, Nusa Dua, Bali, Indonesia, December 1–4, 2019, Proceedings, LNCS, vol. 11893, pp. 367–387. Springer (2019)

  32. Xu, Z., Chen, T., Wu, Z.: In: de Moura, L. (ed.) CADE 26, LNCS, vol. 10395, pp. 509–527. Springer (2017)

Download references

Acknowledgements

This work has been partially funded by the the French National Research Agency (ANR-21-CE48-0011). The authors wish to thank Radu Iosif for his comments on the paper and for fruitful discussions.

Funding

This work has been partially funded by the the French National Research Agency (ANR-21-CE48-0011).

Author information

Authors and Affiliations

Authors

Contributions

All authors contributed equally to this work.

Corresponding authors

Correspondence to Mnacho Echenim or Nicolas Peltier.

Ethics declarations

Conflicts of interest

The authors have no competing interests as defined by Springer, or other interests that might be perceived to influence the results and/or discussion reported in this paper.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Echenim, M., Peltier, N. A Proof Procedure for Separation Logic with Inductive Definitions and Data. J Autom Reasoning 67, 30 (2023). https://doi.org/10.1007/s10817-023-09680-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10817-023-09680-4

Keywords

Navigation