Log In Sign Up

Verifying Graph Programs with First-Order Logic (Extended Version)

by   Gia Wulandari, et al.

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.


page 1

page 2

page 3

page 4


Verifying Graph Programs with First-Order Logic

We consider Hoare-style verification for the graph programming language ...

Formalization of Metatheory of the Quipper Quantum Programming Language in a Linear Logic

We develop a linear logical framework within the Hybrid system and use i...

The Improved GP 2 Compiler

GP 2 is a rule-based programming language based on graph transformation ...

A Decidable Class of Nested Iterated Schemata (extended version)

Many problems can be specified by patterns of propositional formulae dep...

Generating Distributed Programs from Event-B Models

Distributed algorithms offer challenges in checking that they meet their...

Checkpointing and Localized Recovery for Nested Fork-Join Programs

While checkpointing is typically combined with a restart of the whole ap...