Summary: Chapter 4
Lists and List Segments
to Separation Logic
c 2009 John C. Reynolds
February 11, 2009
In this chapter, we begin to explore data structures that represent ab-
stract types of data. Our starting point will be various kinds of lists, which
Sequences and their primitive operations are a sufficiently standard --
and straightforward -- mathematical concept that we omit their definition.
We will use the following notations, where and are sequences:
· for the empty sequence.
· [a] for the single-element sequence containing a. (We will omit the
brackets when a is not a sequence.)
· · for the composition of followed by .
for the reflection of .
· # for the length of .
· i for the ith component of (where 1 i #).