 
Summary: Chapter 6
Iterated Separating
Conjunction
An Introduction
to Separation Logic
c 2009 John C. Reynolds
February 15, 2009
In this chapter, we introduce an iterative version of the separating con
junction that is useful in describing arrays, as well as certain properties of
list structures.
6.1 A New Form of Assertion
We extend the language of assertions with an binding operator , which is
used to construct an assertion of the form
e
v=e p,
where the occurrence of v in the subscript is a binder whose scope is p.
Roughly speaking, this assertion describes the separating conjunction
(p/v e) (p/v e + 1) · · · (p/v e ).
More precisely, for a state s, h, let m = [[e]]exps and n = [[e ]]exps be the
lower and upper bounds, and I = { i  m i n } be the set of indices.
