 
Summary: Chapter 4
Lists and List Segments
An Introduction
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
represent sequences.
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 singleelement 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 #).
