BI Hyperdoctrines and Higher-Order Separation Logic

  • Bodil Biering
  • Lars Birkedal
  • Noah Torp-Smith
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3444)

Abstract

We 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 hyperdoctrine and 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 argue that the given correspondence may be of import for formalizations of separation logic.

References

  1. 1.
    Biering, B.: On the logic of bunched implications and its relation to separation logic. Master’s thesis, University of Copenhagen (2004)Google Scholar
  2. 2.
    Birkedal, L., Torp-Smith, N., Reynolds, J.C.: Local reasoning about a copying garbage collector. In: Proceedings of the 31-st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2004), Venice, Italy, pp. 220–231 (2004)Google Scholar
  3. 3.
    Bornat, R.: Local reasoning, separation and aliasing. In: Proceedings of the Second Workshop on Semantics, Program Analysis and Computing Environments for Memory Management (SPACE 2004), Venice, Italy (January 2004)Google Scholar
  4. 4.
    Bornat, R., Calcagno, C., O’Hearn, P., Parkinson, M.: Permission accounting in separation logic. In: Proceedings of POPL 2005, Long Beach, CA, USA, January 2005. ACM, New York (2005) Accepted for publication Google Scholar
  5. 5.
    Calcagno, C., O’Hearn, P.W., Bornat, R.: Program logic and equivalence in the presence of garbage collection. Theoretical Computer Science 298(3), 557–587 (2003)MATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Ishtiaq, S., O’Hearn, P.W.: BI as an assertion language for mutable data structures. In: Proceedings of the 28th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2001 (2001)Google Scholar
  7. 7.
    Jacobs, B.: Categorical Logic and Type Theory. Studies in Logic and the Foundations of Mathematics, vol. 141. North-Holland Publishing Co., Amsterdam (1999)MATHGoogle Scholar
  8. 8.
    Lawvere, F.W.: Adjointness in foundations. Dialectica 23(3/4), 281–296 (1969)MATHCrossRefGoogle Scholar
  9. 9.
    O’Hearn, P.W., Yang, H., Reynolds, J.C.: Local reasoning about programs that alter data structures. In: Fribourg, L. (ed.) CSL 2001 and EACSL 2001. LNCS, vol. 2142, pp. 1–19. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  10. 10.
    O’Hearn, P.W., Yang, H., Reynolds, J.C.: Separation and information hiding (work in progress). Extended version of [11] (2003)Google Scholar
  11. 11.
    O’Hearn, P.W., Yang, H., Reynolds, J.C.: Separation and information hiding. In: Proceedings of the 31-st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2004), Venice, Italy, pp. 268–280 (2004)Google Scholar
  12. 12.
    O’Hearn, P.W., Pym, D.J.: The logic of bunched implications. Bulletin of Symbolic Logic 5(2), 215–244 (1999)MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Pitts, A.M.: Categorical logic. In: Abramsky, S., Gabbay, D.M., Maibaum, T.S.E. (eds.) Algebraic and Logical Structures Handbook of Logic in Computer Science, ch. 2, vol. 5. Oxford University Press, Oxford (2000)Google Scholar
  14. 14.
    Pym, D., O’Hearn, P.W., Yang, H.: Possible worlds and resources: The semantics of BI. Theoretical Computer Science 315(1), 257–305 (2004)MATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Pym, D.J.: The Semantics and Proof Theory of the Logic of Bunched Implications. Kluwer Academic Publishers, Dordrecht (2002)MATHGoogle Scholar
  16. 16.
    Pym, D.J.: Errata and remarks for the semantics and proof theory of the logic of bunched implications (2004), Available at http://www.cs.bath.ac.uk/~pym/BI-monograph-errata.pdf
  17. 17.
    Reynolds, J.C.: On extensions of separation logic. Private CommunicationGoogle Scholar
  18. 18.
    Reynolds, J.C.: The Craft of Programming. Prentice-Hall, Englewood Cliffs (1981)MATHGoogle Scholar
  19. 19.
    Reynolds, J.C.: Intuitionistic reasoning about shared mutable data structure. In: Davies, J., Roscoe, B., Woodcock, J. (eds.) Millennial Perspectives in Computer Science, pp. 303–321. Palgrave, Houndsmill, Hampshire (2000)Google Scholar
  20. 20.
    Reynolds, J.C.: Separation logic: A logic for shared mutable data structures. In: Seventeenth Annual IEEE symposium on Logic in Computer Science (LICS 2002), Copenhagen, Denmark, pp. 55–74 (2002)Google Scholar
  21. 21.
    Yang, H.: Local Reasoning for Stateful Programs. PhD thesis, University of Illinois, Urbana-Champaign (2001)Google Scholar
  22. 22.
    Yang, H., Reddy, U.: Correctness of data representations involving heap data structures. Science of Computer Programming 50(1), 129–160 (2004)MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Bodil Biering
    • 1
  • Lars Birkedal
    • 1
  • Noah Torp-Smith
    • 1
  1. 1.Department of Theoretical Computer ScienceIT University of CopenhagenDenmark

Personalised recommendations