Abstraction
Preconditions
Files: [Slides] [Code examples]
Postconditions
Files: [Slides] [Code examples]
What you should have learned after completing chapter 8:
- How to use predicates as a mechanism for writing specifications about permission transfer that respects information hiding and supports reasoning about unbounded dynamic data structures.
- How to use representation invariants to specify consistency conditions for data structures and how to verify their maintenance by folding and unfolding predicates.
- Methodologies for writing abstract functional specifications through data abstraction, particularly using ghost code or heap dependent abstraction functions.