đ¤ AI Summary
Formal verification of graph algorithmsâparticularly those involving intricate pointer manipulationsâin separation logic remains challenging due to the difficulty of abstracting low-level heap structures while preserving semantic precision.
Method: This paper introduces an algebraic modeling approach: it is the first to represent graph structures as partial commutative monoids and, grounded in category theory, designs structure-preserving higher-order morphisms and combinators that jointly encode pointer-operation semantics and abstract graph reasoning.
Contribution/Results: The method enables natural divide-and-conquer verification and significantly simplifies separation logic proof rules. Applied to the SchorrâWaite graph-marking algorithm, it yields a concise, modular, and reusable formal verificationâeliminating reliance on complex loop invariants and fine-grained pointer tracking. This advances the abstraction level, scalability, and engineering practicality of graph algorithm verification.
đ Abstract
Specifying and verifying graph-manipulating programs is a well-known and persistent challenge in separation logic. We show that the obstacles in dealing with graphs are removed if one represents graphs as partial commutative monoids, and admits applying over them structure-preserving functions (i.e., morphisms), including higher-order ones (i.e., combinators). By distributing over the monoid operations, morphisms work in tandem with framing to propagate the low-level pointer manipulation to the more abstract level of mathematical graphs, and to reduce the reasoning about the whole graph to reasoning about sub-components. We illustrate the approach with a novel and concise proof of a well-known graph benchmark, the Schorr-Waite graph marking algorithm.