Modeling and Verifying Graph Transformations in Proof Assistants

This paper takes first steps towards a formalization of graph transformations in a general setting of interactive theorem provers, which will form the basis for proofs of correctness of graph transformation systems. Whereas graph rewriting is usually performed by mapping a pattern graph into a source graph by means of a graph morphism and then carrying out operations on the image node and edge set, this article generalises the notion of pattern graph to path expressions, which are formulae in a fragment of first-order logic. We examine the correspondence with traditional graph rewriting and show that this interpretation is beneficial when formally reasoning about model transformations with the aid of proof assistants.

[1]  Gabor Karsai,et al.  The design of a language for model transformations , 2006, Software & Systems Modeling.

[2]  Arend Rensink,et al.  Abstract Graph Transformation , 2006, SVV@ICFEM.

[3]  de Ng Dick Bruijn,et al.  Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .

[4]  Patrick Maier,et al.  Description logics for shape analysis , 2005, Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05).

[5]  Detlef Plump,et al.  Term graph rewriting , 1999 .

[6]  Grzegorz Rozenberg,et al.  Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations , 1997 .

[7]  Jan van Leeuwen,et al.  Handbook of Theoretical Computer Science, Vol. B: Formal Models and Semantics , 1994 .

[8]  Jean-Marc Jézéquel,et al.  On Executable Meta-Languages applied to Model Transformations , 2005 .

[9]  Reiko Heckel,et al.  Algebraic Approaches to Graph Transformation - Part II: Single Pushout Approach and Comparison with Double Pushout Approach , 1997, Handbook of Graph Grammars.

[10]  Pascal Fradet,et al.  Shape types , 1997, POPL '97.

[11]  Antoine Meyer,et al.  A logic of reachable patterns in linked data-structures , 2007, J. Log. Algebraic Methods Program..

[12]  Nils Klarlund,et al.  Graph types , 1993, POPL '93.

[13]  Patrick Brézillon,et al.  Lecture Notes in Artificial Intelligence , 1999 .

[14]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 3: concurrency, parallelism, and distribution , 1999 .

[15]  Bruno Courcelle,et al.  Graph Rewriting: An Algebraic and Logic Approach , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[16]  Andrea Corradini,et al.  Verifying Red-Black Trees , 2005 .

[17]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[18]  Jean Bézivin,et al.  The ATL Transformation-based Model Management Framework , 2003 .

[19]  Martin Strecker,et al.  Towards a Formalisation of Graph Transformations in Proof Assistants , 2006 .

[20]  Jan Willem Klop,et al.  Term Rewriting Systems: From Church-Rosser to Knuth-Bendix and Beyond , 1990, ICALP.

[21]  Andy Schürr,et al.  Tool Integration with Triple Graph Grammars - A Survey , 2006, FoVMT.

[22]  Lawrence Charles Paulson,et al.  Isabelle/HOL: A Proof Assistant for Higher-Order Logic , 2002 .

[23]  Antoine Meyer,et al.  A logic of reachable patterns in linked data-structures , 2006, J. Log. Algebraic Methods Program..

[24]  Gabor Karsai,et al.  A formal graph transformation based language for model-to-model transformations , 2004 .

[25]  Dániel Varró,et al.  Automated formal verification of visual modeling languages by model checking , 2004, Software & Systems Modeling.

[26]  Arend Rensink,et al.  Towards model checking graph grammars , 2003 .

[27]  de Ng Dick Bruijn Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .

[28]  Gilles Dowek,et al.  Principles of programming languages , 1981, Prentice Hall International Series in Computer Science.

[29]  Reiko Heckel,et al.  Algebraic Approaches to Graph Transformation - Part I: Basic Concepts and Double Pushout Approach , 1997, Handbook of Graph Grammars.

[30]  Norbert Schirmer,et al.  A Verification Environment for Sequential Imperative Programs in Isabelle/HOL , 2005, LPAR.