A Unification Algorithm for GP 2

Authors

  • Ivaylo Hristakiev Department of Computer Science University of York, United Kingdom
  • Detlef Plump The University of York

DOI:

https://doi.org/10.14279/tuj.eceasst.71.1002

Abstract

The graph programming language GP 2 allows to apply sets of rule
schemata (or “attributed” rules) non-deterministically. To analyse conflicts of pro-
grams statically, graphs labelled with expressisons are overlayed to construct critical
pairs of rule applications. Each overlay induces a system of equations whose solu-
tions represent different conflicts. We present a rule-based unification algorithm for
GP expressions that is terminating, sound and complete. For every input equation,
the algorithm generates a finite set of substitutions. Soundness means that each of
these substitutions solves the input equation. Since GP labels are lists constructed by
concatenation, unification modulo associativity and unit law is required. This prob-
lem, which is also known as word unification, is infinitary in general but becomes
finitary due to GP’s rule schema syntax and the assumption that rule schemata are
left-linear. Our unification algorithm is complete in that every solution of an input
equation is an instance of some substitution in the generated set.

Downloads

Additional Files

Published

2015-09-06

How to Cite

[1]
I. Hristakiev and D. Plump, “A Unification Algorithm for GP 2”, eceasst, vol. 71, Sep. 2015.