Separation Logic (III) Acknowledgment: slides taken from Reynolds’ mini-course CS 818A3
Notation for Sequences
Some Laws for Sequences
Singly-linked Lists
Singly-linked List Segments
Singly-linked List Segments
Emptyness Conditions
Nontouching List Segments
Nontouching List Segments
Nontouching List Segments Fortunately, there are common situations where list segments must be nontouching:
Preciseness of List Assertions
Example: Insertion at the Head
or, more concisely:
Example: Insertion at the End
Example: Deletion from the Head
Example: Deletion from the End
Bornat Lists
Doubly-Linked List Segments