On Algebraic Abstractions for Concurrent Separation Logics
arXiv:2010.12686 · doi:10.1145/3434286
Abstract
Concurrent separation logic is distinguished by transfer of state ownership upon parallel composition and framing. The algebraic structure that underpins ownership transfer is that of partial commutative monoids (PCMs). Extant research considers ownership transfer primarily from the logical perspective while comparatively less attention is drawn to the algebraic considerations. This paper provides an algebraic formalization of ownership transfer in concurrent separation logic by means of structure-preserving partial functions (i.e., morphisms) between PCMs, and an associated notion of separating relations. Morphisms of structures are a standard concept in algebra and category theory, but haven't seen ubiquitous use in separation logic before. Separating relations are binary relations that generalize disjointness and characterize the inputs on which morphisms preserve structure. The two abstractions facilitate verification by enabling concise ways of writing specs, by providing abstract views of threads' states that are preserved under ownership transfer, and by enabling user-level construction of new PCMs out of existing ones.
35 pages
References in corpus (8)
- Quantum Relational Hoare Logic
- Quantitative Separation Logic - A Logic for Reasoning about Probabilistic Programs
- A Separation Logic for Concurrent Randomized Programs
- A Probabilistic Separation Logic
- Relational Proofs for Quantum Programs
- Formal verification of higher-order probabilistic programs
- SteelCore: An Extensible Concurrent Separation Logic for Effectful Dependently Typed Programs
- Total and Partial Computation in Categorical Quantum Foundations