Higher-Order Separation Logic in Isabelle/HOLCF
- Carsten Varming,
- Lars Birkedal
- Carnegie Mellon University
Research Output:
Journal Article or Conference Article in Journal
Conference article
Peer-reviewOpen access
Publication Information
Output type
Research Output:
Journal Article or Conference Article in Journal
Conference article
Peer-reviewOriginal language
EnglishPages from-to (Number of pages)
Pages 371-389 (18 pages)Journal (Volume, Issue Number)
Electronic Notes in Theoretical Computer SciencePublication milestones
- Published - 2008
Publication status
Published - 2008
ISSN
1571-0661Publication IDs
- Scopus: 54149105034
Abstract
We formalize higher-order separation logic for a first-order imperative language with procedures and local variables in Isabelle/HOLCF. The assertion language is modeled in such a way that one may use any theory defined in Isabelle/HOLCF to construct assertions, e.g., primitive recursion, least or greatest fixed points etc. The higher-order logic ensures that we can show non-trivial algorithms correct without having to extend the semantics of the language as was done previously in verifications based on first-order separation logic [2,20]. We provide non-trivial examples to support this claim and to show how the higher-order logic enables natural assertions in specifications. To support abstract reasoning we have implemented rules for representation hiding and data abstraction as seen in [1].
The logic is represented as lemmas for reasoning about the denotational semantics of the programming language. This follows the definitional approach common in HOL theorem provers, i.e., the soundness of our model only relies on the soundness of Isabelle/HOL [6]. We use our formalization to give a formally verified proof of Cheney's copying garbage collector [4] using a tagged representation of objects. The proof generalizes the results in [2]. The proof uses an encoding of the separation logic formula this(h) to capture the heap from before the garbage collection and thus shows
another novel use of higher-order separation logic.
The logic is represented as lemmas for reasoning about the denotational semantics of the programming language. This follows the definitional approach common in HOL theorem provers, i.e., the soundness of our model only relies on the soundness of Isabelle/HOL [6]. We use our formalization to give a formally verified proof of Cheney's copying garbage collector [4] using a tagged representation of objects. The proof generalizes the results in [2]. The proof uses an encoding of the separation logic formula this(h) to capture the heap from before the garbage collection and thus shows
another novel use of higher-order separation logic.
Publication metrics
PlumX, opens in new tab
Citations
10
Captures
16
Access to documents
Related Event
Title
Mathematical Foundations of Programming Semantics
Event type
ConferenceDate
22/05/2008 - 25/05/2008Location
University of PennsylvaniaUnited States
