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.
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
Note that \(\kappa \) is not considered as constant for the complexity analysis in Sect. 10: it is part of the input.
Because we will consider transformations introducing an unbounded number of new predicate symbols, we cannot assume that the predicate atoms have a constant size.
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.
We assume that \(\textbf{x}'\) contains no variable in \(\textbf{u}\theta \).
Hence two non-valid sequents with different countermodels are equivalent.
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.
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\).
We recall that a rule is invertible if the validity of its conclusion implies the validity of each of its premises.
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.
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
Berdine, J., Calcagno, C., O’Hearn, P.W.: In: Proceedings of FSTTCS’04, LNCS, vol. 3328. Springer (2004)
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)
Brotherston, J., Simpson, A.: Sequent calculi for induction and infinite descent. J. Logic Comput. 21(6), 1177–1216 (2011)
Calcagno, C., Yang, H., O’hearn, P.W.: In: FST TCS 2001, Proceedings, pp. 108–119. Springer (2001)
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)
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)
Cook, B., Haase, C., Ouaknine, J., Parkinson, M.J., Worrell, J.: In: Proceedings of CONCUR’11, LNCS, vol. 6901. Springer (2011)
Demri, S., Galmiche, D., Larchey-Wendling, D., Méry, D.: In: CSR’14, LNCS, vol. 8476, pp. 125–138. Springer (2014)
Dodds, M., Plump, D.: From hyperedge replacement to separation logic and back. Electron. Commun. Eur. Assoc. Softw. Sci. Technol. 16 (2008)
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)
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)
Echenim, M., Iosif, R., Peltier, N.: In: CSL 2021: 29th International Conference on Computer Science Logic, EPiC Series in Computing. EasyChair (2021)
Echenim, M., Peltier, N.: In: ASL 2022 (Workshop on Advancing Separation Logic) (2022). https://arxiv.org/abs/2206.09389
Enea, C., Sighireanu, M., Wu, Z.: In: ATVA 2015, Proceedings, pp. 80–96 (2015)
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)
Galmiche, D., Méry, D.: Labelled cyclic proofs for separation logic. J. Logic Comput. 31(3), 892–922 (2021)
Iosif, R., Rogalewicz, A., Simacek, J.: In: Proceedings of CADE-24, LNCS, vol. 7898 (2013)
Iosif, R., Rogalewicz, A., Vojnar, T.: In: Cassez, F., Raskin, J. (eds.) ATVA 2014, Proceedings, LNCS, vol. 8837, pp. 201–218. Springer (2014)
Ishtiaq, S.S., O’Hearn, P.W.: In: ACM SIGPLAN Notices, vol. 36, pp. 14–26 (2001)
Jansen, C., Göbe, F., Noll, T.: In: Giese, H., König, B. (eds.) ICGT 2014, LNCS, vol. 8571, pp. 65–80. Springer (2014)
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)
Nakazawa, K., Tatsuta, M., Kimura, D., Yamamura, M.: In: ADSL 18 (First Workshop on Automated Deduction for Separation Logics). Oxford, United Kingdom (2018)
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)
Pagel, J., Matheja, C., Zuleger, F.: Complete entailment checking for separation logic with inductive definitions (2020)
Pagel, J., Zuleger, F.: In: LPAR-23, EPiC Series in Computing, vol. 73, pp. 390–408. EasyChair (2020)
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)
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)
Qiu, X., Garg, P., Stefanescu, A., Madhusudan, P.: In: Boehm, H., Flanagan, C. (eds.) ACM SIGPLAN PLDI ’13, pp. 231–242. ACM (2013)
Reynolds, J.: In: Proceedings of LICS’02 (2002)
Seidl, H.: Haskell overloading is dexptime-complete. Inf. Process. Lett. 52(2), 57–60 (1994)
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)
Xu, Z., Chen, T., Wu, Z.: In: de Moura, L. (ed.) CADE 26, LNCS, vol. 10395, pp. 509–527. Springer (2017)
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
Contributions
All authors contributed equally to this work.
Corresponding authors
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.
About this article
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
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10817-023-09680-4