### A Unification Algorithm for GP 2

#### 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.

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:

PDFDOI: 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.