A Unification Algorithm for GP 2

Ivaylo Hristakiev, Detlef Plump


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.

Full Text:


DOI: http://dx.doi.org/10.14279/tuj.eceasst.71.1002

DOI (PDF): http://dx.doi.org/10.14279/tuj.eceasst.71.1002.991

Hosted By Universitätsbibliothek TU Berlin.