Summary: An Introduction to Separation Logic
John C. Reynolds
Computer Science Department
Carnegie Mellon University
c John C. Reynolds 2008
ITU University, Copenhagen
October 2022, 2008, corrected October 23
to Separation Logic
c 2008 John C. Reynolds
October 23, 2008
Separation logic is a novel system for reasoning about imperative programs.
It extends Hoare logic with enriched assertions that can describe the separa-
tion of storage and other resources concisely. The original goal of the logic
was to facilitate reasoning about shared mutable data structures, i.e., struc-
tures where updatable fields can be referenced from more than one point.
More recently, the logic has been extended to deal with shared-variable con-