- Introduction
- 1. Symbolic execution states
- 2. Annotations
- 2.1. Keywords
- 2.2. Types
- 2.3. Expressions
- 2.4. Assertions
- 2.5. Function specifications
- 2.6. Function body annotations
- 2.7. Ghost declarations
- 3. Verifying compliance with Rust's pointer aliasing rules
- 4. Verifying non-`unsafe` functions