Abstract
We overview the logic of Bunched Implications (BI) and Separation Logic (SL) from a perspective inspired by Hiroakira Ono’s algebraic approach to substructural logics. We propose generalized BI algebras (GBI-algebras) as a common framework for algebras arising via “declarative resource reading”, intuitionistic generalizations of relation algebras and arrow logics and the distributive Lambek calculus with intuitionistic implication. Apart from existing models of BI (in particular, heap models and effect algebras), we also cover models arising from weakening relations, formal languages or more fine-grained treatment of labelled trees and semistructured data. After briefly discussing the lattice of subvarieties of \(\mathsf {GBI}\), we present a suitable duality for \(\mathsf {GBI}\) along the lines of Esakia and Priestley and an algebraic proof of cut elimination in the setting of residuated frames of Galatos and Jipsen. We also show how the algebraic approach allows generic results on decidability, both positive and negative ones. In the final part of the paper, we gently introduce the substructural audience to some theory behind state-of-art tools, culminating with an algebraic and proof-theoretic presentation of (bi-) abduction.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Let us note that dropping associativity of multiplicative conjunction has also been considered from all three perspectives, i.e., that of arrow logic, that of substructural logic, and most recently that of BI and resource reasoning. See Remark 7.5 for more information.
- 2.
- 3.
In the theory of semigroups, one would rather use the name algebraic preordering. It is also known as divisibility relation for commutative semigroups.
- 4.
Brotherston and Kanovich [19, Sect. 2.2] stick to the finite partial definition, but the total one is arguably more natural and common (see e.g. [49, 126, 147]); this is one of differences between stores (stacks) and heap(let)s. Especially under the total perspective the name store, used also by Demri and Deters [49] seems more adequate. Nevertheless, both perspectives can be brought together: one can think of the constant function \(\lambda x : PVar . 0\) as the default or unintialized stack (store) and restrict the attention to stacks almost everywhere equal to zero.
- 5.
The reader is encouraged to compare this list with Galatos et al. [68, Sect. 3.5].
- 6.
- 7.
The proof of decidability of \(\mathsf {GBI}\) in Galatos and Jipsen [67] appears to have an issue with the complexity measure, as pointed out by R. Ramanayake. Decidability of \(\mathsf {nGBI}\) has also been proved by Docherty and Pym [54], independently of the same result in Galatos and Jipsen [67].
- 8.
Needless to say, the residuated frame approach to proof theory of (G)BI is not the only possible one. As we have already pointed out, there is an intimate connection with a massive body of work on proof theory of relevance logics. See comments and references in the Introduction. We should also mention here that there are numerous more recent references, e.g., cut-free proof calculi for subvarieties of \(\mathsf {BI}\) of Ciabattoni and Ramanayake [38].
- 9.
- 10.
Note that the assertion for WHILE is valid only when read as a partial one. That is, \(\{P\}C\{Q\}\) is read as if C is started in a store satisfying P and terminates, then any store it terminates in satisfies Q. Under this reading, for example, \(\{\top \}C\{\bot \}\) simply specifies that C never terminates, regardless of the original values of program variables. An alternative reading, usually denoted as [P]C[Q], is the total one: if C is started in a store satisfying P, then it terminates and any store it terminates in satisfies Q.
- 11.
On the other hand, the semantic clause of \(\mathbin {{-}\!*}\) quantifies over the collection of all possible disjoint extensions satisfying Q, which can be infinite, and is problematic from a model checking point of view. For this reason, there is a line of research dealing with adjunct elimination for separation logic and related formalisms [25, 29, 47, 102].
- 12.
When specifying this property in a proof assistant, one can do it in a (co)inductive fashion. In a metatheory allowing excluded middle at least for assertions, one can work with two inductive properties fault and no_fault and show (using excluded middle) that they are complementary, i.e., that for any (s, h) and C exactly one of the two holds. Alternatively, one can stay within constructive metatheory by making no_fault coinductive. See [123] for an example of a student-oriented formalization in a proof assistant discussing these issues.
- 13.
In our ideal mathematical world, where heaps can be arbitrarily large as long as they are finite, allocation never leads to a memory fault (unlike lookup, mutation and deallocation).
- 14.
Of course, only free occurrences matters. But in our language there are no binders for elements of PVar (unlike AVar).
- 15.
The term frame problem was originally proposed in a classical 1969 paper [106] on problems of knowledge representation in artificial intelligence. The realization that such problems arise also in formal specifications using Floyd-Hoare logics predates the development of separation logic. An example, focusing on the issues of object-oriented specifications with inheritance, is provided by a 1995 paper by Borgida et al. [13].
- 16.
Note that this rule allows to spread equality statements across the bunch. In the store-and-heap semantics, such atoms are heap-independent: they only depend on the store.
- 17.
Note that the denotation of pointer atoms is finite only if both \(\textit{PVar}\) and \(\textit{Val}\) are finite. Brotherston and Kanovich [19, Sect. 10] circumvent this by stating corresponding theorems in the heap-only setting, but given that the original result of Calcagno et al. [30] was proved for a store-and-heap model, a somewhat more general formulation would be desirable.
- 18.
Although when it comes to Peirce’s own views, “[i]t is a common complaint that no coherent picture emerges from Peirce’s writings on abduction. (Though perhaps this is not surprising, given that he worked on abduction throughout his career, which spanned a period of more than fifty years ...)” [56].
- 19.
- 20.
References
Andréka, H., Kurucz, Á., Németi, I., Sain, I., & Simon, A. (1996). Causes and remedies for undecidability in arrow logics and in multi-modal logics. In Arrow logic and multi-modal logic (pp. 63–100). Study logic, language and information. CSLI Publications.
Armeín, P. A., & Pym, D. J. (2001). Bunched logic programming. In Proceedings of IJCAR (Vol. 2083, pp. 289–304). LNCS. Springer.
Belardinelli, F., Jipsen, P., & Ono, H. (2004). Algebraic aspects of cut elimination. Studia Logica, 77(2), 209–240.
Belnap, N. D., Jr. (1982). Display logic. Journal of Philosophical Logic, 11(4), 375–417.
Berdine, J., Calcagno, C., & O’Hearn, P. W. (2005). A decidable fragment of separation logic. In Proceeding of FSTTCS (pp. 97–109).
Berdine, J., Calcagno, C., & O’Hearn, P. W. (2006). Smallfoot: modular automatic assertion checking with separation logic. In Proceedings of FMCO (pp. 115–137).
Berdine, J., Calcagno, C., & O’Hearn, P. W. (2005). Symbolic execution with separation logic. In Proceedings of APLAS (pp. 52–68).
Berdine, J., Cook, B., & Ishtiaq, S. (2011). Slayer: Memory safety for systems-level code. In Proceedings of CAV (pp. 178–183).
Biering, B., Birkedal, L., & Torp-Smith, N. (2007). BI-hyperdoctrines, higher-order separation logic, and abstraction. ACM Transactions on Programming Languages and Systems, 29(5) (2007).
Blok, W. J., & Pigozzi, D. (1989). Algebraizable logics (Vol. 77). Memoirs AMS 396. AMS.
Blok, W. J., & Van Alten, C. J. (2002). The finite embeddability property for residuated lattices, pocrims and BCK-algebras. Algebra University, 48(3), 253–271.
Bloom, S. L., & Ésik, Z. (1993). Iteration theories: The equational logic of iterative processes. Monographs in theoretical computer science. An EATCS series. Springer.
Borgida, A., Mylopoulos, J., & Reiter, R. (1995). On the frame problem in procedure specifications. IEEE Transactions on Software Engineering, 21(10), 785–798.
Bornat, R. (2000). Proving pointer programs in Hoare logic. In Proceedings of MPC (pp. 102–126).
Bornat, R., Calcagno, C., & Yang, H. (2006). Variables as resource in separation logic. In Proceedings of MFPS (Vol. 155, pp. 247–276). ENTCS.
Brookes, S. (2007). A semantics for concurrent separation logic. Theoretical Computer Science, 375(1–3), 227–270.
Brookes, S., & O’Hearn, P. W. (2016). Concurrent separation logic. ACM SIGLOG News, 3(3), 47–65.
Brotherston, J., & Calcagno, C. (2010). Classical BI: Its semantics and proof theory. LMCS (Vol. 6.3).
Brotherston, J., & Kanovich, M. (2014). Undecidability of propositional separation logic and its neighbours. Journal of ACM, 61(2), 14:1–14:43.
Brotherston, J.,& Kanovich, M. I. (2010). Undecidability of propositional separation logic and its neighbours. In Proceedings of LiCS (pp. 130–139).
Brotherston, J., & Villard, J. (2014). Parametric completeness for separation theories (pp. 453–464).
Bürckert H.-J. (1986). Some relationships between unification, restricted unification, and matching. In Proceedings of CADE (pp. 514–524).
Burstall, R. M. (1972). Some techniques for proving correctness of programs which alter data structures. In Machine intelligence (Vol. 7, pp. 23–50); Edinburgh.
Calcagno, C. , O’Hearn, P. W., & Yang, H. (2007). Local action and abstract separation logic. In Proceedings of LiCS (pp. 366–378).
Calcagno, C., Dinsdale-Young, T., & Gardner, P. (2010). Adjunct elimination in context logic for trees. Information and Computation, 208(5), 474–499.
Calcagno, C., & Distefano, D. (2011). Infer: An automatic program verifier for memory safety of C programs. In Proceedings of NFM (pp. 459–465).
Calcagno, C., Distefanom, D., O’Hearn, P. W., & Yang, H. (2011). Compositional shape analysis by means of bi-abduction. Journal ACM, 58(6), 26:1–26:66.
Calcagno, C., Gardner, P., & Zarfaty, U. (2005). Context logic and tree update. In Proceedings of POPL (pp. 271–282).
Calcagno, C., Gardner, P., & Zarfaty, U. (2007). Context logic as modal logic: Completeness and parametric inexpressivity. In Proceedings of POPL (pp. 123–134).
Calcagno, C., Yang, H., & O’Hearn, P. W. (2001). Computability and complexity result for a spatial assertion language for data structures. In Proceedings of FSTTCS (pp. 108–119).
Calcagno, C., et al. (2015). Moving fast with software verification. In Proceedings of NFM (pp. 3–11).
Cardelli, L., & Ghelli, G. (2004). TQL: A query language for semistructured data based on the ambient logic. In MSCS 14 (03 2004) (pp. 285–327).
Cardelli, L., & Gordon, A. D. (2000). Anytime, anywhere: Modal logics for mobile ambients. In Proceedings of POPL (pp. 365–377).
ten Cate, B., Fontaine, G., & Litak, T. (2010). Some modal aspects of XPath. Journal of Applied Non-Classical Logics, 20(3), 139–171.
ten Cate, B., Litak, T., & Marx, M. (2010). Complete axiomatizations for XPath fragments. Journal of Applied Logics, 8(2), 153–172.
Chagrov, A., & Zakharyaschev, M. (1997). Modal logic. Oxford Logic Guides (Vol. 35). Clarendon Press.
Chlipala, A. (2016). Formal reasoning about programs. Online book and course material: http://adam.chlipala.net/frap/.
Ciabattoni, A., & Ramanayake, R. (2017). Bunched hypersequent calculi for distributive substructural logics. In Proceedings of LPAR (Vol. 46). EPiC Series in Computing (pp. 417–434).
Cintula, P., & Noguera, C. (2010). Implicational (semilinear) logics I: A new hierarchy. Archive for Mathematical Logic, 49(4), 417–446.
Clarke, E. M. (1985). The characterization problem for Hoare logics. In Proceedings of a discussion meeting of the royal society of london on mathematical logic and programming languages (pp. 89–106).
Collinson, M., McDonald, K., & Pym, D. (2014). A substructural logic for layered graphs. Journal of Logic and Computation, 24(4), 953–988.
Cook, S. A. (1978). Soundness and completeness of an axiom system for program verification. SIAM Journal on Computing, 7(1), 70–90.
Cuoq, P., et al. (2012). Frama-c. In Proceedings of SEFM (pp. 233–247).
Dang, H.-H., Höfner, P., & Möller, B. (2011). Algebraic separation logic. JLAMP, 80(6), 221–247.
Davey, B. A., & Galati, J. C. (2003). A coalgebraic view of Heyting duality. Studia Logica, 75, 259–270.
Davey, B. A., & Priestley, H. A. (2002). Introduction to lattices and order. Cambridge.
Dawar, A., Gardner, P., & G. Ghelli (2004). Adjunct elimination through games in static ambient logic. In Proceedings of FSTTCS (pp. 211–223).
Day, B. (1970). On closed categories of functors. In: Reports of the midwest category seminar IV. (Vol. 137). Lecture Notes in Mathematics (pp. 1–38).
Demri, S., & Deters, M. (2015). Separation logics and modalities: A survey. Journal of Applied Non-Classical Logics.
Demri, S., & Deters, M. (2015). Two-variable separation logic and its inner circle. ACM Transactions on Computational Logic, 16(2), 15:1–15:36.
Demri, S., Galmiche, D., Larchey-Wendling, D., & Méry, D. (2014). Separation logic with one quantified variable. In Proceedings of CSR (pp. 125–138).
Denecker, M., & Kakas, A. (2000). Special issue: Abductive logic programming. Journal Logic Programming, 44(1), 1–4.
Distefano, D., O’Hearn, P. W., & Yang, H. (2006). A local shape analysis based on separation logic. In Proceedings of TACAS (pp. 287–302).
Docherty, S., & Pym, D. J. (2017). Intuitionistic layered graph logic: Semantics and proof theory. CoRR. arXiv:1710.03021.
Docherty, S. & Pym, D. J. (2017). Stone-type dualities for separation logics. CoRR. arXiv:1710.03021.
Douven, I. (2017). Abduction. In The Stanford encyclopedia of philosophy. Metaphysics Research Lab, Stanford U. https://plato.stanford.edu/archives/sum2017/entries/abduction/.
Dunn, J. M. (1975). Consecution formulation of positive R with co-tenability and t. In Entailment: The logic of relevance and necessity (Vol. 1, pp. 381–391). Princeton.
Engberg, U., & Winskel, G. (1997). Completeness results for linear logic on Petri nets. Annals of Pure and Applied Logic, 86(2), 101–135.
Floyd, R. W. (1967). Assigning meanings to programs. In Mathematical aspects of computer science (Vol. 19, pp. 19–32); Proceedings of Symposia in Applied Mathematics AMS.
Font, J. M. (2018). Abstract algebraic logic. An introductory chapter. In Hiroakira Ono on residuated lattices and substructural logics. Outstanding contributions to logic. Springer (to appear).
Foulis, D. J., & Bennett, M. K. (1994). Effect algebras and unsharp quantum logics. Foundations of Physics, 24(10), 1331–1352.
Freese, R. (1980). Free modular lattices. Transactions of the American Mathematical Society, 261(1), 81–91.
Galatos, N. (2005). Minimal varieties of residuated lattices. Algebra University, 52(2), 215–239.
Galatos, N. (2000). Selected topics on residuated lattices (p. 50). Qualifying paper: Department of Mathematics, Vanderbilt U.
Galatos, N. (2002). The undecidability of the word problem for distributive residuated lattices. In Developments in mathematics (Vol. 7, pp. 231–243).
Galatos, N., & Jipsen, P. (2013). Residuated frames with applications to decidability. Transactions of the American Mathematical Society, 365(3), 1219–1249.
Galatos, N.,& Jipsen, P., (March, 2017). Distributive residuated frames and generalized bunched implication algebras. Algebra University, 78, 303–336.
Galatos, N., Jipsen, P., Kowalski, T., & Ono, H. (2007). Residuated lattices: An algebraic glimpse at substructural logics. Studies in Logic and the Foundations of Mathematics, 151.
Galatos, N., & Jipsen, P. (2020). The structure of generalized BI-algebras and weakening relation algebras. Algebra Universalis, 81(3), 1–35. https://doi.org/10.1007/s00012-020-00663-9.
Galatos, N., & Jipsen, P. (2020). Weakening relation algebras and FL\({}^{\text{2}}\)-algebras. In U. Fahrenberg, P. Jipsen, & M. Winter (Eds.), Relational and algebraic methods in computer science - 18th International Conference, RAMiCS 2020, Palaiseau, France, April 8–11, 2020, Proceedings, Lecture Notes in Computer Science. Vol. 12062, pp. 117–133. https://doi.org/10.1007/978-3-030-43520-2_8.
Galatos, N., & Ono, H. (2010). Cut elimination and strong separation for substructural logics: An algebraic approach. Annals of Pure and Applied Logic, 161(9), 1097–1133.
Galatos, N., & Raftery, J. G. (2004). Adding involution to residuated structures. Studia Logica, 77(2), 181–207.
Galmiche, D., & Larchey-Wendling, D. (2006). Expressivity properties of boolean BI through relational models. In Proceedings of FSTTCS (pp. 357–368).
Galmiche, D., Méry, D., & Pym, D. J. (2005). The semantics of BI and resource tableaux. MSCS, 15(6), 1033–1088.
Henkin, L., Monk, J., & Tarski, A. (1985). Cylindric algebras. Part II. Studies in Logic and the Foundations of Mathematics (Vol. 115). North-Holland.
Hoare, C. A. R. (1969). An axiomatic basis for computer programming. Communications of the ACM, 12(10), 576–580.
Hoare, T., Möller, B., Struth, G., & Wehrman, I. (2011). Concurrent Kleene algebra and its foundations. JLAMP, 80(6), 266–296.
Ishtiaq, S. S., & O’Hearn, P. W. (2001). BI as an assertion language for mutable data structures. In Proceedings of POPL (pp. 14–26).
Jacobs, B., Vogels, F., & Piessens, F. (2015). Featherweight VeriFast. LMCS (Vol. 11) (2015).
Jacobs, B., et al. (2011) VeriFast: A powerful, sound, predictable, fast verifier for C and Java. In Proceedings of NFM (pp. 41–55).
Jankov, V. A. (1968). The construction of a sequence of strongly independent superintuitionistic propositional calculi. Soviet Mathematics Doklady, 9,.
Jipsen, P. (1992). Computer-aided investigations of relation algebras. PhD thesis. Vanderbilt U.
Jipsen, P. (2014). Concurrent Kleene algebra with tests. In Proceedings of RAMiCS (Vol. 8428, pp. 37–48). LNCS.
Jipsen, P., & Maddux, R. (1997). Nonrepresentable sequential algebras. Logic Journal of the IGPL, 5(4), 565–574.
Jipsen, P., & Moshier, M. A. (2016). Concurrent Kleene algebra with tests and branching automata. JLAMP, 85(4), 637–652.
Jipsen, P., & Tsinakis, C. (2002). A survey of residuated lattices. In Developments in Mathematics (Vol. 7, pp. 19–56).
Jónsson, B., & Tsinakis, C. (1993). Relation algebras as residuated boolean algebras. Algebra University, 30(4), 469–478.
Jung, R., Krebbers, R., Birkedal, L., & Dreyer, D. (2016). Higher-order ghost state. In Proceedings of ICFP (pp. 256–269).
Kassios, I. T. (2006). Dynamic frames: Support for framing, dependencies and sharing without restrictions. In Proceedings of FM (pp. 268–283).
Kleymann, T. (1999). Hoare logic and auxiliary variables. Formal Aspects of Computing, 11(5), 541–566.
Kozak, M. (2009). Distributive full Lambek calculus has the finite model property. Studia Logica, 91(2), 201–216.
Kozen, D. (2000). On Hoare logic and Kleene algebra with tests. ACM Transactions on Computational Logic, 1(1), 60–76.
Krebbers, R., et al. (2018). MoSeL: A general, extensible modal framework for interactive proofs in separation logic. In Proceedings of ACM Programming Languages, 2. ICFP (pp. 77:1–77:30).
Kurucz, Á., Németi, I., Sain, I., & Simon, A. (1995). Decidable and undecidable logics with a binary modality. JoLLI, 4(3), 191–206.
Larchey-Wendling, D., & Galmiche, D. (2009). Exploring the relation between Intuitionistic BI and Boolean BI: An unexpected embedding. MSCS, 19(3), 435–500.
Larchey-Wendling, D., & Galmiche, D. (2013). Nondeterministic phase semantics and the undecidability of boolean BI. ACM Transactions on Computational Logic, 14(1), 6:1–6:41.
Larchey-Wendling, D., & Galmiche, D. (2010). The undecidability of boolean BI through phase semantics. In Proceedings of LiCS (pp. 140–149).
Leino, K. R. M. (2010). Dafny: An automatic program verifier for functional correctness. In Proceedings of LPAR (pp. 348–370). Berlin: Springer.
Lipshitz, L. (1974). The undecidability of the word problems for projective geometries and modular lattices. Transactions of the American Mathematical Society, 193, 171–180.
Litak, T. (2013–2018.). Lecture material of SemProg 2018@FAU: our fork of [122]. http://dx.doi.org/10.13140/RG.2.2.10542.36168.
Litak, T., Polzer, M., & Rabenstein, U. (2017). Negative translations and normal modality. In Proceedings of FSCD (Vol. 84, 27:1–27:18). LIPIcs.
Lozes, É. (2004). Adjuncts elimination in the static ambient logic. In Proceedings of the 10th international workshop on expressiveness in concurrency (Vol. 96, pp. 51–72); ENTCS.
Maddux, R. D. (2006). Relation algebras. Studies in logic and the foundations of mathematics (Vol. 150).
Manes, E. G., & Arbib, M. A. (1986). Algebraic approaches to program semantics. The AKM series in theoretical CS.
Marx, M., Pólos, L., & Masuch, M. (Eds). Arrow logic and multi-modal logic. Studies in logic, language, and information. CSLI Publications.
McCarthy, J., & Hayes, P. J. (1969). Some philosophical problems from the standpoint of artificial intelligence. In Machine intelligence (Vol. 4, pp. 463–502); Edinburgh.
McKinsey, J. C. C., & Tarski, A. (1946). On closed elements in closure algebras. Annals of Mathematics, 47(1), 122–162.
Meyer, B. (1997). Object-oriented software construction (2nd ed.). Prentice-Hall, Inc.
Mikulás, S. (1996). Complete calculus for conjugated arrow logic. In: Arrow logic and multi-modal logic. Studies in logic, language, and information (pp. 125–139). CSLI Publications.
Mints, G. E. (1976). Cut-elimination theorem for relevant logics. Journal of Soviet Mathematics, 6(4), 422–428.
von Neumann, J. (1960). Continuous geometry. Princeton.
O’Hearn, P. W. (2012). A primer on separation logic (and automatic program verification and analysis). In Software safety and security (Vol. 33, pp. 286–318). NATO SPS Series D.
O’Hearn, P. W. (2017). Email to T. Litak and P. Jipsen, 29 August 2017.
O’Hearn, P. W. (1999). Resource interpretations, bunched implications and the al-calculus (preliminary version). In Proceedings of TLCA (Vol. 1581, pp. 258–279). LNCS.
O’Hearn, P. W. (2007). Resources, concurrency, and local reasoning. Theoretical Computer Science, 375(1), 271–307.
O’Hearn, P. W., Petersen, R. L., Villard, J., & Hussain, A. (2015). On the relation between concurrent separation logic and concurrent kleene algebra. JLAMP, 84(3), 285–302.
O’Hearn, P. W., & Pym, D. J. (1999). The logic of bunched implications. 5.2, 215–244.
O’Hearn, P. W., Yang, H., & Reynolds, J. C. (2009). Separation and information hiding. ACM Transactions on Programming Languages and Systems, 31(3), 1–50.
O’Hearn, P., Reynolds, J., & Yang, H. (2001). Local reasoning about programs that alter data structures. In Proceedings of CSL (pp. 1–19).
Parkinson, M., Bornat, R., & Calcagno, C. (2006). Variables as resource in Hoare logics. In Proceedings of LiCS (pp. 137–146).
Parkinson, M., & Bierman, G. (2005). Separation logic and abstraction. In Proceedings Of POPL (pp. 247–258).
Paul, G. (1993). Approaches to abductive reasoning: An overview. Artificial Intelligence Review, 7(2), 109–152.
Paulus, D. (2016). ImpDynamic: Dynamic memory allocation and separation logic in the style of Software Foundations. A Coq formalization supervised by T. Litak, part of plf18 volume of [96]
Peirce, C. S. (1931–1958). In C. Hartshorne, P. Weiss, and A. B. Harvard (Eds.), Collected papers of charles sanders peirce.
Philippaerts, P., et al. (2014). Software verification with VeriFast: Industrial case studies. Science of Computer Programming, 82, 77–97.
Pierce, B. C. et al. (2018) Software foundations. Version 5.6 (25 Aug 2018, Coq 8.8.0). Electronic textbook http://www.cis.upenn.edu/~cpierce/sf.
Pratt, V. (1991). Action logic and pure induction. In Logics in AI (Vol. 478, pp. 97–120). LNCS.
Pratt, V. R. (1976). Semantical consideration on Floyd-Hoare logic. In Proceedings of the 17th SFCS (pp. 109–121).
Pym, D. (2002). The semantics and proof theory of the logic of bunched implications (Vol. 26). Applied logic series: Kluwer Academic Publishers.
Pym, D. J. (1999). On bunched predicate logic. In Proceedings of LiCS (pp. 183–192).
Pym, D. J., O’Hearn, P. W., & Yang, H. (2004). Possible worlds and resources: The semantics of BI. Theoretical Computer Science, 315(1), 257–305.
Raftery, J. (2018). Universal algebraic methods for non-classical logics. In Hiroakira Ono on residuated lattices and substructural logics. Outstanding contributions to logic. Springer (to appear).
Ramanayake, R. (2016). A purely syntactic proof of decidability for BI. CoRR. arXiv:1609.05847.
Rasiowa, H. (1974). An algebraic approach to non-classical logics (Vol. 78). Studies in logic and the foundations of mathematics. North-Holland.
Read, S. (1988). Relevant logic: A philosophical examination of inference. B. Blackwell.
Reynolds, J. C. (2000). Intuitionistic reasoning about shared mutable data structure. In Millennial perspectives in computer science (pp. 303–321); Palgrave.
Reynolds, J. C. (2002). Separation logic: A logic for shared mutable data structures. In Proceedings of LiCS (pp. 55–74).
Sieczkowski, F., Bizjak, A., & Birkedal, L. (2015). ModuRes: A Coq library for modular reasoning about concurrent higher-order imperative programming languages. In Proceedings of ITP (pp. 375–390).
Smans, J., Jacobs, B., & Piessens, F. (2009). Implicit dynamic frames: combining dynamic frames and separation logic. In Proceedings of ECOOP (pp. 148–172).
Tarski, A. (1941). On the calculus of relations. Journal of Symbolic Logic, 6(3), 73–89.
Troelstra, A., & Schwichtenberg, H. (1996). Basic proof theory. Cambridge.
Tuerk, T. (2011). A separation logic framework for HOL. Technical report UCAM-CL-TR-799. University of Cambridge, Computer Laboratory.
Urquhart, A. (1995). Decision problems for distributive lattice-ordered semigroups. Algebra University, 33(3), 399–418.
Urquhart, A. (1996). Duality for algebras of relevant logics. Studia Logica, 56, 1–2 ; Special issue on Priestley duality, pp. 263–276.
Urquhart, A. (1972). Semantics for relevant logics. Journal of Symbolic Logic, 37(1), 159–169.
Urquhart, A. (1984). The undecidability of entailment and relevant implication. Journal of Symbolic Logic, 49(4), 1059–1073.
Winskel, G. (1993). The formal semantics of programming languages: An introduction. MIT Press.
Yang, H. (2001). Local reasoning for stateful programs. PhD thesis. University of Illinois.
Yang, H., et al. (2008) Scalable shape analysis for systems code. In Proceedings of CAV (pp. 385–398).
Acknowledgements
We would like to thank: Hiroakira Ono, without whom both authors would not have met once upon a time in western Japan, there would have been no stimulus to write this overview, and many other things would not have happened; Nick Galatos and Kazushige Terui for suggesting the idea to write this overview, and for their patience and support during the very long write-up period; Nick, Peter O’Hearn, Revantha Ramanayake and Simon Docherty for their comments in the final stages of write-up, in Peter’s case including the suggestion to add some material on bi-abduction (Sect. 11) and feedback regarding Infer and automated tools discussed in Sect. 12.2. Moreover, the second author wishes to thank: the family of the first author, in particular Julie Tapp, for hosting him for two weeks in April 2015, when the bulk of this paper was written; his project student Dominik Paulus for developing a convenient Coq formalization [123], which proved helpful when working on Sects. 9–10; and Erwin R. Catesbeiana, for displaying a tantalizing view on the empty heaplet.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
Cite this chapter
Jipsen, P., Litak, T. (2022). An Algebraic Glimpse at Bunched Implications and Separation Logic. In: Galatos, N., Terui, K. (eds) Hiroakira Ono on Substructural Logics. Outstanding Contributions to Logic, vol 23. Springer, Cham. https://doi.org/10.1007/978-3-030-76920-8_5
Download citation
DOI: https://doi.org/10.1007/978-3-030-76920-8_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-76919-2
Online ISBN: 978-3-030-76920-8
eBook Packages: Religion and PhilosophyPhilosophy and Religion (R0)