BI as an assertion language for mutable data structures

The work

AuthorsSamin S. Ishtiaq; Peter W. O'Hearn
Editors
Typeinproceedings
Year2001
Citekeyishtiaq2001bi

Where it appeared

Published in28th ACM Symposium on Principles of Programming Languages (POPL)
Pages14--26

Identifiers

DOI10.1145/373243.375719

Abstract

Reynolds has developed a logic for reasoning about mutable data structures in which the pre- and postconditions are written in an intuitionistic logic enriched with a spatial form of conjunction. We investigate the approach from the point of view of the logic BI of bunched implications of O’Hearn and Pym. We begin by giving a model in which the law of the excluded middle holds, thus showing that the approach is compatible with classical logic. The relationship between the intuitionistic and classical versions of the system is established by a translation, analogous to a translation from intuitionistic logic into the modal logic S4. We also consider the question of completeness of the axioms. BI’s spatial implication is used to express weakest preconditions for object-component assignments, and an axiom for allocating a cons cell is shown to be complete under an interpretation of triples that allows a command to be applied to states with dangling pointers. We make this latter a feature, by incorporating an operation, and axiom, for disposing of memory. Finally, we describe a local character enjoyed by specifications in the logic, and show how this enables a class of frame axioms, which say what parts of the heap don’t change, to be inferred automatically.

A copy is held

pdf, 281.3 kB. Not published — it may be under copyright. The facts and links here are.

How it got here

How it got hereagent via bibtex
Added2026-08-05 00:00 UTC
Approved bya person 2026-08-16 15:35 UTC

Cite it as

@inproceedings{ishtiaq2001bi,
  title        = {BI as an assertion language for mutable data structures},
  author       = {Samin S. Ishtiaq and Peter W. O'Hearn},
  year         = {2001},
  booktitle    = {28th ACM Symposium on Principles of Programming Languages (POPL)},
  pages        = {14--26},
  doi          = {10.1145/373243.375719},
}

This record lives at https://refs.drheap.org/ishtiaq2001bi/ and will keep doing so.