  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.
