English

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

Logic in Computer Science 2020-11-04 v2

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.

Keywords

Cite

@article{arxiv.2010.14549,
  title  = {Verifying Graph Programs with First-Order Logic (Extended Version)},
  author = {Gia Wulandari and Detlef Plump},
  journal= {arXiv preprint arXiv:2010.14549},
  year   = {2020}
}

Comments

Extended version of a paper to appear at GCM 2020 post-proceeding