plified variant of dpo rewriting, acting in the distributive lattice of subobjects of ... Known examples of stss in the area of dpo graph transformation systems are.
Applied Categorical Structures (2006) 1x: xx-xx manuscript No. (will be inserted by the editor)
Subobject transformation systems Andrea Corradini1 , Frank Hermann2 , Pawel Soboci´ nski3 1 2
3
Dipartimento di Informatica, Universit` a di Pisa, Italy Department of Electrical Engineering and Computer Science, Technical University of Berlin, Germany Computer Laboratory, University of Cambridge, United Kingdom
Received: date / Revised version: date
Abstract Subobject transformation systems (sts) are proposed as a novel formal framework for the analysis of derivations of transformation systems based on the algebraic, double-pushout (dpo) approach. They can be considered as a simplified variant of dpo rewriting, acting in the distributive lattice of subobjects of a given object of an adhesive category. This setting allows for a direct analysis of all possible notions of causality between any two productions without requiring an explicit match. In particular several equivalent characterizations of independence of productions are proposed, as well as a local Church-Rosser theorem in the setting of sts. Finally, we show how any derivation tree in an ordinary dpo grammar leads to an sts via a process-like construction and show that relational reasoning in the resulting sts is sound and complete with respect to the independence in the original derivation tree.
1 Introduction Graph transformation systems (gtss) [19] are a powerful specification formalism for concurrent and distributed systems, generalising another classical model of concurrency, namely Place/Transition Petri nets [17]. The concurrent behaviour of gtss has been thoroughly studied and a consolidated theory of concurrency is now available. In particular, several constructions associated with the concurrent semantics of nets such as (deterministic and non-deterministic) processes and unfoldings have been extended to gtss (see, e.g., [5, 18, 3,1]). Recently, several constructions and results of the classical theory of the algebraic Double-Pushout (dpo) Approach to graph transformation have been extended to rewriting in arbitrary adhesive categories [14, 8]. In a joint effort with other researchers, the authors are working on the generalization of the concurrent semantics of nets and gts to this more abstract setting: first results concerning deterministic processes appeared in [2].
2
Andrea Corradini, Frank Hermann, Pawel Soboci´ nski
It turns out that a key ingredient in the definition of processes and unfoldings for a given transformation system, is the analysis of the relationships that arise among the occurrences of rules in the possible computations of the system. Such relations include the classical parallel and sequential independence, causality and conflict, asymmetric conflict, and the less known co-causality, disabling and co-disabling, introduced in [2]. Actually, such relations are meaningful for restricted classes of transformation systems only, including occurrence systems, which satisfy suitable safety and acyclicity conditions. Even if the possible ways in which the rules of an occurrence system can be related are quite well understood, to our knowledge a systematic study of this topic is still missing: This is the main goal of the present paper. To this aim, we introduce the notion of a Subobject Transformation System (sts), which can be understood, intuitively, as a dpo rewriting system in the category of subobjects of a given object of an adhesive category (corresponding to the type graph in the typed approches to dpo). In this framework, the usual pushout and pullback constructions are replaced by union and intersection of subobjects. Thus, in general, one can work with a set theoretical or diagrammatical syntax rather than with a categorical one. Known examples of stss in the area of dpo graph transformation systems are the graph processes as defined in [5, 3], and the unfolding presented in [1], but stss are more general, because no acyclicity constraint is enforced in their definition. Interestingly, it turns out that stss in category Set with rules having empty interfaces correspond precisely to Elementary Net Systems [20], a class of Petri nets widely studied in the literature. However, the precise relationships between these computational models already proposed in the literature and stss will not be analysed in the present paper, which focuses instead on the core of the new theory. After introducing stss in §2, we exploit them in §3 to identify the possible basic relations among rules, and we use them to define other derived relations which are shown to coincide with those used in the literature. Next, in §4, we discuss the conditions under which two productions of an sts have to be considered as independent, and we characterize this relation in several equivalent ways; a local Church-Rosser theorem closes the section. In §5 we present a colimit construction that builds an sts from a given derivation tree of a dpo system, generalizing the construction of the process of a linear derivation proposed in [5, 3]. Finally in §6 we show that the analysis of the relationships among rule occurrences in the derivation tree can be reduced faithfully to the analysis of such relationships in the generated sts. In the concluding section we list some topics of future research. 2 Subobject transformation systems As mentioned above, Subobject Transformation Systems can be considered, conceptually, as transformation systems based on the dpo approach in the category of subobjects Sub(T ) of some object T of a category C. We shall assume that C is an adhesive category: this ensures that Sub(T ) is a distributive lattice. The choice is justified by the intended use of stss as a formal framework for analysing derivations of dpo systems (as detailed in §5 and §6), which themselves are defined over adhesive categories in [14]. Definition 1 (Adhesive categories) A category is called adhesive if
Subobject transformation systems
3 0
ll C FFf 0 lll F" l l l 0 ul 0 A E ll B EEE n0 lll l " vlll g0 m0
A }} AAAf ~}} A A (1) B AA }} A } g ~} n m
C
D
D0
c
a
(2)
b
d k C GG f kkk GG ukkkkk m # (1) A FF kk B k k FF kk g # ukkk n
D0
Fig. 1 A pushout square (1) and a commutative cube (2).
– it has pushouts along monos; – it has pullbacks; – pushouts along monos are Van Kampen (vk) squares. Referring to Figure 1, a vk square is a pushout (1) which satisfies the following property: if we draw a commutative cube (2) which has (1) as its bottom face and whose back faces are pullbacks then the front faces of the cube are pullbacks if and only if its top face is a pushout. Recall that given a category C and an object T ∈ C, the category of subobjects Sub(T ) is defined to be the full subcategory of the slice category C/T with objects the monomorphisms into T . We denote an object a : A T of Sub(T ) simply as A, leaving the monomorphism implicit. Notice that Sub(T ) is a preorder; there is at most one arrow between any two objects A and B, denoted A ⊆ B. In particular, this implies that all diagrams (in Sub(T )) are commutative. If C has pullbacks then Sub(T ) has binary products (also called intersections): The product is computed by taking the pullback of the two morphisms in C. If C is adhesive, then Sub(T ) also has binary coproducts (unions): The coproduct of two subobjects is computed by taking the pushout in C of the two subobjects along their intersection [14]. Furthermore, in this case Sub(T ) is a distributive lattice, i.e., products distribute over coproducts. We shall denote the product and coproduct in Sub(T ) by ∩ and ∪, respectively. It is worth stressing that category Sub(T ) in general is not adhesive, even if C is. In fact, let A ⊆ B be an arrow in Sub(T ) which is not an isomorphism; then the pushout object of the span B ⊇ A ⊆ B is easily shown to be B itself, but the resulting square is not a pullback, contradicting the fact that pushouts along monos in an adhesive category are pullbacks [14]. Definition 2 (Subobject transformation systems) A Subobject Transformation System (sts) over an adhesive category C is a triple S = hT, P, πi, where ·←·→· T ∈ C is a type object, P is a set of production names, π : P → Sub(T ) maps a production name p to a production Lp ⊇ Kp ⊆ Rp , i.e., a span in Sub(T ), where Lp , Kp and Rp are called, respectively, the left-hand side, the interface and the right-hand side of p. A production will often be denoted simply as a triple hLp , Kp , Rp i, implicitly assuming that Kp ⊆ Lp ∩ Rp .
4
Andrea Corradini, Frank Hermann, Pawel Soboci´ nski
Definition 3 (Direct derivations) Let S = hT, P, πi be a Subobject Transformation System, π(q) = hL, K, Ri be a production, and let G be an object of Sub(T ) such that L ⊆ G. Then there is a direct derivation from G to G0 using q, written G ⇒q G0 , if G0 ∈ Sub(T ) and there exists an object D ∈ Sub(T ) such that: (i) G ∼ = L ∪ D; (ii) G0 ∼ = D ∪ R;
(iii) L ∩ D ∼ = K; (iv) D ∩ R ∼ = K.
If such an object D exists, we shall refer to it as the context of the direct derivation. As we shall see later in Proposition 8, given a production q and a subobject G such that Lq ⊆ G, a context, if it exists, is unique up to isomorphism. Remark 4 Given subobjects L and R, considered as left- and right-hand sides of a production, there is a canonical choice for the interface K—namely K = L ∩ R. Moreover, if C has an initial object 0 and arrows from 0 are monomorphisms1 , then Sub(T ) has a least element. This gives another canonical choice for K, namely K = 0. Definition 5 We shall say that an sts is pure when K = L ∩ R in all of its productions. The next technical lemma will be used several times along the paper: It provides a simple set-theoretical syntax for expressing the fact that a commutative square in Sub(T ) is a pushout in C. Lemma 6 Assume that C is an adhesive category, that T ∈ C, and that (†) is a square in Sub(T ) (equivalently, it is a commutative square of monos in C and there is a monomorphism D → T ). Then the following are equivalent: /B A / (1) (†) is a pushout in C (†) (2) B ∩ C ∼ = A and D ∼ =B∪C (3) B ∩ C ⊆ A and D ⊆ B ∪ C. /D C / Proof (1 ⇒ 2) The square (†) is a pushout in C along a mono, therefore a pullback [14]. Since D → T is mono, A and B ∩C are comparison objects for each other, as depicted in the following diagram, leading to A ∼ = B ∩ C and thus D ∼ = B ∪ C. : B∩C o $
0B . C! CC {= {= { ! ! / (†) A D / /= T = C! C { C! {= { .C 0
(2 ⇔ 3) The isomorphisms imply the inclusions. For the other implication, it is sufficient to observe that, given (†), A ⊆ B ∩ C and B ∪ C ⊆ D hold by the universal properties of ∩ and ∪, respectively. (1 ⇐ 2) Diagram (†) is a pushout in C by the characterisation of ∪ in adhesive categories. t u 1 If adhesive C has a strict initial object, then it is also extensive [14]. In extensive categories, arrows with domain 0 are mono.
Subobject transformation systems
5
It is instructive to consider the relationship between a direct derivation in an sts and the usual notion of a dpo direct derivation in an adhesive category. It is possible to make this comparison, since one can consider a rule Lp ⊇ Kp ⊆ Rp as the underlying span of monomorphisms in C. We shall say that there is a contact situation for a production hL, K, Ri at a subobject G ⊇ L ∈ Sub(T ) if G ∩ R 6⊆ L. Intuitively this means that part of the subobject G is created but not deleted by the production: If we were allowed to apply the production at this match via a dpo direct derivation, the resulting object would contain the common part twice and consequently the resulting map to T would not be mono; i.e., the result would not be a subobject of T . The next result clarifies the relationship between the definition of direct derivation in Sub(T ) and the standard definition used in the the dpo approach [6]: essentially, the two derivations coincide if there is no contact. Proposition 7 (sts derivations are contact-free double pushouts) Let S = hT, P, πi be an sts over an adhesive category C, π(q) = hL, K, Ri be a production, and G be an object of Sub(T ) such that there is an arrow m : L ⊆ G. Then G ⇒q G0 iff G ∩ R ⊆ L ∈ Sub(T ) and there is an object D in C such that the following diagram consists of two pushouts in C. Lo
m
Go
o K /
l (1)
k
f
o D /
r (2) g
/R n / G0
Proof (⇒) Suppose that G ⇒q G0 . Then by Definition 3 there exists an object D ∈ Sub(T ) such that (i) G ∼ = L ∪ D and (iii) L ∩ D ∼ = K, so by the conclusion of Lemma 6, the left square (1) is a pushout in C. Furthermore, (ii) G0 ∼ = D ∪ R and (iv) D ∩ R ∼ = K, and thus (2) is a pushout in C as well. The fact that G ∩ R ⊆ L can be shown as follows, using (i) and (iv): (i)
(iv)
(∗)
G∩R ∼ = (L ∪ D) ∩ R ∼ = (L ∩ R) ∪ (D ∩ R) ∼ = (L ∩ R) ∪ K ⊆ L where (∗) holds by distributivity of Sub(T ). (⇐) Suppose that the squares (1) and (2) are pushouts and G ∩ R ⊆ L. Since C is adhesive and the squares are pushouts along monos they are also pullbacks. D is a subobject of T by the given monomorphisms D G T . Thus, all arrows of (1) are in Sub(T ) and by Lemma 6 we have (iii) L ∩ D ∼ = K and (i) G ∼ = L ∪ D. The next three diagrams exploit the universal property of products in Sub(T ) to show that there is an arrow f 0 : D ∩ R ⊆ G ∩ R, an arrow D ∩ R ⊆ K (exploiting the hypothesis G ∩ R ⊆ L), and an arrow K ⊆ D ∩ R: thus we conclude that condition (iv) : K ∼ = D ∩ R holds.
o G f
D
D∩R % x{ x {x 0 f
o G∩R /
D ∩ R f0 L% LLL % G∩R o D∩L / / L ∼ =K z
/R
Do
k
Do
t K * o D∩R /
r
/R
6
Andrea Corradini, Frank Hermann, Pawel Soboci´ nski
Consider now square (2) of the dpo diagram and replace K by D ∩ R leading to u t condition (ii) : G0 ∼ = D ∪ R. The following example shows that in the presence of a contact situation, a double-pushout diagram in C does not in general correspond to a direct derivation in the sts. More precisely, let C be the (adhesive) category of sets and functions, and let T = {•} be a singleton set. Then the top span is a production in Sub(T ), and arrow m is in Sub(T ) as well, but condition G ∩ R ⊆ L is not satisfied. The double-pushout diagram can be completed in Set as shown, but the resulting set G0 is not a subobject of T . L=∅o m
G = {•} o
l (1) f
o K=∅ / k
o D = {•} /
r (2) g
/ R = {•} n / G0 = {•, •}
As a consequence of the fact that a direct derivation in an sts implies a direct derivation in the standard dpo approach, we can immediately derive several properties of a derivation; in particular, we prove its determinacy below. Proposition 8 (Determinacy of sts derivations) Suppose that S is an sts over an adhesive category C. Then the target of a direct derivation is determined uniquely up to isomorphism; if G ⇒q G0 and G ⇒q G00 then G0 ∼ = G00 . Proof Recall that for G ⇒q G0 there must exist an object D such that squares (1) and (2) of the diagram of Proposition 7 are pushouts in C. Pushout complements along monos are unique up to isomorphism in adhesive categories [14], thus for any other D0 such that G ∼ = K we have D ∼ = D0 ; in particular then = L ∪ D0 and L ∩ D0 ∼ 00 0 ∼ 0 ∼ ∼ G =R∪D =R∪D =G . t u
3 Relations among productions The theory of the dpo approach to the transformation of graphs includes several results and constructions which aim at a higher level of abstraction in the analysis of the computations (concretely, linear sequences of double-pushout diagrams) of a system. For example, typically one does not want to consider as distinct two derivations which differ only in the order in which “independent” productions are applied: this led to the definition of shift equivalence [13], and more recently to the definition of processes [5] for dpo systems. Also, constructions borrowed from the theory of Petri nets have been proposed for dpo system, like unfolding [18, 1], which generates a single structure which captures all of the non-deterministic operational behaviour of the original system. A key ingredient in the definitions of equivalences on derivations and in the aforementioned constructions such as processes and unfoldings is the analysis of the relationships which hold among the occurrences of rules in the possible computations of the given system. Such relations include for example the classical parallel and sequential independence, causality and conflict, asymmetric conflict, and the less known co-causality, disabling and co-disabling, recently introduced in [2].
Subobject transformation systems
7
Typically, these relationships are defined over production occurrences of the original system with respect to either a given derivation (as for sequential independence or causality), or a branching structure of derivations (like conflict and asymmetric conflict), and they are determined by looking at the way the production occurrences overlap. Consider a simple example: if an item x in a Graph Transformation System is generated by production q1 (i.e., x ∈ R1 \ K1 ) and it is consumed by q2 (x ∈ L2 \ K2 ), then q1 (directly) causes q2 . In this section we present a complete analysis of the relationships that may hold among the productions of a Subobject Transformation System. Recall that given an sts S = hT, P, πi each production name q ∈ P is associated with a production, which is a triple of subobjects π(q) = hLq , Kq , Rq i with Kq ⊆ Lq ∩ Rq . For the rest of the paper, we shall assume every sts to be pure, i.e., such that Kq = Lq ∩ Rq for each q ∈ P .
R2
heb_ \YVSP MI nkheb_ \YVSP MI IDD@ IDD@uq qnk u @:: @u u ~~zz::663 ~~zz 6633 3 / //++ / + + LR KR (( RR ((&& && ## ## L R1 LK ! ! KK RK 1 ! ! $ $' $ $' '** '** ---00 LL 0044KL
RL 4488
88== ==BB | |B GGKKN sww| swwB|GGK RU X[^`cfilps KNRU X[^`cfilps L2
Fig. 2 Intersection of two productions
As shown by the Venn diagram of Fig. 2, in the most general case the intersection of two productions is composed of nine disjoint regions, denoted XY for X, Y ∈ {L, K, R}. Two productions q1 and q2 of an sts can be considered as completely independent if either they do not overlap, or their intersection is contained in region KK, i.e., it is preserved by both productions: this notion of independence will be formalized in the next section. Each region (but for KK) determines a basic relation between the two productions: Informally, the relationship corresponding to region XY holds between q1 and q2 if X1 ∩ Y2 is not empty. These relations have to be interpreted as building blocks, that can be used to define more complex and interesting relations among productions, as discussed at the end of the section. We shall now introduce such relations formally, providing a notation and two equivalent characterizations for each of them. Before that, notice that three regions (LK, LR, KR) do not introduce new dependencies, as they are obtained by switching the roles of q1 and q2 : thus there remain five basic relationships. Definition 9 (Basic relations) Let conflict ('), deactivation (>>l2 : m1 m2 K2 > K1 > G ]: A r2 >> :: >>r2 0 0 l1 l2 k2 k1 R2 R1 > E1 E2 > >> >> n2 n1 r20 r0 H1 1 H2 l1
In simplified graphical notation, we shall denote such a fan as shown in the leftmost diagram of Fig. 6. We shall write ar(ϕ) for the number of productions appearing in a fan ϕ. Moreover, we shall abuse notation by referring to ϕ as a function ϕ : ar(ϕ) → P , where P is the set of productions of G. Thus, if ϕ consists of two direct q ,m1 q ,m2 derivations G ==1==⇒ H1 and G ==2==⇒ H2 from left to right, we have ar(ϕ) = 2, ϕ(0) = q1 and ϕ(1) = q2 . We shall use G-fans to construct a strict monoidal category of derivation trees, DerTree(G). We first need to recall the notion of a tensor scheme [12] and the associated notion of a free monoidal category on a tensor scheme.2 Definition 21 (Tensor scheme) A tensor scheme T consists of a set V of vertices, a set E of edges, and functions s, t : E → V ∗ , where V ∗ is the free monoid (the set of finite words) on V . Every tensor scheme leads to a free strict3 monoidal category C – see [12] for details. Intuitively, the objects of C can be seen as finite words (i.e., the product in V ∗ is interpreted as ⊗ in C) in V and the arrows of C are generated freely from the basic edges in E. Concretely, the arrows can be seen as certain equivalence classes or as certain string diagrams; see also [21]. For the purposes of the following definition, we assume that the underlying category C of G is a small category. Size plays a role because we shall construct a tensor scheme with the objects of C as its set of vertices. As usual, however, one could redefine the notion of tensor scheme appropriately (depending on the underlying set theory) so that the construction makes sense for an arbitrary category. 2 3
Tensor schemes are closely related to Petri nets in the sense of [16], see [7]. The tensor product is associative “on the nose”: (A ⊗ B) ⊗ C = A ⊗ (B ⊗ C).
16
Andrea Corradini, Frank Hermann, Pawel Soboci´ nski
G1
G
ϕ1 ϕ H1
G1
G2 ϕ1
ϕ2
H2 G4
G5
G3 G2
G3
G1
Fig. 6 A G-fan ϕ : G → H1 H2 and an arrow G1 → G4 ⊗ G5 ⊗ G3 ⊗ G2 ⊗ G3 ⊗ G1 in DerTree(G).
Definition 22 (DerTree(G)) Given an adhesive grammar G over small C, let T denote the tensor scheme with set of vertices the objects of C and its edges the G-fans. For example, given a fan ϕ : G → H1 H2 , s(ϕ) = G and t(ϕ) = H1 H2 . Let DerTree(G) be the free strict monoidal category over T . The objects of DerTree(G) are then finite words of objects of C. The arrows G1 . . . Gm → H1 . . . Hn are tensor products of arrows G1 → H1 . . . Hi1 , . . . Gn → Hin−1 +1 . . . Hin where in = n. Such basic ingredients are constructed out of fans, an example is given in Fig. 6. Tensor product is here of course just putting such diagrams side-by-side. One can also think of arrows of DerTree(G) as concrete derivation trees, constructed at each level from concrete fan derivation diagrams as illustrated in Definition 20. Indeed, this will be our usual approach. Finally, although we have defined DerTree(G) as a strict monoidal category, it would be, perhaps, more natural to define it as a free multicategory, see [15] for an introductory account. The following lemma relates our presentation of DerTree(G) with concrete derivation diagrams in C. Lemma 23 Every arrow α in DerTree(G) gives rise to a canonical diagram Der(α) in C which witnesses the derivation tree. Proof Recall from Definition 20 that a G-fan is a concrete diagram in C. An arrow in DerTree(G) is a formal construction which combines fans. Using the fact that DerTree(G) is freely constructed from the fans, any arrow α can be deconstructed (usually not uniquely) as a α = αn . . . α1 where each αi is of the form idX 0 ⊗ϕi ⊗idX 00 and ϕi is a fan. Since the codomain of each αi agrees with the domain of each αi+1 , we can construct the diagram iteratively, starting with the fan ϕ1 , at each step pasting the corresponding fan at the correct place according to the domain and the codomain of the αs. It is clear that any decomposition of α gives rise to the same diagram. t u Given an object S ∈ C, the slice category S/DerTree(G) has as objects the derivation trees from S and as arrows extensions of such trees. We shall show that each derivation tree naturally leads to an sts.
Subobject transformation systems
17
Theorem 24 Suppose that Der(α) is the derivation diagram of an arrow α ∈ S/DerTree(G). Let T denote Colim(Der(α)). Then the canonical morphism S → T is mono. Moreover, for each fan ϕ in α and i ∈ [ar(ϕ)], the canonical morphisms Lϕ(i) → T , Kϕ(i) → T and Rϕ(i) → T are mono. Proof Simple induction on any decomposition α = αn . . . α1 . The base case is trivial. For the inductive step, suppose that αi = idX 0 ⊗ϕi ⊗ idX 00 and ϕi : G → G1 . . . Gk . Let βi be the derivation diagram corresponding to the derivation tree at Gi . By the inductive hypothesis the morphisms Gi → Ti = Colim(Der(βi )) are mono. Moreover, each production appearing in those derivation trees is itself mono typed. Given the above, we shall construct an object T which is the colimit of the diagram below left. ? L1
l1
?
r1
R1
K1
m1
k1
n1
r10
G1 t1 T10
l10
@
D1
Lk _
mk G @ _>> l0 >> k _ ... Dk
... ...
lk
_
Kk
kk
T10 rk
Rk ? ? ?? nk Gk t k Tl0 0 rk
@ @ @@
T100
G
~ }} }~ } ! !
...
AA AA
T
}
}
Tk00
~ ~~ ~~~
Tk0
To calculate the colimit of such a diagram it is enough to consider the solid morphisms, because all squares are pushouts and colimits compose. Since the fan is of finite arity, we can calculate the colimit by constructing successive pushouts. Indeed, for each i ∈ [k] let Ti00 be the pushout of li0 and ti ri0 . We obtain the solid part of the diagram above right, all morphisms are mono since monos are stable under pushouts in adhesive categories. Finally, T is constructed by taking repeated pushouts in the obvious way. Clearly, G → T is mono, and moreover, each of the productions types monomorphically over T . Since each of the morphisms Ti0 → T are mono, the productions typed over each of these type objects retype monomorphically over T . Finally, it is clear that the resulting object is the colimit of the original diagram (and of the entire derivation diagram) because colimits commute. t u The sts associated with a derivation tree has the colimit of the derivation diagram as type object, and one production for each direct derivation in the tree. Definition 25 (Derived sts) Let G be an adhesive grammar. Let S ∈ C be arbitrary. Recall that the objects of S/DerTree(G) are finite derivation trees from S. Let α be such a derivation tree. The derived sts is Prc(α) = hT, P, πi where – T = Colim(Der(α)); P – P = ϕ∈α ar(α) – note that we fix the coproduct in Set and order the fans ϕ so that hi, ji ∈ P is the ith production of the jth fan. The ordering is immaterial; – π(i, j) = πG ϕj (i); – the typing for the productions is canonically:
18
Andrea Corradini, Frank Hermann, Pawel Soboci´ nski
o K / Lo o o G &M D / MMM qx MM& xqqqqq T
/R / G0
Using the conclusion of Theorem 24, Prc(α) is an sts.
6 Analysing derivations in the STS The goal of this section is to show that the construction of the derived sts for a finite derivation tree in an adhesive grammar gives us a setting where the local reasoning about the independence of productions using subobject inclusion and intersection, developed in §4, is fully abstract with respect to corresponding relations among direct derivations in the original tree. We first show how derivations of a given diagram Der(α) are related to derivations in the derived sts Prc(α). In particular, we will show that all productions in Prc(α) are pure, that, as expected, every derivation of Der(α) (a linear path in the derivation tree) is also a derivation of Prc(α), and that there are no backward conflicts in Prc(α). This is shown in the following proposition. Proposition 26 (Properties of the derived sts) Let G be an adhesive grammar, let α be a derivation tree in G with root S (α ∈ S/DerTree(G)), and let Prc(α) be its derived sts. Then: (1) Prc(α) is pure. q,m (2) For each direct derivation G1 ===⇒ G2 in α, let q 0 be the corresponding producq0 tion in Prc(α). Then G1 ⇒ G2 . q ,mn q ,m2 q ,m1 · · · Gn−1 ==n=== G1 ==2==⇒ (3) Let G0 ==1==⇒ ⇒ Gn be a derivation in α with 0 0 0 n ≥ 2, and let q1 , q2 , . . . , qn be the corresponding productions in Prc(α). Then qn0 6