Abstract
Step-indexed separation logic has proven to be a powerful tool for modular reasoning about higher-order stateful programs. However, it has only been used to reason about safety properties, never liveness properties. In this paper, we observe that the inability of step-indexed separation logic to support liveness properties stems fundamentally from its failure to validate the existential property, connecting the meaning of existential quantification inside and outside the logic. We show how to validate the existential property-and thus enable liveness reasoning-by moving from finite step-indices (natural numbers) to transfinite step-indices (ordinals). Concretely, we transform the Coq-based step-indexed logic Iris to Transfinite Iris, and demonstrate its effectiveness in proving termination and termination-preserving refinement for higher-order stateful programs.
| Original language | English |
|---|---|
| Title of host publication | PLDI 2021 - Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation |
| Editors | Stephen N. Freund, Eran Yahav |
| Number of pages | 16 |
| Place of publication | New York |
| Publisher | Association for Computing Machinery |
| Publication date | Jun 2021 |
| Pages | 80-95 |
| ISBN (Electronic) | 9781450383912 |
| DOIs | |
| Publication status | Published - Jun 2021 |
| Event | 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, PLDI 2021 - Virtual, Online, Canada Duration: 20 Jun 2021 → 25 Jun 2021 |
Conference
| Conference | 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, PLDI 2021 |
|---|---|
| Country/Territory | Canada |
| City | Virtual, Online |
| Period | 20/06/2021 → 25/06/2021 |
Keywords
- Iris
- liveness properties
- ordinals
- Separation logic
- step-indexing
- transfinite