Verifying Graph Programs with First-Order Logic
Gia S. Wulandari (University of York, UK, Telkom University, Bandung,, Indonesia), Detlef Plump (University of York, UK)

TL;DR
This paper introduces a method for verifying graph programs written in GP 2 using standard first-order logic, making the verification process more accessible and applicable to complex, loop-free graph programs.
Contribution
It presents a novel approach to verify GP 2 programs with first-order logic, extending previous methods to handle a broader class of programs including nested loops.
Findings
Allows reasoning about a wider range of graph programs.
Enables verification of nested loop programs.
Simplifies the verification process for programmers.
Abstract
We consider Hoare-style verification for the graph programming language GP 2. In previous work, graph properties were specified by so-called E-conditions which extend nested graph conditions. However, this type of assertions is not easy to comprehend by programmers that are used to formal specifications in standard first-order logic. In this paper, we present an approach to verify GP 2 programs with a standard first-order logic. We show how to construct a strongest liberal postcondition with respect to a rule schema and a precondition. We then extend this construction to obtain strongest liberal postconditions for arbitrary loop-free programs. Compared with previous work, this allows to reason about a vastly generalised class of graph programs. In particular, many programs with nested loops can be verified with the new calculus.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
