Abstract
We present a precise correspondence between separation logic and a simple notion of predicate BI, extending the earlier correspondence given between part of separation logic and propositional BI. Moreover, we introduce the notion of a BI hyperdoctrine, show that it soundly models classical and intuitionistic first- and higher-order predicate BI, and use it to show that we may easily extend separation logic to higher-order. We also demonstrate that this extension is important for program proving, since it provides sound reasoning principles for data abstraction in the presence of aliasing.
- Banerjee, A. and Naumann, D. 2005a. Ownership confinement ensures representation independence for object-oriented programs. J. ACM 52, 6, 894--960. Google Scholar
Digital Library
- Banerjee, A. and Naumann, D. 2005b. State based ownership, reentrance and encapsulation. In Proceedings of the European Conference on Object-Oriented Programming. Lecture Notes in Computer Science, vol. 3586. Springer, 387--411. Google Scholar
Digital Library
- Barnett, M., DeLine, R., Fähndrich, M., Leino, K., and Schulte, W. 2003. Verification of object-oriented programs with invariants. In Proceedings of the Conference on Formal Techniques for Java-Like Programs.Google Scholar
- Barnett, M. and Naumann, D. 2004. Friends need a bit more: Maintaining invariants over shared shate. In Proceedings of the Conference on Mathematics of Program Construction (MPC).Google Scholar
- Biering, B. 2004. On the logic of bunched implications and its relation to separation logic. M.S. thesis, University of Copenhagen.Google Scholar
- Biering, B., Birkedal, L., Butz, C., Hyland, J., van Oosten, J., and Streicher, P. R. T. 2006. Notes on the dialectica topos. To appear.Google Scholar
- Birkedal, L., Torp-Smith, N., and Yang, H. 2005. Semantics of separation-logic typing and higher-order frame rules. In Proceedings of the 20th Annual IEEE Symposium on Logic in Computer Science (LICS). IEEE Press, Chicago, IL, 260--269. Google Scholar
Digital Library
- Birkedal, L., Torp-Smith, N., and Reynolds, J. 2004. Local reasoning about a copying garbage collector. In Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL) (Venice, Italy). 220--231. Google Scholar
Digital Library
- Bornat, R., Calcagno, C., O'Hearn, P., and Parkinson, M. 2005. Permission accounting in separation logic. In Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL) (Long Beach, CA). ACM, New York. Google Scholar
Digital Library
- Bornat, R., Calcagno, C., and O'Hearn, P. 2004. Local reasoning, separation and aliasing. In Proceedings of the SPACE (Venice, Italy).Google Scholar
- Birkedal, L. and Yang, H. 2006. Relational parametricity and separation logic. To appear.Google Scholar
- Hoare, C. A. R. 1972. Proof of correctness of data representations. Acta Inf. 1, 271--281.Google Scholar
Digital Library
- Hoare, C. A. R. 1971. Procedures and parameters: An axiomatic approach. In Proceedings of the Symposium on Semantics of Algorithmic Languages, E. Engler, ed. Springer, 102--116.Google Scholar
Cross Ref
- Ishtiaq, S. and O'Hearn, P. W. 2001. BI as an assertion language for mutable data structures. In Proceedings of the 28th Annual ACM SIGPLAN - SIGACT Symposium on Principles of Programming Languages (POPL) (London). Google Scholar
Digital Library
- Jacobs, B. 1999. Categorical Logic and Type Theory. Studies in Logic and the Foundations of Mathematics, vol. 141. North-Holland, Amsterdam, The Netherlands.Google Scholar
- Krishnaswami, N., Birkedal, L., Aldrich, J., and Reynolds, J. 2006. Idealized ML and its separation logic. To appear.Google Scholar
- Lawvere, F. 1969. Adjointness in foundations. Dialectica 23, 3-4, 281--296.Google Scholar
Cross Ref
- Leavans, G. 1988. Verifying object-oriented programs that use subtypes. Ph.D. thesis, MIT. Published as MIT/LCS/TR-439 in February 1989.Google Scholar
- Leino, K. 1995. Toward reliable modular programs. Ph.D. thesis, California Institute of Technology. Google Scholar
Digital Library
- Leino, K. R. M. and Müller, P. 2006. A verification methodology for model fields. In Proceedings of the European Symposium on Programming (ESOP), P. Sestoft, ed. Lecture Notes in Computer Science, vol. 3924. Springer, 115--130. Google Scholar
Digital Library
- Leino, K. and Müller, P. 2004. Object invariants in dynamic contexts. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP).Google Scholar
- Liskow, B. and Guttag, J. 1986. Abstraction and Specification in Program Development. MIT Press, Cambridge, MA. Google Scholar
Digital Library
- MacLane, S. and Moerdijk, I. 1994. Sheaves in Geometry and Logic. Universitext. Springer, New York. A first introduction to topos theory, Corrected reprint of the 1992 edition.Google Scholar
- Mitchell, J. C. and Plotkin, G. D. 1985. Abstract types have existential type. In Proceedings of the 12th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL) (New Orleans, LA), 37--51. Google Scholar
Digital Library
- Müller, P. 2002. Modular Specification and Verification of Object-Oriented Programs. Lecture Notes in Computer Science, vol. 2262, Springer.Google Scholar
- Nanevski, A., Ahmed, A., Morrisett, G., and Birkedal, L. 2006. Abstract predicates and mutable ADTs in Hoare type theory. Tech. Rep. TR--14-06, Harvard University.Google Scholar
- Naumann, D. and Barnett, M. 2006. Towards imperative modules: Reasoning about invariants and mutable state. Theor. Comput. Sci. 365, 143--168. Google Scholar
Digital Library
- O'Hearn, P. W. 2004. Resources, concurrency and local reasoning. In Proceedings of the 15th International Conference on Concurrency Theory (CONCUR) (London). Lecture Notes in Computer Science, vol. 3170. Springer, 49--67.Google Scholar
- O'Hearn, P. W., Yang, H., and Reynolds, J. C. 2004. Separation and information hiding. In Proceedings of the 31st ACM SIGPLAN - SIGACT Symposium on Principles of Programming Languages (POPL) (Venice, Italy). 268--280. Google Scholar
Digital Library
- O'Hearn, P. W., Yang, H., and Reynolds, J. C. 2003. Separation and information hiding (work in progress). Extended version of O'Hearn et al. {2004}.Google Scholar
- O'Hearn, P. and Pym, D. J. 1999. The logic of bunched implications. Bull. Symb. Logic 5, 2 (Jun.).Google Scholar
Cross Ref
- Parkinson, M. and Bierman, G. 2005. Separation logic and abstraction. In Proceedings of the 32nd Annual ACM SIGPLAN - SIGACT Symposium on Principles of Programming Languages (POPL) (Long Beach, CA). 247--258. Google Scholar
Digital Library
- Pitts, A. M. 2001. Categorical logic. In Handbook of Logic in Computer Science, volume 5: Algebraic and Logical Structures, S. Abramsky et al., eds. Clarendon Press, Oxford, UK. Chapter 2.Google Scholar
- Pym, D. J. 2004. Errata and remarks for the semantics and proof theory of the logic of bunched implications. Addendum to Pym {2002}. http://www.cs.bath.ac.uk/~pym/.Google Scholar
- Pym, D. 2002. The Semantics and Proof Theory of the Logic of Bunched Implications. Applied Logics Series, vol. 26. Kluwer.Google Scholar
Cross Ref
- Pym, D. J., O'Hearn, P. W., and Yang, H. 2004. Possible worlds and resources: The semantics of BI. Theor. Comput. Sci. 315, 1, 257--305. Google Scholar
Digital Library
- Reynolds, J. C. 2002. Separation logic: A logic for shared mutable data structures. In Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science (LICS) (Copenhagen, Denmark). IEEE Press 55--74. Google Scholar
Digital Library
- Silberschatz, A. and Galvin, P. 1998. Operating Systems Concepts, 5th ed. World Student Series. Addison-Wesley, Reading, MA. Google Scholar
Digital Library
- Yang, H. 2001. Local reasoning for stateful programs. Ph.D. thesis, University of Illinois, Urbana-Champaign. Google Scholar
Digital Library
- Yang, H. and O'Hearn, P. 2002. A semantic basis for local reasoning. In Proceedings of the 5th International Conference on Foundations of Software Science and Computation Structures (FOSSACS) (Grenoble, France). Springer, 402--416. Google Scholar
Digital Library
Index Terms
BI-hyperdoctrines, higher-order separation logic, and abstraction
Recommendations
BI hyperdoctrines and higher-order separation logic
ESOP'05: Proceedings of the 14th European conference on Programming Languages and SystemsWe present a precise correspondence between separation logic and a new simple notion of predicate BI, extending the earlier correspondence given between part of separation logic and propositional BI [14]. Moreover, we introduce the notion of a BI ...
Interactive proofs in higher-order concurrent separation logic
POPL '17When using a proof assistant to reason in an embedded logic -- like separation logic -- one cannot benefit from the proof contexts and basic tactics of the proof assistant. This results in proofs that are at a too low level of abstraction because they ...
Interactive proofs in higher-order concurrent separation logic
POPL '17: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming LanguagesWhen using a proof assistant to reason in an embedded logic -- like separation logic -- one cannot benefit from the proof contexts and basic tactics of the proof assistant. This results in proofs that are at a too low level of abstraction because they ...






Comments