| | |
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.
|