Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 ·...

44
Fundamenta Informaticae XX (2007) 1–44 1 IOS Press Causal Semantics of Algebraic Petri Nets distinguishing Concurrency and Synchronicity Gabriel Juh´ as Faculty of Electrical Engineering and Information Technology Slovak University of Technology Bratislava [email protected] Robert Lorenz Department of Applied Computer Science Catholic University of Eichst¨ att-Ingolstadt [email protected] Sebastian Mauser Department of Applied Computer Science Catholic University of Eichst¨ att-Ingolstadt [email protected] Abstract. In this paper, we show how to obtain causal semantics distinguishing ”earlier than” and ”not later than” causality between events from algebraic semantics of Petri nets. Janicki and Koutny introduced so called stratified order structures (so-structures) to describe such causal semantics. To obtain algebraic semantics, we redefine our own algebraic approach generat- ing rewrite terms via partial operations of synchronous composition, concurrent composition and sequential composition. These terms are used to produce so-structures which define causal behavior consistent with the (operational) step semantics. For concrete Petri net classes with causal semantics derived from processes minimal so-structures obtained from rewrite terms coincide with minimal so-structures given by processes. This is demonstrated for elementary nets with inhibitor arcs. Keywords: theory of concurrency, algebraic Petri nets, causal semantics, process terms, inhibitor arcs, synchronicity Address for correspondence: Sebastian Mauser, Department of Applied Computer Science, Catholic University of Eichst¨ att- Ingolstadt, [email protected]

Transcript of Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 ·...

Page 1: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

Fundamenta Informaticae XX (2007) 1–44 1

IOS Press

Causal Semantics of Algebraic Petri Nets distinguishing Concurrencyand Synchronicity

Gabriel JuhasFaculty of Electrical Engineering and Information Technology

Slovak University of Technology Bratislava

[email protected]

Robert LorenzDepartment of Applied Computer Science

Catholic University of Eichstatt-Ingolstadt

[email protected]

Sebastian MauserDepartment of Applied Computer Science

Catholic University of Eichstatt-Ingolstadt

[email protected]

Abstract. In this paper, we show how to obtain causal semantics distinguishing ”earlier than” and”not later than” causality between events from algebraic semantics of Petri nets.

Janicki and Koutny introduced so called stratified order structures (so-structures) to describe suchcausal semantics. To obtain algebraic semantics, we redefine our own algebraic approach generat-ing rewrite terms via partial operations of synchronous composition, concurrent composition andsequential composition. These terms are used to produce so-structures which define causal behaviorconsistent with the (operational) step semantics. For concrete Petri net classes with causal semanticsderived from processes minimal so-structures obtained from rewrite terms coincide with minimalso-structures given by processes. This is demonstrated for elementary nets with inhibitor arcs.

Keywords: theory of concurrency, algebraic Petri nets, causal semantics, process terms, inhibitorarcs, synchronicity

Address for correspondence: Sebastian Mauser, Department of Applied Computer Science, Catholic University of Eichstatt-Ingolstadt, [email protected]

Page 2: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

2 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

1. Introduction

Since the basic developments of Petri nets more and more different Petri net classes for various applica-tions have been proposed. Causal semantics of such special Petri net classes are often constructed in acomplicated ad-hoc way, defining process nets which generate causal structures (see e.g. [20, 10, 15, 16]).

Naturally there are also several approaches to unify the different classes in order to be able to definenon-sequential semantics in a systematic way using algebraic descriptions [25, 3, 1, 8, 23, 21, 22] (see[24] for an overview). Most of these approaches are based on the paper [19], where non-sequentialruns of nets are described by equivalence classes of rewrite process terms. These process terms aregenerated from elementary terms (transitions and markings) by concurrent and sequential composition.Unfortunately, none of these works provides a method how to obtain causal semantics from the algebraicsemantics.

This paper extends the unifying approach of algebraic Petri nets as proposed in Part II of [11]. Withthe approach from [11] non-sequential semantics can be derived on an abstract level for Petri nets withrestricted occurrence rule (encoded by partiality of concurrent composition) like place/transition nets(p/t-nets) with capacities, elementary nets with mixed context equipped with the a-posteriori semantics,etc. In addition to other works, and in particular to [8], in [11] it is shown how to obtain causal semanticsbased on an ”earlier than” causality between events (formally given as labelled partial orders (LPOs))from process terms. It is proven in [11] for many concrete net classes that the minimal LPOs obtainedfrom process terms coincide with minimal LPOs given by standard process semantics.

e

p3

p1

f

p4

p2

g

p6

p5

h

p7

e

p3

p1

f

p4

p2

p5

g

p6

h

p7

c(p7)

e f

g h

part (a) part (b) part (c)

Figure 1. An elementary net with inhibitor arcs (p3, f), (p6, h) and (p7, g) (part (a)), a process of the net (part(b)) and the associated run (part (c)).

As explained in [10], ”earlier than” causality expressed by LPOs is not enough to describe causalsemantics for some Petri net classes, as for example the a-priori semantics of elementary nets withinhibitor arcs.1 In Figure 1 (which serves as our running example) this phenomenon is depicted: In thea-priori semantics the testing for absence of tokens (through inhibitor arcs) precedes the execution of a

1Note that there are also other semantics for elementary nets with inhibitor arcs [5, 26].

Page 3: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 3

transition. Thus f cannot occur later than e, because after the occurrence of e the place p3 is markedand consequently the occurrence of f is prohibited by the inhibitor arc (p3, f). Therefore e and f cannotoccur concurrently or sequentially in the order e → f . But they still can occur synchronously (becauseof the occurrence rule ”testing before execution”) or sequentially in order f → e. This is exactly thebehavior described by ”f not later than e” (see section 2 for details on the occurrence rule). After therespective firing of f and e we reach the marking {p3, p4, p5}. Now with the same arguments as abovethe transitions g and h can occur synchronously but not sequentially in any order. This relationship canbe expressed by a symmetric ”not later than” relation between the respective events (none may occurlater than the other). The described causal behavior (between events) of the net is illustrated in part(c) of Figure 1. The solid arcs represent a (common) ”earlier than” relation, i.e. the events can onlyoccur in the expressed order but not synchronously or inversely. Dashed arcs depict the ”not later than”relation explained above. Partial orders only model the ”earlier than” relation but they do not permit todescribe relationships, where synchronous occurrence is possible but concurrency is not. Examples arethe relationships between e and f as well as g and h in Figure 1. The net in part (b) of Figure 1 depictsa process corresponding to the run in part (c) (details on processes and runs are explained in section 2).Altogether there exist net classes, including inhibitor nets admired by practitioners, where synchronousand concurrent behaviour have to be distinguished.2 In [10] causal semantics based on stratified orderstructures (so-structures, see section 2) consisting of a combination of an ”earlier than” and a ”not laterthan” relation between events were proposed to cover such cases. The run in Figure 1 illustrates such anso-structure describing the causalities explained in this paragraph.

In order to describe such situations at the algebraic level, in [13] we extended the algebraic Petri netsfrom [8] by a synchronous composition operation which allows distinguishing between concurrent andsynchronous occurrences of events. In such an algebraic approach, a transition t is understood to be anelementary rewrite term allowing to replace the (initial) marking pre(t) by the (final) marking post(t).Moreover, any marking m is understood to be an elementary term, rewriting m by m itself. A singleoccurrence of a transition t leading from a marking m to a marking m′ can be understood as a concurrentcomposition of the elementary term t and the elementary term corresponding to the marking x, satisfyingm = x + pre(t) and m′ = x + post(t), where + denotes a suitable operation on markings (see Figure2). The non-sequential behaviour of a net is given by a set of process terms constructed from elementaryterms as follows: Firstly transitions can be synchronously composed to synchronous step terms usingan operator ⊕ for synchronous composition (in particular every transition itself is a synchronous stepterm). Secondly markings and synchronous step terms can be sequentially and concurrently composedto (general) process terms using operators for sequential and for concurrent composition, denoted by ;and ‖, respectively.

As described in the running example, transitions t and t′ cannot necessarily occur synchronously resp.concurrently at the marking pre(t) + pre(t′). Such restrictions of the occurrence rule will be encodedby a restriction of synchronous and concurrent composition. That means if the marking pre(t) + pre(t′)does not enable two transitions t and t′ synchronously (concurrently), then t and t′ are not allowed tobe composed by ⊕ (‖). To describe such a restriction, we use an abstract set I of information elements,together with two symmetric independence relations on I for synchronous and concurrent composition.Every marking x as well as every transition t has an attached information element. Several transitions

2Further examples of such net classes are nets with read arcs (a-priori semantics), nets with capacities (”first consume thenproduce” semantics), nets with priorities, nets with reset arcs, nets with signal arcs, etc.

Page 4: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

4 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

pre(t)

post(t)

t

x

x

x|| =

m

m‘

t||x

+

+

=

=

Figure 2. Firing of a transition t from a marking m to a marking m′ and its interpretation as a concurrent rewritingof the transition t and the marking x.

can be composed synchronously (to synchronous step terms) if and only if their respective informa-tion elements are (synchronously) independent. For synchronously independent information elementswe define an operation for the synchronous composition of information elements. This operation hasthe meaning that the information of the composed synchronous step term is the composition of the in-formation elements of its components. A marking x and a synchronous step term s can be composedconcurrently if and only if their respective information elements are (concurrently) independent. We alsodefine an operation for the concurrent composition of information elements with the intended meaningthat the information of the composed term is the (concurrent) composition of the information elementsof its components. Since the operations of synchronous and concurrent composition between elementaryterms and information elements are defined only partially, i.e. partial algebra is employed, such nets arealso called Petri nets over partial algebra [8].

As elementary terms, each process term has an associated initial marking, final marking and aninformation set consisting of all information elements of elementary terms from which it is generated.Initial and final markings are necessary for sequential composition: Two process terms can be composedsequentially only if the final marking of the first process term coincides with the initial marking of thesecond one. Then the initial marking of the resulting process term is the initial marking of the first termand the final marking of the resulting term is the final marking of the second term. The set of informationassociated to the resulting process term is given by the union of the sets of information associated to thetwo composed terms. Concurrent composition of two process terms is defined only if each element of theassociated information set of the first process term is independent from each element of the informationset of the second term. Then the initial and final marking of the resulting term are given by the sum (+)of the initial and final markings of the two terms. The set of information of the resulting process termcontains the concurrent composition of each element of the information set of the first term with eachelement of the information set of the second. Synchronous composition is only defined for transitionsbut not for arbitrary process terms.

Altogether, an algebraic Petri net consists of a set of transitions and a set of markings (equipped withan operation for the addition of markings). Each transition is assigned an initial and a final markingand each marking and each transition is assigned an information element from a partial algebra of in-formation. Its behaviour is given by process terms. Process terms are built inductively by synchronouscomposition of transitions to synchronous step terms, and sequential and concurrent composition ofsynchronous step terms and markings. All composition operations are partial. In this approach, thecardinality of the sets of information associated to concurrently composed process terms growths expo-nentially. For deriving a more compact information one can use any equivalence ∼=∈ 2I × 2I that is acongruence with respect to the operations concurrent composition and union for sequential composition

Page 5: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 5

(the synchronous composition operation is not considered since it is not defined for arbitrary processterms). If this congruence preserves the independence relation, i.e. A ∼= B and A is independent fromC (that means each element of A is independent from each element of C) implies that B is independentfrom C, then the congruence is called a closed congruence. Equivalence classes of the greatest closedcongruence represent the minimal information assigned to process terms necessary for concurrent com-position. Thus, instead of sets of information we associate to process terms equivalence classes w.r.t. thegreatest closed congruence.

{p1}

{p3}

e({p1},{p3},∅)

{p2}

{p4}

f({p2},{p4},{p3})

{p1,p2}

{p3,p4}

e⊕f({p1,p2},{p3,p4},∅)

{p5}

{p5}

{p5}({p5},{p5},∅)|| =

{p1,p2,p5}

{p3,p4,p5}

(e⊕f)||{p5}{({p1,p2,p5},{p3,p4,p5},∅)}

{p5}

{p6}

g({p5},{p6},{p7})

{p4}

{p7}

h({p4},{p7},{p6})

{p4,p5}

{p6,p7}

g⊕h({p4,p5},{p6,p7},∅)

{p3}

{p3}

{p3}({p3},{p3},∅)|| =

{p3,p4,p5}

(g⊕h)||{p3}{({p3,p4,p5},{p3,p6,p7},∅)}

((e⊕f)||{p5});((g⊕h)||{p3}){({p1,p2,p5},{p3,p4,p5},∅), ({p3,p4,p5},{p3,p6,p7},∅)}

Figure 3. Deriving an exemplary process term of the net from Figure 1 (part (a)). In the middle of an arc there aredrawn the respective sub-process terms with associated information (information elements for elementary processterms and information sets for non-elementary process terms) in the line below in grey colour. At the beginning ofan arrow we illustrated pre and at the arrowhead post is depicted.

Figure 3 shows an example for the construction of a process term to describe a run of the net shown inFigure 1, part (a). In the initial marking {p1, p2, p5} the transitions e and f can occur synchronously. Thisis described by the process term (e⊕ f) ‖ {p5}. After the occurrence of e and f the marking {p3, p4, p5}is reached. In this marking, the transitions g and h can occur synchronously yielding the process term(g⊕h) ‖ {p3}. The resulting term is ((e⊕ f) ‖ {p5}); ((g⊕h) ‖ {p3}). For the construction of such

Page 6: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

6 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

a process term one has to verify that the mentioned synchronous and concurrent compositions of sub-terms are defined. This is done by assigning information elements from an appropriate partial algebraof information to markings and transitions as described above (see Section 6 and Example 3.1 for theformal definition of such a partial algebra of information for elementary nets with inhibitor arcs).

Using the described algebraic approach, a great variety of additional concrete net classes can be cov-ered compared to [11]. Unfortunately, the paper [13] does not provide a general method for constructingso-structure based causal semantics from the algebraic semantics. Therefore in [13] a correspondenceof the algebraic semantics to non-sequential a-priori process semantics of elementary nets with inhibitorarcs was proven in a complicated ad hoc way not comparing causal semantics.

As the main result of this paper we fill this gap. Namely, we show how to obtain a causal semanticsbased on so-structures from process terms and, as an example, derive their correspondence to causalsemantics produced from processes for elementary nets with inhibitor arcs equipped with the a-priorisemantics.

Causal semantics can be obtained from process terms as follows: First each process term α definesan so-structure (whose events are labelled by transition occurrences) in an obvious way:

• an event e1 occurs earlier than another event e2 if the process term α contains a subterm α1; α2

such that e1 occurs in α1 and e2 occurs in α2.

• events of one synchronous step term are in symmetric not later than relation.

For example, the process term ((e⊕ f) ‖ {p5}); ((g⊕h) ‖ {p3}) generates the left most so-structureshown in Figure 4.

e f

g h

e f

g h

e f

gh

e f

g h

((e⊕f)||{p5});((g⊕h)||{p3})

((f||{p1,p5});(e||{p4,p5}));((g⊕h)||{p3})

(f||{p1,p5});(e⊕g⊕h)

((f||{p1,p5});((g⊕h)||{p1});(e||{p6,p7}))

Figure 4. So-structures generated from process terms describing possible behaviour of the net from Figure 1 (part(a)).

Unfortunately not all reasonable so-structures can be generated in this way. For example, considerthe so-structure shown in Figure 1, part (c). It is easy to show by induction on the structure of processterms that this so-structure cannot be generated by any process term. However, this so-structure can beconstructed from the so-structures shown in Figure 4 (by intersection of the respective ”earlier than” and”not later than” relations) which are all generated by process terms.

Formally, process terms are used to produce so called enabled so-structures defining causal semanticsfrom algebraic semantics of Petri nets. These causal semantics are consistent with the algebraic step

Page 7: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 7

semantics in the sense that an so-structure is enabled if and only if every of its step sequentializations isgenerated by an appropriate process term (Figure 4 shows all step sequentializations of the so-structurein Figure 1, part (c)). Of course, this causal semantics should coincide with causal semantics of concretePetri net classes derived from processes (for such Petri net classes which have defined process semantics).That means, the minimal enabled so-structures obtained from process terms should be exactly minimalso-structures given by processes. This property must be shown extra for each concrete Petri net class.In order to prepare the possibility of a systematic proof at such a concrete level, we derive results at theabstract algebraic level relating process terms and enabled so-structures in more detail. Firstly it is shownthat so-structures generated by process terms are enabled. Secondly, we will define an equivalence ofprocess terms which are intended to represent the same commutative process (in commutative processesone abstracts from the individuality of tokens, for details and examples see [11] and [2])3. Then it can beproven that two process terms, whose generated so-structures extend (add causality to) the same enabledso-structure, are equivalent.

Abstracting from technical details the framework for non-sequential semantics described in this paperis visualized in Figure 5. Analogous relations were developed in [11] for the partial order case withouta synchronous composition operator. Here we elaborate the relations in this more general situation,where our main focus is the causal level. Note that the right side (the filled arcs) of the graph - derivingruns using the algebraic framework - can be schematically applied to nearly any net class with restrictedoccurrence rule. The left side (non-filled arcs) of the framework is obviously strongly connected to theconcrete process definitions which are often, as already mentioned, non uniform ad-hoc definitions. Con-sequently to demonstrate the respective relations we have to discuss a concrete net class implementationas it is shown in section 6. But our approach is not dependent on such process semantics and we are ableto define runs for a wide variety of net classes in a uniform way (filled arcs): The framework directlyprovides non-sequential algebraic semantics (process terms) and based on these causal semantics (runsin the form of so-structures).

Formally, the algebraic semantics of a concrete Petri net is given as follows: We say that an alge-braic Petri net corresponds to a concrete Petri net, if both nets have the same (algebraic respectivelyoperational) step semantics. Given a concrete Petri net, first a corresponding algebraic net has to bedetermined. For this we have to fix an appropriate partial algebra of information and assign informa-tion elements to markings and transitions. Then process terms can be generated from which (minimal)enabled so-structures can be deduced in a systematic way. The resulting semantics are algebraicallyestablished, are consistent with operational step semantics, and exactly match acknowledged classicalsemantics in all elaborated examples. The advantage over classical non-sequential semantics is the uni-form, systematic and mathematically founded definition.

The paper is structured as follows: First we generalize our own algebraic approach from [13] gener-ating process terms via the partial operations of synchronous composition, concurrent composition andsequential composition (section 3). These terms are used to produce so called enabled so-structuresdefining causal semantics of algebraic nets. We derive several general results establishing the detailedrelationship between process terms and enabled so-structures at this abstract algebraic level (section 4).Given a Petri net of a concrete Petri net class, we define the corresponding algebraic net in section 5. Thisleads to a systematic and uniform way to construct causal semantics of Petri nets. This causal semantics

3Note that for elementary nets (with inhibitor arcs) we do not have to distinguish between collective and individual tokensemantics (see [11]) and thus commutative processes and classical processes coincide.

Page 8: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

8 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

net class

process terms

runs

(synchronous, concurrent, sequential)

(„earlier than“, „not later than“)

process nets

Figure 5. The semantical framework of this paper which sketches the relations between concrete Petri net classes(possibly distinguishing synchronous and concurrent behaviour), classical process definitions based on occurrencenets, algebraic process terms with the partial operations of synchronous, concurrent and sequential compositionand in the end runs expressed as labelled so-structures.

coincides with classical causal semantics derived from process semantics. Exemplarily we will showthis result in a systematic way (which is based on the general results developed in section 4 and can beadapted to further net classes) for elementary nets with inhibitor arcs (section 6).4 This generalizes themain result of [13].

Altogether this work is a self-contained, elaborated and consolidated version of [12]. For betterreadability we only sketched the technically laborious proofs in the main text of the paper but we includeddetailed proofs in the Appendix. If we do not explicitly mention that a result was already proven inanother publication, then the result is firstly shown in this paper. The same holds for the conceptualdefinitions.

2. Preliminaries

In this section we recall the basic definitions of stratified order structures, elementary nets with inhibitorarcs (equipped with the a-priori semantics) and partial algebras.

Given a set X we will denote the set of all subsets of X by 2X , the set of all multisets over X byNX , the identity relation over X by idX , the reflexive transitive closure of a binary relation R over X byR∗ and the composition of two binary relations R, R′ over X by R ◦R′.

We start with some basic notions to prepare the ground for the definition of stratified order structures(so-structures). A directed graph is a pair (V,→), where V is a finite set of nodes and →⊆ V × V isa binary relation over V called the set of arcs. As usual, given a binary relation →, we write a → b to

4This net class has the advantage that it is already completely analyzed in the concept of ad-hoc process definitions (in contrastto p/t-nets with weighted or unweighted inhibitor arcs [15, 16]). Therefore we are able to check the consistency of the ad-hocconcept to our general algebraic concept. Note that the existing process semantics for general p/t-nets with weighted inhibitorarcs [16] do not produce minimal causal behaviour.

Page 9: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 9

denote (a, b) ∈→. Two nodes a, b ∈ V are called independent w.r.t. the binary relation → if a 6→ band b 6→ a. We denote the set of all pairs of nodes independent w.r.t. → by co→ ⊆ V × V . Apartial order is a directed graph po = (V, <), where < is an irreflexive and transitive binary relationon V . If co< = idV then (V, <) is called total. A co-set of a partial order (V, <) is a set C satisfyingC × C ⊆ co<. Given two partial orders po 1 = (V,<1) and po 2 = (V, <2), we say that po 2 is asequentialization (or extension) of po 1 if <1⊆<2.

So-structures [10] are, loosely speaking, combinations of two binary relations on a set of eventswhere one is a partial order representing an ”earlier than” relation and the other represents a ”not laterthan” relation. Thus so-structures describe finer causalities than partial orders. Formally, so-structuresare relational structures satisfying certain properties. A relational structure (rel-structure) is a tripleS = (X,≺, @), where X is a finite set (of events), and≺⊆ X×X and @⊆ X×X are binary relationson X . A rel-structure S ′ = (X,≺′, @′) is said to be an extension of another rel-structure S = (X,≺, @),written S ⊆ S ′, if ≺⊆≺′ and @⊆@′.

Definition 2.1. (Stratified order structure)A rel-structure S = (X,≺, @) is called stratified order structure (so-structure) if the following condi-tions are satisfied for all x, y, z ∈ X:(C1) x 6@ x(C2) x ≺ y =⇒ x @ y(C3) x @ y @ z ∧ x 6= z =⇒ x @ z(C4) x @ y ≺ z ∨ x ≺ y @ z =⇒ x ≺ z ©

In figures≺ is graphically expressed by solid arcs and @ by dashed arcs. According to (C2) a dashedarc is omitted if there is already a solid arc. Moreover, we omit arcs which can be deduced by (C3)and (C4). It is shown in [10] that (X,≺) is a partial order ((X, @) is a strict preorder). Therefore so-structures are a generalization of partial orders. So-structures turned out to be adequate to model thecausal relations between events of complex systems exhibiting sequential, concurrent and synchronousbehavior. In this context ≺ represents the ordinary ”earlier than” relation (as in partial order basedsystems) while @ models a ”not later than” relation (examples are depicted in Figure 1, part (c), andFigure 4). According to [10] for nodes x, y ∈ X there is an extension S ′ = (X,≺′, @′) of S with x ≺′ yif and only if y 6@ x and x 6= y. Moreover, for all x, y ∈ X , there holds x ≺ y =⇒ y 6@ x. Theseproperties justify the described interpretation of ≺ and @.

Similar to the notion of the transitive closure of a binary relation the ♦-closure S♦ [10] of a rel-structure S = (X,≺, @) is defined by

S♦ = (X,≺S♦ ,@S♦)= (X, (≺ ∪ @)∗◦ ≺ ◦(≺ ∪ @)∗, (≺ ∪ @)∗ \ idX).

A rel-structure S is called ♦-acyclic if ≺S♦ is irreflexive. The ♦-closure S♦ of a rel-structure S is anso-structure if and only if S is ♦-acyclic (for this and further results on the ♦-closure see [10]).

Finally, we introduce two subclasses of so-structures which turn out to be associated to (specificsubclasses of) process terms of algebraic Petri nets.

Definition 2.2. Let S = (X,≺, @) be an so-structure, then S is called synchronous closed if co≺ =co@ ∪ (@ \ ≺) and S is called total linear if co≺ = (@ \ ≺) ∪ idX . ©

Page 10: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

10 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

In other words, a synchronous closed so-structure can be regarded as an so-structure that does notinclude asymmetric @-relations (for instance the so-structure in Figure 1, part (c), is not synchronousclosed, because f @ e but e 6@ f ). Total linear so-structures are maximally sequentialized in the sensethat no further ≺- or @- relations can be added maintaining the requirements of so-structures accordingto Definition 2.1 (for examples see Figure 4).

The set of all total linear extensions (or linearizations) of an so-structure S is denoted by stratsos(S).Now we will summarize some results about these two classes of so-structures. The following resultproven in [15]5 shows that every so-structure can be reconstructed from its linearizations:

Proposition 2.1. Let S be an so-structure. Then

S = (X,⋂

(X,≺,@)∈stratsos(S)

≺,⋂

(X,≺,@)∈stratsos(S)

@)

This means any so-structure equals the intersection of its linearizations (as an example, the so-structure in Figure 1, part (c), equals the intersection of those in Figure 4).

Each total linear so-structure is synchronous closed because according to (C2) co≺ = (@ \ ≺)∪idX

implies co@ = idX . Using the results from [10] about augmenting so-structures one can conclude thatevery so-structure is extendable to a total linear so-structure.

The crucial property of synchronous closed so-structures is the fact that every synchronous closedso-structure can be embedded into a partial order. To show this we need the following lemma which isfundamental to transforming special equivalence classes of nodes of a synchronous closed so-structureinto the nodes of a partial order:

Lemma 2.1. Let S = (X,≺, @) be an so-structure. Then S is synchronous closed if and only if(@ \ ≺) ∪ idX is an equivalence relation.

Proof:”=⇒”: The reflexivity of (@ \ ≺) ∪ idX is obvious. From co≺ = co@ ∪ (@ \ ≺) we deduce that(@ \ ≺) is symmetric, since co≺ and co@ are symmetric and co@ ∩ (@ \ ≺) = ∅. Consequently,(@ \ ≺)∪ idX is symmetric. Denote∼= (@ \ ≺)∪ idX . According to (C3), @ ∪ idX is transitive. Thetransitivity of ∼ can be proven as follows: Assuming x ∼ y ∼ z and x 6∼ z then implies x ≺ z. Thiscontradicts the symmetry of ∼, since x ≺ z =⇒ z 6@ x.

”⇐=”: Since (@ \ ≺) ∪ idX is symmetric, also (@ \ ≺) is symmetric. Therefore, x co≺y impliesthat either x co@ y or x (@ \ ≺) y and y (@ \ ≺) x. On the other hand, we get co@ ⊆ co≺ directly from(C2) and (@ \ ≺) ⊆ co≺ since (@ \ ≺) is symmetric. ut

For a synchronous closed so-structure S = (X,≺, @) we denote

• ∼S= (@ \ ≺) ∪ idX (which according to Lemma 2.1 defines an equivalence relation),

• [x]S = {y ∈ X | x ∼S y}, and

• X|S = {[x]S | x ∈ X}.

5formulated in other notations using the notion strat(S)

Page 11: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 11

The elements of X|S are called synchronous classes of S. The partial order ≺ carries over to X|S asfollows: For [x]S , [y]S ∈ X|S define

[x]S <S [y]S ⇐⇒ x ≺ y.

By (C4) this is well-defined. Then poS = (X|S , <S) defines a partial order, because (X,≺) is a partialorder. poS is called associated to S. The partial orders associated to the total linear so-structures inFigure 4 are the total orders expressed by the following sequences (from left to right): {e, f} → {g, h},{f} → {e} → {g, h}, {f} → {e, g, h} and {f} → {g, h} → {e} (this also illustrates the secondstatement in the subsequent Lemma 2.2). We have the following results for associated partial orders:

Lemma 2.2. Let S,S ′ be synchronous closed so-structures satisfying S ⊆ S ′. Then k′ ∈ X|S′ has theform k′ = k1 ∪ . . . ∪ kn with k1, . . . , kn ∈ X|S for some n ∈ N.

Moreover, a synchronous closed so-structure S is total linear if and only if its associated partial orderpoS is total.

Proof:From the above definitions we directly deduce∼S⊆∼S′ . This implies the first statement of the Lemma.

For the second statement we have to discuss two directions:Let S be total linear, i.e. co≺ = (@ \ ≺) ∪ idX =∼S . This implies x co≺y ⇐⇒ [x]S = [y]S

(x, y ∈ X). This gives co< = idX|S because x co≺y ⇐⇒ [x]S co<[y]S by definition.Let on the other hand poS be total, i.e. co< = idX|S . From x co≺y ⇐⇒ [x]S co<[y]S we deduce

x co≺y ⇐⇒ [x]S = [y]S , i.e. co≺ =∼S= (@ \ ≺) ∪ idX . utWe will often use labelled so-structures in the following. These are so-structures S = (X,≺, @)

together with a set of labels M and a labelling function l : X → M . We use the above notations definedfor so-structures also for labelled so-structures. Moreover for labelled so-structures we define: Twolabelled so-structures (V1,≺1, @1, l1), (V2,≺2,@2, l2) are isomorphic if and only if there is a bijectionγ : V1 → V2 preserving the order relations and the labelling function, i.e. ∀v1, v2 ∈ V1 : v1 ≺1 v2 ⇐⇒γ(v1) ≺2 γ(v2) ∧ v1 @1 v2 ⇐⇒ γ(v1) @2 γ(v2) ∧ l(v1) = l(γ(v1)).

Next we present the net class which will be used to illustrate the main concepts and results developedin this paper. An elementary net is a net N = (P, T, F ), where P is a finite set of places, T is a finiteset of transitions (P ∩ T = ∅) and F ⊆ (P × T ) ∪ (T × P ) is the flow relation. For x ∈ P ∪ T wedenote •x = {y ∈ P ∪ T | (y, x) ∈ F} (preset of x) and x• = {y ∈ P ∪ T | (x, y) ∈ F} (postset ofx). This notation can be extended to X ⊆ P or X ⊆ T by •X =

⋃x∈X

•x and X• =⋃

x∈X x• . Eachset m ⊆ P is called a marking. A transition t ∈ T is enabled to occur in a marking m of N if and onlyif •t ⊆ m ∧ (m \ •t) ∩ t• = ∅. In this case, its occurrence leads to the marking m′ = (m \ •t) ∪ t• .Two transitions t1, t2 ∈ T, t1 6= t2, are in conflict if and only if ( •t1 ∪ t•1 ) ∩ ( •t2 ∪ t•2 ) 6= ∅.

Definition 2.3. (Elementary net with inhibitor arcs (a-priori))An elementary net with inhibitor arcs is a quadruple ENI = (P, T, F, C−), where (P, T, F ) is anelementary net and C− ⊆ P × T is the negative context relation (or inhibitor relation) satisfying (F ∪F−1) ∩ C− = ∅. For a transition t, −t = {p ∈ P | (p, t) ∈ C−} is the negative context of t.

A transition t is enabled to occur in a marking m if and only if it is enabled to occur in the underlyingelementary net (P, T, F ) and if −t ∩ m = ∅. The occurrence of an enabled transition t leads to themarking m′ = (m \ •t) ∪ t• .

Page 12: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

12 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

Two transitions t1, t2 ∈ T, t1 6= t2, are in synchronous conflict (in the a-priori semantics) if they arein conflict in the underlying elementary net or if ( •ti) ∩ (−tj) 6= ∅ (for i, j ∈ {1, 2}, i 6= j). A setof transitions s ⊆ T , called synchronous step, is enabled to occur in a marking m of ENI if and onlyif every t ∈ s is enabled to occur in m and no two transitions t1, t2 ∈ s, t1 6= t2, are in synchronousconflict. In this case, its occurrence leads to the marking m′ = (m \ •s) ∪ s• . We write m

s−→ m′ todenote that s is enabled to occur in m and that its occurrence leads to m′. ©

In the example net of Figure 1 (part (a)) the negative context relation is depicted through so calledinhibitor arcs with circles as arrowheads (the standard arcs represent the usual flow relation). An examplefor the occurrence rule of elementary nets with inhibitor arcs equipped with the a-priori semantics bymeans of this example net is described in the introduction.

Now we introduce the ”classical” process semantics for ENI as presented in [10]. Remember thatsince the absence of a token in a place cannot be directly represented in an occurrence net, every inhibitorarc is replaced by a read arc to a complement place. Moreover, such complement places remove possiblecontact situations. These are situations, when the enabledness of a transition is prohibited by tokensin the postset of the transition. It is shown in [20] that ENI can be transformed via complementationinto a contact-free elementary net with positive context (i.e. with read arcs depicted through arcs withdots as arrowheads) exhibiting the same behavior. The set of complement places6 will be denoted byP ′ and the complementation-bijection from P to P ′ will be denoted by c. The processes of ENI aredefined endowing processes of ”ordinary” elementary nets (defined as usual by occurrence nets usingcomplementation) with read arcs (also called activator arcs in [10, 15, 16]).

Definition 2.4. (Labelled occurrence net)An occurrence net is a net O = (B, E, R) satisfying:

(i) | •b|, |b• | ≤ 1 for every b ∈ B (places are unbranched).

(ii) O is acyclic, i.e. the transitive closure R+ of R is a partial order.

Places of an occurrence net are called conditions and transitions of an occurrence net are called events.The set of conditions of an occurrence net O = (B, E, R) which are minimal (maximal) according

to R+ are denoted by Min(O) (Max(O)).A labelled occurrence net is a tuple (O, l) where O is an occurrence net and l is a labelling function

on B ∪ E. ©Definition 2.5. (Process of an elementary net)Let N = (P, T, F ) be an elementary net and m0 be a marking. A process of N w.r.t. m0 is a labelledoccurrence net O = (B, E,R, l) such that the following conditions are satisfied:

(i) No isolated place of O is mapped by l to a complement place p ∈ P ′ (a place is isolated if it hasan empty preset and postset).

(ii) l|D is injective for every maximal co-set D of (B ∪ E, R+).

(iii) l(Min(O)) ∩ P = m0 ∧ l(Min(O)) ⊆ m0 ∪ {p′ ∈ P ′ | c−1(p′) 6∈ m0}.

6The concept of complement places can often be simplified (omitting complement places or using existing places as complementplaces); such principles are applied in graphical representations, e.g. see Figure 1, part (b).

Page 13: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 13

(iv) ∀e ∈ E : l(•e) = •l(e) ∪ {p′ ∈ P ′ | c−1(p′) ∈ l(e)• } ∧ l(e•) = l(e)• ∪ {p′ ∈ P ′ | c−1(p′) ∈•l(e)}.

©

Definition 2.6. (Activator process)A labelled activator occurrence net (ao-net) is a five-tuple AON = (B, E, R,Act, l) satisfying:(B, E,R, l) is a labelled occurrence net, Act ⊆ P × T is the positive context relation satisfying (R ∪R−1) ∩Act = ∅, and the relational structure

S(AON) = (E,≺, @)= (E, (R ◦R)|E×E ∪ (R ◦Act), (Act−1 ◦R) \ idE)

is ♦-acyclic. An ao-net AON is an activator process of ENI = (P, T, F, C−) w.r.t. a marking m0 ifand only if:

• O = (B, E, R, l) is a process of the elementary net N = (P, T, F ) w.r.t. m0, and

• (∀b ∈ B,∀e ∈ E : (b, e) ∈ Act =⇒ (c−1(l(b)), l(e)) ∈ C−) and (∀e ∈ E : (p, l(e)) ∈ C− =⇒|{b ∈ B | c−1(l(b)) = p, (b, e) ∈ Act}| = 1).

In this case the labelled so-structure (S(AON)♦, l) is called a run of ENI w.r.t. m0. Denote byRun(ENI, m0) the set of all runs of ENI w.r.t. m0. ©

e f e f e f

(a) (b) (c)

Figure 6. The nets in (a) and (b) generate the order e ≺ f , the net in (c) the order e @ f .

An example of an activator process and an associated run is depicted in Figure 1 (parts (b) and (c)).The construction rule of S(AON) is illustrated in Figure 6. For a more detailed definition of activatorprocesses and a discussion of related results see the series of papers [10, 15, 16].

The central idea behind the modelling of restricted occurrence rules as in the case of inhibitor nets onthe algebraic level is the utilization of partial algebras [4] in the context of partial composition rules forprocess terms. A partial algebra is a set called carrier together with a set of (partial) operations (withpossibly different arity) on the carrier. A partial algebra with one binary operation is a partial groupoid,i.e. an ordered tuple I = (I, domu, u), where I is the carrier of I, domu ⊆ I × I is the domain of u,and u : domu → I is the partial operation of I.

Definition 2.7. (Partial closed commutative monoid)A partial groupoid I = (I, domu, u) is called a partial closed commutative monoid if the followingconditions are satisfied:

• If a u b is defined then also b u a is defined with a u b = b u a (closed commutativity).

Page 14: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

14 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

• If (a u b) u c is defined then also a u (b u c) is defined with (a u b) u c = a u (b u c) (closedassociativity).

• There is a (unique) neutral element i ∈ I such that a u i is defined for all a ∈ I with a u i = a(existence of a (total) neutral element).

©We shortly recall the concept of closed congruences on partial algebras. Given a partial algebra with

carrier X , an equivalence relation ∼ on X is called congruence if for each n-ary operation op on Xwith domain domop: a1 ∼ b1, . . . , an ∼ bn, (a1, . . . , an) ∈ domop and (b1, . . . , bn) ∈ domop impliesop(a1, . . . , an) ∼ op(b1, . . . , bn). A congruence ∼ is called closed if for each n-ary operation op on Xwith domain domop: a1 ∼ b1, . . . , an ∼ bn and (a1, . . . , an) ∈ domop implies (b1, . . . , bn) ∈ domop.Thus, a congruence is an equivalence which preserves all operations of a partial algebra. A closedcongruence moreover preserves the domains of operations. Therefore the operations of a partial algebraX with carrier X can be carried over to the set of equivalence classes of a closed congruence ∼ asfollows: Denote

• [x]∼ = {y ∈ X | x ∼ y},

• X/∼ = {[x]∼ | x ∈ X},

• domop/∼ = {([a1]∼, . . . , [an]∼) | (a1, . . . , an) ∈ domop}, and

• op/∼([a1]∼, . . . , [an]∼) = [op(a1, . . . , an)]∼ for each n-ary operation op : domop → X of X(this is well defined for closed congruences).

This defines a partial algebra X/∼ with carrier X/∼ and operations op/∼. X/∼ is called factor algebraof X w.r.t. ∼. A possibility to generate (closed) congruences on partial algebras is through so called(closed) homomorphisms [4]. The most important result of [4] for this paper is that there always existsa unique greatest closed congruence on a given partial algebra. For more details on partial algebras seee.g. [4].

3. Algebraic (M, I)-nets

“Petri nets are monoids” is the title and the central idea of the paper [19]. It provides an algebraicapproach to define both nets and their processes as terms. A crucial assumption for this concept is thatarbitrary concurrent composition of processes is defined, which holds true for place/transition Petri netswhere places can hold arbitrarily many tokens. But for Petri nets with restricted occurrence rules likeinhibitor nets or even simple elementary nets there exist transitions that cannot occur concurrently orsynchronously. Therefore the respective algebraic operations will here be defined partially. Note that thesynchronous composition operator was not considered in [19].

As a starting point a general algebraic Petri net is defined similarly as in [19] to be a quadrupleA = (M, T, pre : T → M, post : T → M), where M is the set of markings and T is the set oftransitions. Formally, the set of markings M is equipped with an operation + such that M = (M, +) isa (total) commutative monoid with neutral element 0. The two mappings pre : T → M, post : T → M

Page 15: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 15

assign presets and postsets to each transition. The behaviour of general algebraic Petri nets is given byso called process terms which are defined inductively: Each transition t is an elementary process termrepresenting a transformation from the marking pre(t) into the marking post(t). Also each markingm is an elementary process term representing a ”transformation” from the marking pre(m) = m intothe marking post(m) = m. To construct more complex process terms we introduce concurrency andsynchronicity as well as a sequential firing rule: Firstly transitions can be synchronously composed tosynchronous step terms, and secondly markings and synchronous step terms can be sequentially andconcurrently composed to (general) process terms. For example, if a transition t and a marking m canbe composed concurrently to the term t ‖m, this term changes the marking pre(t) + m to post(t) + m.The restricted concurrent and synchronous occurrence rule is encoded in the partiality of the respectivecomposition operators. This partiality is modelled by equipping process terms with information elementsfrom a partial algebra of information using the results about partial algebras from section 2. The generalapproach of process terms that not only ought to model the occurrence rules but also arbitrary processesis developed in the following.

Each process term α has assigned an initial marking pre(α) ∈ M and a final marking post(α) ∈ M ,written α : pre(α) → post(α). Two process terms can be sequentially composed, if the final marking ofthe first process term equals the initial marking of the second process term. Moreover, each marking andeach transition has assigned an information element used for determining the synchronous composabilityof transitions and the concurrent composability of process terms. Thus, a set of information elements Iis equipped with the partial operations ‖ : dom‖ → I and ⊕ : dom⊕ → I for the concurrent and syn-

chronous composition of information elements, resulting in a partial algebra I = (I, dom‖, ‖, dom⊕, ⊕).The relations dom‖, dom⊕ ⊆ I × I specify the pairs of (concurrently resp. synchronously) independent

information elements. The groupoids (I, dom‖, ‖) and (I, dom⊕, ⊕) are assumed to be partial closedcommutative monoids with neutral elements i0 and j0. Such an I is called an synchronous-concurrentpartial algebra (sc-partial algebra).

Definition 3.1. (Algebraic (M, I)-net)Let I = (I, dom‖, ‖, dom⊕, ⊕) be an sc-partial algebra, M = (M, +) be a total commutative monoid,A = (M, T, pre : T → M,post : T → M) be a general algebraic Petri net, and inf : M ∪ T → I be amapping. Then (A, inf ) is called an algebraic (M, I)-net. ©

Two transitions can be synchronously composed, if their associated information elements can besynchronously composed. Their synchronous composition yields a synchronous step term, which hasassociated as information element the synchronous composition of the information elements of the twotransitions. This procedure can be iterated leading to synchronous step terms consisting of more thantwo transitions. Thus, in general the synchronous step terms of an algebraic (M, I)-net are definedinductively as follows.

Definition 3.2. (Synchronous step terms)Let (A, inf ) be an algebraic (M, I)-net. Its elementary synchronous step terms are its transitions t ∈ T .If s and s′ are synchronous step terms which satisfy (inf (s), inf (s′)) ∈ dom⊕, then their synchronouscomposition yields the synchronous step term s⊕ s′ with initial marking pre(s⊕ s′) = pre(s)+pre(s′),final marking post(s⊕ s′) = post(s) + post(s′) and assigned information element inf (s⊕ s′) =inf (s) ⊕ inf (s′). The set of all synchronous step terms of (A, inf ) is denoted by Step(A,inf ). ©

Page 16: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

16 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

Observe that this definition extends the mappings pre, post and inf to synchronous step terms. Eachs ∈ Step(A,inf ) has the form s = v1⊕ . . .⊕ vn for transitions v1, . . . , vn ∈ T . We denote t ∈ s if∃i ∈ {1, . . . , n}: t = vi, and we define |s| ∈ NT by |s|(t) = |{i ∈ {1, . . . , n} | t = vi}|.

Next we define the process term semantics of algebraic (M, I)-nets through sequential and con-current composition of markings and synchronous step terms. Each process term has assigned a set ofinformation elements (information set). For markings and synchronous step terms, the associated in-formation set will contain only the information element assigned by the mapping inf . The sequentialcomposition of two process terms has assigned the union of their respective information sets because theinformation elements of both terms have to be regarded for possible further concurrent composition oper-ations. The concurrent composition of two process terms has assigned the set of concurrent compositionsof the information elements in their respective information sets. Note that the sequential composition ;as well as the concurrent composition ‖ are partial: For sequential composability the final marking ofthe first process term has to coincide with the initial marking of the second process term. For concurrentcomposability the information sets of the two process terms have to be (concurrently) independent. Twoinformation sets X and Y are called (concurrently) independent if each information element in X is(concurrently) independent from each information element in Y .

Since in general information sets instead of information elements are needed to decide the concur-rent composability of process terms the sc-partial algebra I = (I, dom‖, ‖, dom⊕, ⊕) of information

elements is lifted to the partial algebra of information sets X = (2I , dom{‖}, {‖}, 2I × 2I ,∪) defined by

dom{‖} = {(X, Y ) ∈ 2I × 2I | X × Y ⊆ dom‖} and X{‖}Y = {x ‖ y | x ∈ X ∧ y ∈ Y }. Since only

transitions will be synchronously composed, contrariwise to ‖ it is not necessary to consider the opera-tion ⊕ for general process terms here. For the sequential composition we have to add the total operation∪ (union) on 2I (∪ is total because the sequential composition is not restricted through information setsbut through pre- and postsets). It is easy to verify that X is also a partial closed commutative monoid[11]. Two information sets A and B can carry the same ”information” in the sense that each informationset C is either independent from both A and B or not independent from both A and B. Such sets neednot be distinguished and can be technically identified through a closed congruence on 2I . Thereforewe distinguish information sets only up to the greatest closed congruence ∼=∈ 2I × 2I on X whoseequivalence classes in our case will represent the minimal information which can be assigned to processterms. Based on these preparations process terms of an algebraic (M, I)-net (A, inf ) which representall abstract computations of (A, inf ) are defined inductively as follows:

Definition 3.3. (Process terms)Let (A, inf ) be an algebraic (M, I)-net. Its elementary process terms are of the form ida : a −→ a withInf (ida) = [{inf (a)}]∼= for a ∈ M (mostly we denote ida simply by a) and s : pre(s) −→ post(s)with Inf (s) = [{inf (s)}]∼= for s ∈ Step(A,inf ).

If α : a1 −→ a2 and β : b1 −→ b2 are process terms satisfying (Inf (α), Inf (β)) ∈ dom{‖}/∼= , theirconcurrent composition yields the process term

α ‖β : a1 + b1 −→ a2 + b2

with Inf (α ‖β) = Inf (α) {‖}/∼= Inf (β).If α : a1 −→ a2 and β : b1 −→ b2 are process terms satisfying a2 = b1, their sequential composition

Page 17: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 17

yields the process termα;β : a1 −→ b2

with Inf (α; β) = Inf (α) ∪/∼= Inf (β).The partial algebra of all process terms with the partial operations of synchronous, concurrent and

sequential composition will be denoted by P(A, inf ). ©

Note that the mappings pre and post are extensions of the previously defined mappings. For aprocess term α we denote by Bα the set of synchronous step terms α is composed from (using somemarkings and the operations ‖ and ;). The synchronous step terms in Bα are called basic step terms ofα. The basic step terms of the process term from Figure 3 are e⊕ f and g⊕h. For a process term α andt ∈ T we denote t ∈ α ⇐⇒ (∃s ∈ Bα : t ∈ s).

As an example of algebraic (M, I)-nets and process term semantics we show now how to instantiateelementary nets with inhibitor arcs as (M, I)-nets. This way algebraic process term semantics can bedefined for elementary nets with inhibitor arcs.

Example 3.1. (Elementary nets with inhibitor arcs)To instantiate an elementary net with inhibitor arcs ENI = (P, T, F, C−) (see section 2) as an algebraic(M, I)-net, we have to appropriately fix the total commutative monoid of markings M = (M, +), ansc-partial algebra I = (I, dom‖, ‖, dom⊕, ⊕) of information and the mappings pre, post and inf . Thisinstantiation will be consistent with the operational step semantics. That means, a set of transitions s isconcurrently enabled in ENI at a marking m if and only if s is a defined synchronous step term of thealgebraic net and there is a marking x with pre(s) + x = m such that s ‖x is a defined proces term ofthe algebraic net (this relationship will be formalized on a general level in section 5). Denote [11]:

• M = (M, +) = (2P ,∪), pre(t) = •t and post(t) = t•, since elementary nets have sets of placesas markings.

• I = 2P × 2P × 2P , , inf (t) = (•t, t•, −t) (t ∈ T ) and inf (m) = (m, m, ∅) (m ∈ M ), i.e.the assigned information distinguishes preset, postset and context information of transitions andmarkings in information triples. The components of such information triples we call pre-, post-and context-part.

That means any information necessary for the occurrence rule is implemented in the information ele-ments (see section 2). For the example net from Figure 1 (part (a)) we have inf (e) = ({p1}, {p3}, ∅),inf (f) = ({p2}, {p4}, {p3}), inf (g) = ({p5}, {p6}, {p7}), inf (h) = ({p4}, {p7}, {p6}). It is now im-portant which information triples can be composed synchronously respectively concurrently, and whichinformation triples result from such a composition. Completely coincident with the occurrence rule ofelementary nets with inhibitor arcs equipped with the a-priori semantics (see section 6 for the proofs),two information elements i1 = (a, b, c), i2 = (d, e, f) ∈ I can be composed

• concurrently if and only if the pre- and post-part of i1 is disjoint from all parts of i2 and vice versa:(a ∪ b) ∩ (d ∪ e) = (a ∪ b) ∩ f = c ∩ (d ∪ e) = ∅. That means dom‖ = {((a, b, c), (d, e, f)) |(a ∪ b) ∩ (d ∪ e) = (a ∪ b) ∩ f = c ∩ (d ∪ e) = ∅}. Their concurrent composition yields(a, b, c) ‖(d, e, f) = (a ∪ d, b ∪ e, c ∪ f).

Page 18: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

18 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

• synchronously if and only if the pre- and post-parts of i1 and i2 are disjoint and the pre-part of i1is disjoint from the context-part of i2 and vice versa: (a ∪ b) ∩ (d ∪ e) = a ∩ f = d ∩ c = ∅. Thatmeans dom⊕ = {((a, b, c), (d, e, f)) | (a∪ b)∩ (d∪ e) = a∩ f = d∩ c = ∅}. Their synchronouscomposition yields (a, b, c) ⊕(d, e, f) = (a ∪ d, b ∪ e, (c ∪ f) \ (b ∪ e)).

In in our running example the only pair of transitions that cannot be composed synchronously is fwith h. Note that e and f as well as g and h can be composed synchronously with inf (e⊕ f) =({p1, p2}, {p3, p4}, ∅) and inf (g⊕h) = ({p4, p5}, {p6, p7}, ∅). The illustrated principle of synchronouscomposition can be iterated. In this way also e⊕ f ⊕ g and e⊕ g⊕h are defined synchronous step terms.

A possible more complex process term is ((e⊕ f) ‖{p5}); ((g⊕h) ‖{p3}) (see also Figure 3). Theintention of this process term is to describe the behaviour of firstly firing e and f synchronously andthen firing g and h synchronously. This leads directly to the left graphic of Figure 7 because ⊕ repre-sents synchronicity and ; a sequential ordering (as shown above and discussed in the introduction, therespective transitions can be composed synchronously). When constructing the process term, the prob-lem is that pre(e⊕ f) = {p1, p2} does not match the initial marking {p1, p2, p5} of the net and thatpost(e⊕ f) = {p3, p4} is not equal to the initial marking of the follower step pre(g⊕h) = {p4, p5}.This problem is solved by adding (concurrent) markings comprising of the places missing in each case.These markings are added via concurrent composition leading to the next graphic in Figure 7 represent-ing the final process term. On the right side of Figure 7 the discussed causal behaviour is developed in theform of an so-structure: First the two synchronous steps of transitions are constructed with symmetric”not later than” relations and then the two steps are arranged sequentially with an ”earlier than” relation.The formal relationships of process terms to so-structures will be developed in the next section.

e f

g h

e⊕f

g⊕h

;

(e⊕f)||{p5}

(g⊕h)||{p3}

;

e f

g h

Figure 7. Informal development of a process term and an so-structure modeling the same behaviour.

Compared to [13] and [11], the definition of algebraic (M, I)-nets in this section is as general aspossible. In order to derive conclusions about process term semantics on the algebraic level similaras in [11] it is necessary to require certain properties for the mapping inf of an algebraic (M, I)-net(A, inf ), relating the sets (I, dom‖, ‖), (I, dom⊕, ⊕) and M = (M, +). All properties have a simpleintuitive interpretation. For all common net classes (with so-structure based semantics) it is easy to showthat they are fulfilled. In contrast to [13] where no results are obtained on the abstract level we haveto introduce more specific properties for inf . We did not include them into the algebraic (M, I)-netdefinition. Instead, for each stated result we will explicitly mention which properties are required. Theseproperties are for x, y, m, m1,m2 ∈ M and s, s1, s2 ∈ Step(A,inf ):

(Con1) (inf (x), inf (y)) ∈ dom‖ =⇒ inf (x + y) = inf (x) ‖ inf (y) (consistency of markings)

Page 19: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 19

(Con2) inf (0) = i0 (consistency of neutral elements)

(Con3) {inf (s)} ∼= {inf (s), inf (pre(s)), inf (post(s))} (consistency of steps and initial/final marking)

(Con4) (inf (s1), inf (s2)) ∈ dom⊕ =⇒ {inf (s1⊕ s2)} ∼= {inf (s1⊕ s2), inf (s1), inf (s2)} (consis-tency of steps)

(Con5) (inf (s1), inf (s2)) ∈ dom⊕, (inf (s1) ⊕ inf (s2), inf (m)), (inf (s1), inf (m1)), (inf (s2), inf(m2)) ∈ dom‖, pre(s1) + pre(s2) + m = pre(s1) + m1, post(s1) + m1 = pre(s2) + m2

=⇒ (inf (pre(s2)+m), inf (s1)), (inf (post(s1)+m), inf (s2)) ∈ dom‖ (synchronous-sequentialconsistency)

(Con6) (inf (s1), inf (s2)) ∈ dom‖ =⇒ (inf (s1), inf (s2)) ∈ dom⊕ and {inf (s1) ‖ inf (s2)} ∼={inf (s1) ‖ inf (s2), inf (s1) ⊕ inf (s2)} (synchronous consistency)

(Det) (inf (s), inf (x)), (inf (s), inf (y))∈ dom‖, pre(s)+x = pre(s)+y =⇒ post(s)+x = post(s)+y

(determinism)

The first two consistency properties (Con1) and (Con2) are self explanatory. Property (Con3) statesthat the information (about concurrent composability) attached to a synchronous step s includes informa-tion about pre(s) and post(s) and (Con4) tells that it also includes information about sub-steps of s. Thesynchronous-sequential consistency (Con5) can be interpreted as follows: if two synchronous step termss1, s2 can occur synchronously and sequentially in the order s1 −→ s2 in the same initial marking, thenthe occurrence of s2 does not depend on the final marking of the occurrence of s1 and the occurrence ofs1 does not depend on the initial marking of the occurrence of s2. The next condition (Con6) determinesthat two synchronous step terms, which can occur concurrently, can also occur synchronously and thatthe information associated to their concurrent composition includes the information associated to theirsynchronous composition. For net classes we are interested in, the occurrence of a step s in a markingm is deterministic in the sense that the follower marking m′ is unique (Det).

We conclude this section with a technical notion concerning the greatest closed congruence∼= on thepartial algebra of information sets X . For an information set A ∈ 2I we abbreviate [A] = [A]∼=. It isconvenient to carry the subset relation ⊆ on 2I over to 2I/∼=, thus defining when a congruence class [A]represents less information than a congruence class [B] in the following sense: if [B] can be composedconcurrently (using {‖}/∼= ) with a congruence class [C] then also [A] (representing less information) canbe composed concurrently with [C]. Therefore we define the respective relation ⊆/∼= as follows:

Definition 3.4. For a, b ∈ 2I/∼= we write a ⊆/∼= b if and only if there exist A, B ∈ 2I with A ⊆ B,a = [A] and b = [B]. ©Simple technical computations yield the following properties of ⊆/∼= :

Lemma 3.1. Let a, b, a′, b′ ∈ 2I/∼=:(i) ⊆/∼= is a weak partial order, i.e. ⊆/∼= is reflexive, transitive and antisymmetric.(ii) a ⊆/∼= a′, b ⊆/∼= b′, a′ {‖}/∼= b′ defined =⇒ a {‖}/∼= b defined.(iii) a ⊆/∼= a′, b ⊆/∼= b′ =⇒ (a ∪/∼= b) ⊆/∼= (a′ ∪/∼= b′) and (a {‖}/∼= b) ⊆/∼= (a′ {‖}/∼= b′) (if defined).(iv) a ⊆/∼= (a ∪/∼= b) and a ⊆/∼= (a {‖}/∼= b) (if defined).(v) a ⊆/∼= c, b ⊆/∼= c =⇒ (a ∪/∼= b) ⊆/∼= c.

Page 20: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

20 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

Proof:[Sketch of the proof] Technical argumentation using the definition of the greatest closed congruence. Seethe Appendix for a detailed proof. ut

These results directly carry over to the composability of process terms and the information attachedto composed process terms. In particular, we deduce that sub-terms of a process term have associatedless information than the process term, where sub-terms are as usual defined inductively following theinductive definition of process terms. The properties of ⊆/∼= summarized above will be fundamentallyused in the proofs of this paper without explicitly mentioning them anymore.

4. Causal semantics of algebraic (M, I)-nets

In this section we explain the filled arc from process terms to runs in Figure 5 and establish resultsforming the basis for the coincidence of runs from process nets and runs from process terms as it isillustrated in Figure 5. First we define explicit causal semantics of algebraic (M, I)-nets by associatingso-structures to process terms.

Definition 4.1. (So-structures of process terms)We define inductively labelled so-structures Sα = (V,≺α, @α, lα) of (or associated to) a process term α:Sm = (∅, ∅, ∅, ∅) for m ∈ M , St = ({v}, ∅, ∅, l) with l(v) = t for t ∈ T , and Ss1⊕ s2 = (V1 ∪ V2, ∅,@1

∪ @2 ∪(V1×V2)∪(V2×V1), l1∪ l2) for synchronous step terms s1, s2 ∈ Step(A,inf ) with associated so-structures S1 = (V1, ∅, @1, l1) and S2 = (V2, ∅, @2, l2), where the sets of nodes V1 and V2 are assumedto be disjoint (what can be achieved by appropriate renaming of nodes).

Finally, given process terms α1 and α2 with associated so-structures S1 = (V1,≺1, @1, l1) andS2 = (V2,≺2, @2, l2), we define

• Sα1 ‖α2= (V1 ∪ V2,≺1 ∪ ≺2,@1 ∪ @2, l1 ∪ l2),

• Sα1;α2 = (V1 ∪ V2,≺1 ∪ ≺2 ∪(V1 × V2), @1 ∪ @2 ∪(V1 × V2), l1 ∪ l2),

where the sets of nodes V1 and V2 are again assumed to be disjoint. ©Observe that Sα = (V,≺α, @α, lα) as constructed in Definition 4.1 is indeed an so-structure. Since

all labelled so-structures associated to a given process term α are isomorphic (and arbitrary labelled so-structures isomorphic to Sα are also associated to α) we mostly distinguish labelled so-structures onlyup to isomorphism. It is easy to verify (by an inductive proof) that a labelled so-structure Sα of a processterm α is synchronous closed.

In the context of Figure 7 we have exemplarily discussed how to evolve a process term describing aspecial causal behaviour. It was also mentioned that such causal behaviour can be represented by an so-structure. Now conversely every process term defines a causal behaviour that of course can be encodedby a labelled so-structure. In the example of Figure 7 we disregarded the markings of the process termbecause we are only interested in the causal relationships of events (states are not explicitly regarded).Therefore we have to handle the three different parts of the process term sketched in the left graphic ofFigure 7: e⊕ f , g⊕h and the ;-connection of the first synchronous step term to the second one. Asdepicted in the two right graphics of Figure 7 we introduce an event for every occurrence of a transition

Page 21: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 21

in the process term, i.e. we draw nodes labelled by e, f , g and h. To express the synchronous stepse⊕ f and g⊕h symmetric dashed ”not later than” arcs are inserted between the respective events e andf as well as g and h. As explained in the Introduction this exactly expresses a synchronous occurrenceof the transitions given by the labels. At last the sequential ;-ordering of the two synchronous steps isexpressed by a solid ”earlier than” arc from the step consisting of e and f to that of g and h. Note thatin the right illustration only one such arc (from f to h) is explicitly drawn because all the other ”earlierthan” relations can be deduced by (C4) of Definition 2.1. The described procedure followed Definition4.1. We started ignoring the markings and introducing events for transitions according to the definitionsof Sm and St in Definition 4.1. Then we inserted @-relations according to the definition of Ss1⊕ s2 andfinally proceeded with ≺-relations as defined for Sα1;α2 in Definition 4.1.

In Figure 4 more examples of so-structures associated to process terms are shown. With the firststructure (from left to right) we just demonstrated the underlying principle in detail. Note that therecannot exist a process term to which the run from Figure 1 (part (c)) is associated because this so-structure is not synchronous closed. That is why we considered its linearizations (which are alwayssynchronous closed) in Figure 4. The fact that in this example it is actually possible to find such processterms for all of these linearizations leads to the next essential idea of Definition 4.2.

We want to deduce so-structure based semantics of algebraic (M, I)-nets from their process termsemantics. Easy examples show that single so-structures associated to process terms in general cannotdescribe each run of a Petri net (e.g. as explained the run from Figure 1, part (c), is not associatedto a process term; other examples which are also valid for the partial order case include so called N-forms [11]). Consequently the set of so-structures of process terms is not expressive enough in orderto directly describe the complete causal semantics of algebraic (M, I)-nets. But we can derive thecomplete causal behaviour from the set of so-structures of process terms in a similar way as in [11]for the partial order based semantics case. This complete causal behaviour will be represented by theset of so called enabled labelled so-structures. For their definition we denote process terms α of theform α = (s1 ‖m1); . . . ; (sn ‖mn) (s1, . . . , sn ∈ Step(A,inf ), m1, . . . , mn ∈ M ) as synchronous stepsequence terms. The set of all synchronous step sequence terms with initial marking m is denoted byStepseq(A,inf ,m). It is easy to observe that so-structures associated to synchronous step sequence termsare total linear.

Definition 4.2. (Enabled labelled so-structure)A labelled so-structure S is enabled to occur in a marking m w.r.t. an algebraic (M, I)-net (A, inf ),if every S ′ ∈ stratsos(S) is associated to some β ∈ Stepseq(A,inf ,m) (Definition 4.1). Denote byEnabled(A, inf , m) the set of labelled so-structures enabled to occur in m w.r.t. (A, inf ). ©

In this definition enabled labelled so-structures are introduced using linearizations. Figure 4 givesan example how to check if an so-structure is enabled. It shows that the run from Figure 1 (part (c)) isenabled w.r.t. the marked net in the same figure. We will show in Theorem 4.1, that so-structures ofprocess terms are enabled in the initial marking of the process term. Obviously, every extension of anso-structure enabled in m is also enabled in m, because extensions have less linearizations.

A labelled so-structure S enabled in m is said to be minimal, if there exists no labelled so-structureS ′ 6= S enabled in m, where S is an extension of S ′. We denote by MinEnabled(A, inf ,m) the set ofall such minimal enabled labelled so-structures. For example, one can check (intuitively and technically)that the run from Figure 1 (part (c)) is in MinEnabled(A, inf ,m).

Page 22: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

22 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

In the next definition process terms are identified through an equivalence relation. The basic ideais to identify two enabled so-structures if one is an extension of the other. Carrying over this principleto process terms we will show in Theorem 4.2 that two process terms are equivalent if their associatedso-structures can be identified in the above sense. In this context the process terms in Figure 4 shouldall be equivalent. For algebraic (M, I)-nets representing concrete Petri nets equivalent process termswill represent the same commutative process of the Petri net (for details and examples to commutativeprocesses see [11] and [2]) in the sense that process terms are shown to be equivalent if and only if theirassociated so-structures are extensions of the same unique commutative run7. In the example all processterms in Figure 4 represent the (commutative) process in Figure 1, part (b). Note that for elementary nets(with inhibitor arcs) we do not have to distinguish between collective and individual token semantics(see [11]) and thus commutative processes and classical processes coincide.

The Theorems 4.1 and 4.2 (stated in the following of this section) on the general algebraic levelare central for establishing the results illustrated in Figure 5 for concrete net classes. According to thisgraphic, the relation between classical process semantics and uniform algebraic process term semanticsis given indirectly via associated so-structures. While the connection between processes and their asso-ciated so-structures is well known for concrete net classes, we here establish detailed results about theconnection between process terms and their associated so-structures on the general level. These resultsform the basis for deriving the correspondence of causal semantics derived from processes and fromprocess terms for concrete net classes.

Definition 4.3. (The congruence ∼)The relation ∼ on the set of all process terms of an algebraic (M, I)-net is the least congruence of thepartial algebra of all process terms with the partial operations ⊕, ‖ and ;8, which includes the relationgiven by the following axioms for process terms α, β, α1, α2, α3, α4 and markings m,n:(1) α ‖β ∼ β ‖α(2) (α ‖β) ‖ γ ∼ α ‖(β ‖ γ)(3) (α; β); γ ∼ α; (β; γ)(4) α = ((α1 ‖α2); (α3 ‖α4)) ∼ β = ((α1; α3) ‖(α2;α4))(5) α⊕β ∼ β⊕α(6) (α⊕β)⊕ γ ∼ α⊕(β⊕ γ)(7) (α⊕β) ∼ (α ‖ pre(β)); (post(α) ‖β)(8) (α; post(α)) ∼ α ∼ (pre(α);α)(9) id(m+n) ∼ idm ‖ idn

(10) pre(α) + m = pre(α) + n, post(α) + m = post(α) + n =⇒ (α ‖ idm) ∼ (α ‖ idn)(11) (α ‖ id0) ∼ αif the terms on both sides of ∼ are defined process terms. ©

After some explanations to this last central definition of the section the technical part of the paperwill follow. The results of this technical part will complete the development of the semantics of algebraic(M, I)-nets.

As discussed before the first two process terms in Figure 4 represent the same process and shouldconsequently be equivalent (this will be proven in Theorem 4.2). Exemplarily this is shown with the7A commutative run is an equivalence class of so-structures associated to a commutative process. An extension is an so-structurethat extends one so-structure of the equivalence class.8According to [4] this least congruence exists uniquely.

Page 23: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 23

following transformation:

((e⊕ f) ‖{p5}); ((g⊕h) ‖{p3}) (7)∼(((f ‖{p1}); (e ‖{p4})) ‖{p5}); ((g⊕h) ‖{p3}) (8)∼(((f ‖{p1}); (e ‖{p4})) ‖({p5}; {p5})); ((g⊕h)‖{p3}) (4)∼((f ‖{p1} ‖{p5}); (e ‖{p4} ‖{p5})); ((g⊕h) ‖{p3}) (9)∼((f ‖{p1, p5}); (e ‖{p4, p5})); ((g⊕h) ‖{p3})(note that all occurring process terms are defined w.r.t. the rules from section 3).

Given two ∼-equivalent process terms α and β, there holds pre(α) = pre(β) and post(α) =post(β). The so-structures associated to process terms are changed only through the axioms (4) and(7).

Regarding (4) we get that Sα is an extension of Sβ with additional ≺-ordering between events ofα1 and α4 as well as between events of α2 and α3. Figure 8, left box, shows an example of (4) for thespecial case of two concurrent events g and e. A concrete example for such a situation are the concurrenttransitions g and e in the running example (Figure 1). Of course such concurrent transitions can occur se-quentially in any order and thus in particular in the order g → e. Consequently the process term g ‖ e rep-resenting the concurrent occurrence of g and h as well as the process term (g ‖ pre(e)); (e ‖ post(g)) rep-resenting the sequential occurrence in the order g → e are defined. The latter process term together withthe respective so-structure is depicted in the right part of the box. Adding some irrelevant markings usingaxiom (8) the concurrent composition g ‖ e can also be represented by the term (g; post(g)) ‖(pre(e); e).This term together with the associated so-structure representing the concurrency of g and e is illustratedin the left part of the box. Now axiom (4) states that, if both terms are defined, they are equivalent. Thisis in accord with our previous considerations because the second so-structure is an extension of the firstone. That means in particular that the first so-structure is extended by both so-structures (illustrated withthe ⊇-symbol in the broad arc pointing at a copy of the first so-structure in the line below). Moreoverthis so-structure is obviously enabled. This justifies the equivalence of the two terms. A run representedby the respective equivalence class of process terms is in this example given by the so-structure belowthe broad arc representing the concurrent occurrence of g and e. Note that in order to formally representa run of the net from Figure 1, part (a), the initial markings of the process terms have to coincide withthe initial marking of the net. Thus by adding concurrently the marking {p2} to both terms, they trulyrepresent the concurrent occurrence of g and e in this net.

Regarding (7) none of the so-structures associated to the two equivalent terms is an extension of theother one. The right box in Figure 8 shows the respective terms e⊕ f and (f ‖ pre(e)); (post(f) ‖ e)as well as the associated so-structures. The first term represents the synchronous occurrence of e and fwhile the second one represents the occurrence sequence f → e. Considering the net from Figure 1,part (a), both terms are defined. An enabled so-structure extended by both so-structures associated to theprocess terms is given in the line below the broad arc. It describes the relationship f ”not later than”e. The existence of such enabled so-structure again justifies the equivalence of the two terms. In thisexample this enabled so-structure is the run represented by the respective equivalence class of processterms. In order to show the general principle we have, as in the example for (4), neglected to concurrentlycompose the residual marking {p5} to the two terms.

Further observations concerning the relationship between the above axioms, the properties (Con1)-(Con6) and (Det), and the information associated to process terms are summarized in the following: In

Page 24: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

24 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

f e

f e

f e

e⊕f (f||pre(e));(e||post(f))∼∼∼∼g e

g e

g e

(g;post(g))||(pre(e);e) (g||pre(e));(e||post(g))∼∼∼∼ (7)(4)

⊆⊆ ⊆⊆⊆⊆ ⊆⊆

Figure 8. Illustration of the key axioms (4) and (7) from Definition 4.3.

the axioms (1), (2), (3), (5), (6), (8) one side of ∼ is a defined process term if and only if also the otherside is. In the axioms (4) and (9) the left side is defined if the right side is defined (but not vice versa). In(11) the right side is defined if the left side is defined (and with (Con2) we have the reverse implication,too). In (7) and (10) we can derive no similar relation. In the axioms (1), (2), (3), (5) and (6) both sideshave the same associated information. In (4) we have Inf (α) ⊆/∼= Inf (β). For (7) and (10) we get nosimilar result. In some axioms the information of both sides is equal if adequate conditions are satisfied:In (8) we need to require (Con3) and (Con1), in (9) solely (Con1) and (Con2) in (11).

In the examples of Figure 8, we discussed the specially interesting equivalence transformations (4)and (7). The explained principles can in particular be used for sequentialization and synchronizationof concurrently composed process terms. More precisely, concurrent events can occur synchronouslyand sequentially in any order. At the process term level this means that concurrently composed processterms can equivalently be transformed into a synchronous (only in the case of synchronous step terms)and a sequential composition of the terms. These two important transformations need a more detailedtechnical consideration. In order to sequentialize concurrently composed process terms we use axiom(4) with α3 = post(α1) and α2 = pre(α4) (similar as in the example of Figure 8). To transform con-currently composed step terms into synchronously composed step terms we additionally need axiom (7)(considering the example of Figure 8, one can first use axiom (4) and then (7) to derive a synchronouscomposition from a concurrent composition, if all terms are defined). For these two kinds of transforma-tions one has to regard also axiom (8) and adequate consistency conditions. We are especially interestedin the following two special cases:

• With (Con3) and (Con1) we deduce (α ‖β) ∼ (α ‖ pre(β)); (β ‖ post(α)) andInf ((α ‖ pre(β)); (β ‖ post(α))) ⊆/∼= Inf (α ‖β).

• If additionally (Con6) is fulfilled we get α ‖β ∼ α⊕β and Inf (α⊕β) ⊆/∼= Inf (α ‖β)).

These results will be used in equivalence transformations in the proofs of the main results mostlywithout mentioning them explicitly. If the associated information and so-structures stay the same weoften even do not distinguish between equivalent terms anymore. In particular, we write that a processterm has without loss of generality a special form if the process term can be equivalently transformedinto that special form by such easy equivalence transformations.

Page 25: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 25

In order to simplify the identification of transitions of a process term and nodes (events) of an asso-ciated so-structure it would be helpful to assume that the labelling function of an so-structure Sα of α isthe id-function. In such a case a transition would occur only once in a process term and consequently abasic step term would also occur only once in a process term. Moreover, the basic step terms of processterms could be identified with the synchronous classes of the synchronous closed so-structure Sα since{|s| | s ∈ Bα} = V |Sα (see section 2 for the definition of V |Sα). The synchronous class correspondingto s ∈ Bα is denoted by ks ∈ V |Sα . To achieve this simplification for a given process term, we willidentify copies of transitions of the process term with events of the associated so-structure, i.e. we definea copy net, where the set of transitions (the copies of the original transitions) equals the set of events ofthe so-structure. A copy-net may be understood as an unfolding of an algebraic net.

Definition 4.4. ((V, l)-copy net)Let (A, inf ) be an algebraic (M, I)-net with A = (M,T, pre, post), V be a set and l : V → T bea surjective labelling function. Denote by (A(V,l), inf (V,l)) the algebraic (M, I)-net given by A(V,l) =(M,V, pre(V,l), post(V,l)) and inf (V,l) : M ∪ V → I , where pre(V,l)(v) = pre(l(v)), post(V,l)(v) =post(l(v)), inf (V,l)|M = inf |M and inf (V,l)(v) = inf (l(v)) for every v ∈ V . (A(V,l), inf (V,l)) is called(V, l)-copy net of (A, inf ). ©

The following definition is only a technicality used in the proof of Theorem 4.1 and the precursoryLemma 4.1 and Corollary 4.1. It defines the substitution of basic step terms in a given process term α.For an arbitrary set X , a set C ⊆ Bα and a mapping su : C → X we define inductively the substitutedterm αsu of α w.r.t. su: If α = m ∈ M , then αsu = m. If α ∈ Step(A,inf ), then αsu = α if α 6∈ Cand αsu = su(α) if α ∈ C. Finally, for process terms α, β, γ: If α = β; γ, then αsu = βsu; γsu and ifα = β ‖ γ, then αsu = βsu ‖ γsu. In the following we will be interested in the case that basic step termsare substituted by their postsets.

In the next lemma this technique is applied to a process term α with associated so-structure Sα =(V,≺, @, id) (i.e. the labelling function of the so-structure is id). That means the statement of the nextlemma is formulated for process terms in which every transition occurs only once and consequently everybasic step term occurs only once. Therefore the lemma is strongly connected to the technique of copynets. It states that in such process terms minimal basic step terms can be detached to a concurrent step ofthese basic step terms using an equivalence transformation. Figure 9 depicts an example of this proce-dure: On the left side the process term α = (((t1⊕ t2) ‖m1); (t3 ‖m2)) ‖((t4 ‖m3); ((t5⊕ t6) ‖m4)) isgiven. This process term represents the typical situation for an application of the lemma. Two sequencesof synchronous step terms are concurrently composed. The respective so-structure and the associatedpartial order is depicted in the box below α. With the partial order we can identify the minimal basicstep terms {t1⊕ t2, t4} of α by searching for minimal nodes (synchronous classes) in the partial order.Now choosing C = {t1⊕ t2, t4} as the whole set of minimal basic step terms, we intend to detach thesebasic step terms concurrently at the beginning of the process term. That means the process term is equiv-alently transformed to the term αC = ((‖s∈C s) ‖mC);αsu = ((t1⊕ t2 ‖ t4) ‖mC);αsu on the rightside of Figure 9. The first part of αC is the concurrent composition of the synchronous step terms in Ctogether with some concurrently composed marking. A second residual part determined by the principleof substitution is sequentially composed after this first part. The effect on the associated so-structureand partial order is depicted in the box below αC in Figure 9. The minimal events respectively basicstep terms of C now have an ”earlier than” ordering to all events respectively basic step terms not in C.That means sequential ”earlier than” orderings separating C from the other synchronous step terms are

Page 26: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

26 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

added while the concurrency between the synchronous step terms in C is preserved. Since the resultingprocess term αC has a stronger ordering than the original term α, it can be shown that αC has attachedless information than α in the sense defined by ⊆/∼= . In Corollary 4.1 it is shown that analogouslyto the next lemma the minimal basic step terms C can be detached to a synchronous step instead of aconcurrent step.

(((t1⊕t2)||m1);(t3||m2))||((t4||m3);((t5⊕t6)||m4))=α ∼∼∼∼Lemma 4.1αC=(((t1⊕t2)||t4)||mC);αsu=

(((t1⊕t2)||t4)||mC);(((post(t1⊕t2)||m1);(t3||m2))||((post(t4)||m3);((t5⊕t6)||m4)))=

t1 t2

t3

t4

t5 t6

t1t2

t3

t4

t5 t6

SαC

t1⊕t2

t3

t4

t5⊕t6

poSα

poSαC

C t1⊕t2

t3

t4

t5⊕t6

(((t1⊕t2)||t4)||mC);((m1‘;(t3||m2))||(m2‘;((t5⊕t6)||m4)))

Figure 9. Illustration of (the simplest typical case of) Lemma 4.1 with C = {t1⊕ t2, t4}.

Lemma 4.1. Let α be a process term of an algebraic (M, I)-net (A, inf ) which fulfills (Con1)-(Con3),such that α has no sub-term of the form m; α′ with m ∈ M . Let further Sα = (V,≺, @, id) be a labelledso-structure of α with associated partial order poSα = (X|Sα , <Sα) and C ⊆ Bα be a set of minimalbasic step terms of α (i.e. ks is minimal w.r.t. <Sα for every s ∈ C)9. Finally let su : C → M be givenby su(β) = post(β) for β ∈ C.

Then there exists a marking mC , such that αC = ((‖s∈C s) ‖mC);αsu is a defined process term of(A, inf )10 satisfying:

(I) αC ∼ α.9Corresponding synchronous classes ks of basic step terms s are defined because the labelling function of Sα is id.10Note: αsu is the substituted term of α w.r.t. su.

Page 27: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 27

(II) Inf (αC) ⊆/∼= Inf (α).

Proof:[Sketch of the proof] Straightforward following the inductive definition of process terms (see the Ap-pendix for a detailed proof). ut

Applying the explained principles for synchronization of concurrency in process terms, αC fromLemma 4.1 can equivalently be transformed to αSy in Corollary 4.1 (note: mSy = mC). Consequentlythe following corollary holds:

Corollary 4.1. Assume the same preconditions as in Lemma 4.1 and additionally that (A, inf ) fulfills(Con6).

Then there exists a marking mSy, such that αSy = ((⊕s∈C s) ‖mSy);αsu is a defined process termsatisfying:

(I) αSy ∼ α.

(II) Inf (αSy) ⊆/∼= Inf (α).

Now we are prepared to prove the first important theorem which shows that so-structures of processterms are enabled in the initial marking of the process term.

Theorem 4.1. Let α be a process term of an algebraic (M, I)-net (A, inf ) which fulfills (Con1)-(Con3)and (Con6). Then Sα ∈ Enabled(A, inf ,m) with m = pre(α). In particular, every S ′ ∈ stratsos(Sα)is associated to some β ∈ Stepseq(A,inf ,m) satisfying α ∼ β.

Proof:[Sketch of the proof] It is enough to construct a process term β ∈ Stepseq(A,inf ,m) which has associateda given S ′ ∈ stratsos(Sα) and satisfies α ∼ β. Such β can be constructed by an iterative application ofCorollary 4.1. See the Appendix for a detailed proof. ut

An enabled so-structure S is uniquely determined by the set of process terms whose associated so-structures extend S. As we have already seen in the running example the run (an enabled so-structure)from Figure 1 (part (c)) can be reconstructed from the linearizations from Figure 4 which are all associ-ated to certain process terms.

Definition 4.5. Let S = (V,≺, @, l) ∈ Enabled(A, inf ,m). Then the set ΥcanS of all process terms α

of (A(V,l), inf (V,l)) with pre(α) = m whose associated so-structures extend (V,≺, @, id) is called thecanonical set of S . ©

Remark 4.1. Let S = (V,≺, @, l) ∈ Enabled(A, inf ,m) and Sα = (V,≺α, @α, id) for α ∈ ΥcanS .

Then S = (V,⋂

α∈ΥcanS

≺α,⋂

α∈ΥcanS

@α, l) by Proposition 2.1.According to Definition 4.5 the set Υcan

S is maximal with the above property in the sense that forany set Υ of process terms of (A(V,l), inf (V,l)) with initial marking m which also fulfills S = (V,

⋂α∈Υ

≺α,⋂

α∈Υ @α, l) there holds Υ ⊆ ΥcanS .

Page 28: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

28 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

The following lemma states that process terms with the same initial marking, whose associated so-structures are total linear and are all extensions of one enabled so-structure, are ∼-equivalent. In thesubsequent theorem we can generalize this result omitting the presumption of total linear so-structures.

Lemma 4.2. Let (A, inf ) be an algebraic (M, I)-net fulfilling (Det) and (Con1)-(Con5). Let S ′ and S ′′be total linear labelled so-structures of process terms α and β with initial marking m. If S ′ and S ′′ areextensions of S ∈ Enabled(A, inf ,m), then there holds α ∼ β.

Proof:[Sketch of the Proof] We show that both α and β can be equivalently transformed to one synchronousstep sequence terms (which only depends on S). Namely, it is shown that the minimal events of S can beequivalently permuted to the first position of a synchronous step sequence term and that this procedurecan be iterated for the following events of S. See the Appendix for a detailed proof. ut

Theorem 4.2. Let (A, inf ) be an algebraic (M, I)-net with the same preconditions as in Lemma 4.2.Let S ′ and S ′′ be labelled so-structures of process terms α and β with initial marking m. If S ′ and S ′′are extensions of S ∈ Enabled(A, inf , m), then there holds α ∼ β.

Proof:There exist total linear so-structures S ′E respectively S ′′E which are extensions of S ′ respectively S ′′.According to Theorem 4.1 there exist synchronous step sequence terms α′ resp. β′ with associated so-structures S ′E resp. S ′′E with α′ ∼ α and β′ ∼ β. Clearly, S ′E and S ′′E are also extensions of S . Thus,according to Lemma 4.2, we get α′ ∼ β′. Consequently we have α ∼ β. ut

With this theorem we can identify minimal enabled so-structures through their canonical sets (useRemark 4.1).

Corollary 4.2. Let (A, inf ) be an algebraic (M, I)-net with the same preconditions as in Theorem 4.2and let S ∈ Enabled(A, inf ,m). Then Υcan

S ⊆ [α]∼ for some process term α of (A(V,l), inf (V,l)). IfΥcanS = [α]∼, then S ∈ MinEnabled(A, inf ,m).

Proof:The first statement follows directly from Theorem 4.2, so we only prove the additional statement. Foran so-structure S ′ enabled in m such that S is an extension of S ′ we deduce Υcan

S ⊆ ΥcanS′ by definition.

From ΥcanS = [α]∼ it follows that Υcan

S′ = [α]∼ = ΥcanS . Consequently S = S ′ by Remark 4.1. ut

Now we have collected all results that we need on the general level of algebraic (M, I)-nets. Forconcrete net classes we use these results to show the relations in Figure 5. An especially interestingissue in this context is the construction principle of runs within the algebraic approach. Concluding thesection this principle can be informally sketched in our running example as follows: Translate the givenPetri net - here the one from Figure 1 (part (a)) - into an algebraic (M, I)-net. The only problem in thisstep is defining an appropriate I, i.e. I should encode the non-sequential occurrence rule as sketchedin the previous section. Next deduce process terms: in the example we have deduced the four processterms in Figure 4. As in Figure 4 we associate so-structures to process terms. On the algebraic levelwe now have to identify equivalence classes according to Definition 4.3 leading to ”algebraic” runs (the

Page 29: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 29

four equivalent process terms in Figure 4 represent the run from Figure 1, part (c)). On the causal levelwe have to intersect adequate so-structures of process terms in order to generate Enabled(A, inf ,m).Intersecting the so-structures in Figure 4 results in the run from Figure 1 (part (c)).

Before discussing in detail the concrete example of elementary nets with inhibitor arcs in section 6we introduce the general framework for the instantiation of net classes as general algebraic nets in thenext section.

5. The corresponding algebraic (M, I)-net

In this section we present a truly general approach to construct algebraic process term semantics andsubsequently causal semantics of Petri nets with restricted occurrence rule. This approach is based onthe notion of algebraic (M, I)-nets corresponding to concrete Petri nets.

Despite the differences between different classes of Petri nets, there are some common featuresshared by almost all net classes, such as the notions of marking (state), transition, and occurrence rule(see [6]). Thus, in the next definition we suppose a Petri net be given by a set of markings, a set oftransitions and an occurrence rule determining whether a synchronous step (a multi-set) of transitions isenabled to occur in a given marking and if yes determining the follower marking. Note that for the netclasses we will consider their concurrent behaviour can be obtained from the sequential and synchronousbehaviour as follows: A multi-set of synchronous steps S ∈ NNT

is enabled to occur concurrently in amarking m if and only if S can occur synchronously and sequentially in any order in the marking m. Theoccurrence rule of a Petri net with a set of transitions T and a set of markings M can always be describedby a transition system. Accordingly, we suppose that a Petri net is given in the form of a transition system(M,E,NT ) with nodes m ∈ M , labelled arcs e ∈ E ⊆ M × NT × M and labels s ∈ NT , where sis interpreted as a synchronous step of transitions. The notation m

s−→ m′ for (m, s, m′) ∈ E meansthat s can occur in m with follower marking m′. The notation m0

s1...sn−→ mn means that there existm1, . . . , mn−1 ∈ M , such that m0

s1−→ m1, . . . , mn−1sn−→ mn.

Definition 5.1. (Corresponding net)Let N = (M,E,NT ) be a Petri net in the form of a transition system. An algebraic (M, I)-net((M,T, pre : T → M,post : T → M), inf ) = (A, inf ) is called a corresponding net to N if theoccurrence rule for synchronous steps is preserved: if for every pair of markings m, m′ ∈ M and ev-ery synchronous step s ∈ NT there holds m

s−→ m′ if and only if there exists s ∈ Step(A,inf ) with|s| = s and a marking m ∈ M such that α = s ‖ m is a defined process term fulfilling pre(α) = m andpost(α) = m′. ©

From the definitions we conclude: (m s1...sn−→ m′) ⇐⇒ (there exists α : m → m′ ∈ Stepseq(A,inf ,m)

of the form α = s1 ‖ m1; . . . ; sn ‖ mn), where mi ∈ M and si ∈ Step(A,inf ) with |si| = si for everyi ∈ {1, . . . , n}. Such α is called corresponding to m

s1...sn−→ m′. Moreover, an so-structure associated toα is called associated to m

s1...sn−→ m′. Altogether this describes the consistency of the algebraic approachto operational step semantics.

The construction of a corresponding algebraic (M, I)-nets provides a general framework to derivecausal semantics for a wide range of concrete net classes (compare the filled arcs in Figure 5). This isillustrated in section 6 for the example of elementary nets with inhibitor arcs equipped with the a-priori

Page 30: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

30 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

semantics (the respective ideas were already developed in the previous sections) using the followinggeneral scenario:

(1) Give the classical definition of a Petri net class including their synchronous step occurrence rule.

(2) Given a net N of the considered class, construct a corresponding algebraic (M, I)-net (A, inf )through defining M, I, pre, post, inf . Then deduce the partial algebra of information sets X , therespective greatest closed congruence ∼= as well as a partial algebra of information isomorphic toX/∼=.

(3) Show that (A, inf ) satisfies the stated properties of the mapping inf (thus ensuring the validity ofthe theorems of section 4).

(4) Now one can derive algebraic semantics of (A, inf ) through process terms and thus causal seman-tics of N through MinEnabled(A, inf ,m).

From the considerations of this section we can conclude that the causal semantics of N derived withthis scheme are consistent with the operational semantics of N , because obviously (using theorem 4.1): Sis associated to m

s1...sn−→ m′ ⇐⇒ S ∈ stratsos(S ′) for some S ′ ∈ MinEnabled(A, inf , m). Moreoverso-structures which are not enabled never fulfill such a property and thus minimal enabled so-structuresare the so-structures with the least causalities guaranteing consistency to the operational occurrence rule.These characteristics ensure that the derived causal semantics are reasonable. Consequently, if thereexist non-sequential semantics of the considered Petri net class based on processes and occurrence nets,it should always be possible to show that the set of (minimal) runs representing (minimal) processescoincides with MinEnabled(A, inf ,m). Moreover if there are no non-sequential semantics based onprocesses for a given Petri net class, they can be straightforwardly given (following the scenario above)by MinEnabled(A, inf ,m). Taking a closer look on the algebraic semantics, the equivalence rules ofDefinition 4.3 ought to ensure the following correspondence between process terms and classical processnets: An equivalence class of process terms exactly coincides with a commutative process (given a fixedinitial marking).

Altogether, the latter comments describe the respective relations of Figure 5 in more detail so thatthe complete framework sketched in this illustration is now revealed in all respects. All relationshipsthat have to be implemented for concrete net classes and can only be prepared on the abstract levelwere already proven for many different net classes in the special case not distinguishing concurrent andsynchronous behaviour in [11]. An exemplary procedure to show the consistencies of our approachto classical process semantics is presented in the next section for elementary nets with inhibitor arcsequipped with the a-priori semantics (extending the approach of [11] which is not suitable for this netclass).

6. Elementary nets with inhibitor arcs

In this section we will now apply the techniques developed in the previous sections to the concrete netclass of elementary nets with inhibitor arcs equipped with the a-priori semantics. Some of the main ideas,e.g. the definition of a corresponding algebraic (M, I)-net, were already partially discussed on the basisof the running example net in Figure 1 (part (a)). Note that the content of this section is based on the

Page 31: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 31

process semantics introduced by Janicki and Koutny (see section 2). Similar results as in this section havebeen derived in [13]. But in [13] there was only shown a one to one correspondence between the processterm semantics and the process semantics in a complicated lengthy ad-hoc way without regarding causalbehaviour. Here we additionally get the complete consistency of the causal behaviour derived fromprocess terms and the causality of activator processes.

Given an elementary net with inhibitor arcs ENI = (P, T, F, C−) (see section 2) we construct acorresponding algebraic (M, I)-net analogously as in [11] by (see also section 3)

• M = (2P ,∪), I = 2P × 2P × 2P , pre(t) = •t, post(t) = t•, inf (t) = (•t, t•, −t) (t ∈ T ) andinf (m) = (m,m, ∅) (m ∈ M )

distinguishing preset, postset and context information (of transitions) in information triples. Thereforewe can encode the occurrence rule by the following partial operations:

• dom⊕ = {((a, b, c), (d, e, f)) ∈ I × I | (a ∪ b) ∩ (d ∪ e) = a ∩ f = d ∩ c = ∅} with(a, b, c) ⊕(d, e, f) = (a ∪ d, b ∪ e, (c ∪ f) \ (b ∪ e)).

• dom‖ = {((a, b, c), (d, e, f)) ∈ I × I | (a ∪ b) ∩ (d ∪ e) = (a ∪ b) ∩ f = c ∩ (d ∪ e) = ∅} with

(a, b, c) ‖(d, e, f) = (a ∪ d, b ∪ e, c ∪ f).

Finally we have to evolve the information needed for the concurrent composition. For the concurrentoccurrence rule it only has to be distinguished between places used for token flow and context places thatare no flow places. This leads to the following support mapping for the definition of the greatest closedcongruence:

• supp : 2I → 2P × 2P , supp (A) = (s1(A), s2(A) \ s1(A)) where s1(A) =⋃

(a,b,c)∈A(a∪ b) ands2(A) =

⋃(a,b,c)∈A c.

• ∼=⊆ 2I × 2I , A ∼= B ⇐⇒ supp(A) = supp(B).

In [11] it was shown that ∼= actually is the greatest closed congruence onX = (2I , {‖}, dom{‖}, 2I×

2I ,∪):

Lemma 6.1. Denote J = {(x, y) ∈ 2P × 2P | x ∩ y = ∅}. Let ◦ be the binary operation on J definedby (w, c) ◦ (w′, c′) = (w∪w′, (c∪ c′) \ (w∪w′)), dom‖ = {((w, c), (v, f)) ∈ J ×J | w∩ v = c∩ v =

w ∩ f = ∅} and ‖ = ◦|dom‖ . Then it holds:

(a) The mapping supp : (2I , {‖}, dom{‖},∪) → (J, ‖, dom‖, ◦) is a surjective closed homomorphism.

(b) The closed congruence ∼=⊆ 2I × 2I defined by A ∼= B ⇐⇒ supp(A) = supp(B) is the greatestclosed congruence on X = (2I , {‖}, dom{‖},∪).

Proof:[Sketch of the proof] Part (a): Checks of the three parts of the statement: homomorphism, closenessand surjectivity. Part (b): Any congruence ≈ greater than ∼= is shown to be not closed. To show thiswe consider information sets A,A′ ∈ 2I such that A ≈ A′ but A 6∼= A′ and construct an informationset C ∈ 2I fulfilling (A,C) ∈ dom{‖} but (A′, C) /∈ dom{‖} (by distinguishing two cases). See theAppendix for a detailed proof. ut

Page 32: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

32 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

The partial algebra (J, ‖, dom‖, ◦) is isomorphic with the greatest closed congruence on X . There-fore, by the construction of process terms (using concurrent and sequential composition) it is enough tosave just the set of flow places (occurring as pre-set or post-set places of transitions in the process term)and the set of inhibiting places which are no flow places. This information suffices for deciding whetherprocess terms are (concurrently) independent.

Moreover the following theorem from [11] reveals that the chosen implementation is correct:

Theorem 6.1. The algebraic (M, I)-net (A, inf ) = ((2P , T, pre, post), inf ) withM, I, pre, post, infas developed in this section corresponds to ENI (according to Definition 5.1).

Proof:[Sketch of the proof] The two implications of the equivalence from Definition 5.1 are checked using thedefinition of I. That means it is checked that the partial algebra of information I correctly encodes theoccurrence rule for synchronous steps in ENI defined in Definition 2.3. See the Appendix for a detailedproof. ut

In order to apply the general results of section 4 unrestrictedly, we check that the algebraic (M, I)-net implementation of this section fulfills all formulated properties of the mapping inf .

Lemma 6.2. The algebraic (M, I)-net (A, inf ) = ((2P , T, pre, post), inf ) with M, I, pre, post, infas developed in this section fulfills (Con1) - (Con6) and (Det).

Proof:[Sketch of the proof] Straightforward checks. See the Appendix for a detailed proof. ut

To prove the consistency of the algebraic approach with the process based concept we can use animportant result about activator processes. Corollary 2 in [15] (considering the more general case ofp/t-nets with inhibitor arcs) reads in our terminology:

Theorem 6.2. {Sα | α ∈ Stepseq(A,inf ,m)} =⋃

r∈Run(ENI,m) stratsos(r).

As a consequence we directly get that Run(ENI, m) ⊆ Enabled(A, inf ,m). In order to provethe main result Run(ENI, m) = MinEnabled(A, inf ,m), we fundamentally need the followinglemma.

Lemma 6.3. Let S1 = (V,≺1,@1, id) and S2 = (V,≺2, @2, id) be so-structures of ∼-equivalent pro-cess terms α : m → m′ and β : m → m′ of (A, inf ). If S = (V,≺,@, id) ∈ Run(ENI, m) satisfiesS ⊆ S2, then S ⊆ S1.

Proof:[Sketch of the proof] It is enough to consider the cases where α is derived from β through one of theequivalent transformation axioms (1)-(11) (Definition 4.3). Because for axioms preserving associatedso-structures the statement is trivial we will only consider the axioms (4) and (7). We will prove thestatement by contradiction. Namely, assuming that S1 does not extend S contradicts that α is a definedprocess term. This can in each case be computed by reducing the proof to one of the three situationsshown in Figure 6. See the Appendix for a detailed argumentation. ut

Page 33: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 33

As a corollary we get that for each run r ∈ Run(ENI,m) there is α with Υcanr = [α]∼. That means

Run(ENI, m) ⊆ MinEnabled(A, inf ,m) (Corollary 4.2). For the reverse statement observe that forS ∈ Enabled(A, inf ,m) every so-structure S ′ ∈ stratsos(S) is associated to α ∈ Stepseq(A,inf ,m).All these process terms α are ∼-equivalent (Theorem 4.2) and all elements of stratsos(S) are exten-sions of one run r ∈ Run(ENI,m) (Theorem 6.2, Lemma 6.3). Using the representation of S fromProposition 2.1, we get that S itself is an extension of r. This gives altogether

Theorem 6.3. Given ENI and (A, inf ) as defined above, there holds

Run(ENI,m) = MinEnabled(A, inf , m)

.

Furthermore, we deduce that every∼-equivalence class of process terms of the copy net is the canon-ical set of a unique run (Theorem 4.1, Remark 4.1). Consequently there holds the following one-to-onerelationship, which is an enhancement of the main result of [13] (proven in another manner).

Theorem 6.4. Let ENI and (A, inf ) as defined above, and let the mapping ψ : Run(ENI, m) →{[α]∼ | pre(α) = m} be defined by ψ(r) = [α]∼ for some α such that Sα is an extension of r. Then ψis well-defined and bijective.

Finally, this especially implies that every S ∈ Enabled(A, inf ,m) is an extension of exactly oner ∈ Run(ENI, m). This result is strongly connected to the well-known result obtained for elementarynets (without context), which says that each occurrence sequence of an elementary net is a linearizationof exactly one run of the net.

7. Conclusion

In this paper we have presented a very flexible and general unifying approach regarding causal semantics(sketched in Figure 5). While in other approaches of unifying Petri nets (see e.g. [23, 21, 22, 14]) theoccurrence rule is never a parameter. Therefore the definitions in [21] and [14] both capture elementarynets but let open more complicated restrictions of enabling conditions in the occurrence rule, such asinhibitor arcs or capacities.

We demonstrated the applicability of our schematic framework with the example of elementary netswith inhibitor arcs equipped with the a-priori semantics. The following table shows further net classesfor which we developed an algebraic implementation (i.e. process terms) and references to the respectiveworks (column ”algebraic impl.”). The algebraic implementation in particular includes the developmentof an appropriate partial algebra of information and the identification of the greatest closed congruence(the remaining parts of the instantiation of the filled arcs in Figure 5 are straightforward). The instantia-tion of the non-filled arcs in Figure 5 requires the existence of process semantics for the considered netclass: The column ”ad-hoc corr.” references to works, in which a correspondence of the algebraic pro-cess term semantics and existing classical process semantics of the net class is shown in an ad-hoc way.That means a correspondence between equivalence classes of process terms and process nets is provenneglecting causal semantics. The column ”causal corr.” references to works, in which a correspondenceof respective causal semantics is shown. An example for such an approach is section 6 in this paper.Such an approach leads to more general results than the results in the column ”ad-hoc corr.”.

Page 34: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

34 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

net class algebraic ad-hoc causalimpl. corr. corr.

elementary nets [7, 11] [7] [11]

elementary nets with inhibitor arcs (a-posteriori) [8, 11] [8] [11]

elementary nets with read arcs (a-posteriori) [8, 11] [8] [11]

elementary nets with mixed context (a-posteriori) [8, 11] [8] [11]

p/t-nets [8, 11] – [11]

p/t-nets with inhibitor arcs (a-posteriori) [8, 11] – –

p/t-nets with weak capacities [8, 11] – –

p/t-nets with strong capacities [8, 11] – –

elementary nets with inhibitor arcs (a-priori) [13, 12] [13] [12]

elementary nets with read arcs (a-priori) [18] – –

elementary nets with mixed context (a-priori) [18] – –

p/t-nets with inhibitor arcs (a-priori) [18] – –

elementary nets (synchronous semantics) [18] – –

p/t-nets with weak capacities (synchronous semantics) [18] – –

The general algebraic part of the paper showed the extension of the basic approach from [11] toso-structure based semantics. It would be an interesting and promising project of further research toadditionally extend the approach of algebraic Petri nets in order to include new net classes of a differentfundamental structure or with different semantical notions. For an example besides so-structures there isanother generalization of partial orders that allow interval orders as a model of system runs [26]. Thiswould lead to another extension of the algebraic framework distinguishing the start and the end of events.But we also have more proximate and immediate research in this area. On the one hand we still have toexamine some net classes and/or compare the algebraic semantics to process semantics, as for exampleelementary nets with read arcs and p/t-nets with inhibitor arcs each equipped with the a-priori semantics,nets with priorities or nets with reset arcs. On the other hand it would be interesting to derive behaviouralresults beyond the causal semantics on the abstract level. Because of the generality of the approach thiscould result in a very powerful analyzing tool.

References[1] Baldan, P., Corradini, A., Montanari, U.: Contextual Petri Nets, Asymmetric Event Structures, and Pro-

cesses., Inf. Comput., 171(1), 2001, 1–49.

[2] Best, E., Devillers, R.: Sequential and Concurrent Behaviour in Petri Net Theory., Theoretical ComputerScience, 55(1), 1987, 87–136.

[3] Bruni, R., Sassone, V.: Algebraic Models for Contextual Nets., ICALP (U. Montanari, J. D. P. Rolim,E. Welzl, Eds.), 1853, Springer, 2000.

[4] Burmeister, P.: Lecture Notes on Universal Algebra – Many Sorted Partial Algebras., Technical report, TUDarmstadt, 2002.

Page 35: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 35

[5] Busi, N., Pinna, G. M.: Process Semantics for Place/Transition Nets with Inhibitor and Read Arcs., Fundam.Inform., 40(2-3), 1999, 165–197.

[6] Desel, J., Juhas, G.: What Is a Petri Net?., in: H. Ehrig; G. Juhas; J. Padberg; G. Rozenberg [9], 1–25.

[7] Desel, J., Juhas, G., Lorenz, R.: Process Semantics of Petri Nets over Partial Algebra., in: M. Nielsen; D.Simpson [17], 146–165.

[8] Desel, J., Juhas, G., Lorenz, R.: Petri Nets over Partial Algebra., in: H. Ehrig; G. Juhas; J. Padberg; G.Rozenberg [9], 126–172.

[9] H. Ehrig; G. Juhas; J. Padberg; G. Rozenberg, Ed.: Unifying Petri Nets, Advances in Petri Nets, vol. 2128 ofLecture Notes in Computer Science, Springer, 2001.

[10] Janicki, R., Koutny, M.: Semantics of Inhibitor Nets., Inf. Comput., 123(1), 1995, 1–16.

[11] Juhas, G.: Are these Events Independend? It depends!, Habilitation, 2005.

[12] Juhas, G., Lorenz, R., Mauser, S.: Synchronous + Concurrent + Sequential = Earlier than + Not later than.,Proceedings of ACSD 2006, 2006.

[13] Juhas, G., Lorenz, R., Singliar, T.: On Synchronicity and Concurrency in Petri Nets., ICATPN (W. M. P. vander Aalst; E. Best, Ed.), 2679, Springer, 2003.

[14] Kindler, E., Weber, M.: The Dimensions of Petri Nets: The Petri Net Cube., Bulletin of the EATCS, 66, 1998,155–165.

[15] Kleijn, H. C. M., Koutny, M.: Process Semantics of P/T-Nets with Inhibitor Arcs., in: M. Nielsen; D.Simpson [17], 261–281.

[16] Kleijn, H. C. M., Koutny, M.: Process semantics of general inhibitor nets., Inf. Comput., 190(1), 2004, 18–69.

[17] M. Nielsen; D. Simpson, Ed.: Application and Theory of Petri Nets 2000, 21st International Conference,ICATPN 2000, Aarhus, Denmark, June 26-30, 2000, Proceeding, vol. 1825 of Lecture Notes in ComputerScience, Springer, 2000.

[18] Mauser, S.: Sematiken von Petrinetzen - Ein algebraischer Ansatz, der zwischen nebenlufigem und syn-chronem Verhalten unterscheidet, Master Thesis, Katholische Universitat Eichstatt-Ingolstadt, 2006.

[19] Meseguer, J., Montanari, U.: Petri nets are monoids., Information and Computation, 88(2), 1990, 105–155.

[20] Montanari, U., Rossi, F.: Contextual Nets, Acta Inf., 32(6), 1995, 545–596.

[21] Padberg, J.: Abstract Petri Nets: Uniform Approach and Rule-Based Refinement., Ph.D. Thesis, TU Berlin,1996.

[22] Padberg, J.: Classification of Petri Nets Using Adjoint Functors., Bulletin of the EATCS, 66, 1998, 85–91.

[23] Padberg, J., Ehrig, H.: Parameterized Net Classes: A Uniform Approach to Petri Net Classes., in: H. Ehrig;G. Juhas; J. Padberg; G. Rozenberg [9], 173–229.

[24] Sassone, V.: The Algebraic Structure of Petri Nets., in: Current Trends in Theoretical Computer Science,World Scientific, 2004.

[25] Stehr, M.-O., Meseguer, J., Olveczky, P. C.: Rewriting Logic as a Unifying Framework for Petri Nets., in: H.Ehrig; G. Juhas; J. Padberg; G. Rozenberg [9], 250–303.

[26] Vogler, W.: Partial Order Semantics and Read Arcs., MFCS (I. Prıvara, P. Ruzicka, Eds.), 1295, Springer,1997.

Page 36: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

36 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

Appendix: Proofs omitted from the main text and necessary technicalnotions

Proof of Lemma 3.1

(i) : reflexive: a = b ∈ 2I/∼= implies that A ∈ 2I exists with a = [A] = b. With A ⊆ A follows thestatement.

transitive: a ⊆/∼= b ⊆/∼= c =⇒ ∃A,B, B′, C ∈ 2I with a = [A], b = [B] = [B′], c = [C] andA ⊆ B, B′ ⊆ C. Then: c = [C] = [C ∪ B′] = [C] ∪/∼= [B′] = [C] ∪/∼= [B] = [C ∪ B]. WithA ⊆ C ∪B follows the statement.

antisymmetric: a ⊆/∼= b and b ⊆/∼= a =⇒ ∃A,A′, B, B′ ∈ 2I with a = [A] = [A′], b = [B] =[B′] and A ⊆ B,B′ ⊆ A′. Then for arbitrary c there holds:

– a {‖}/∼= c defined ⇐⇒ b {‖}/∼= c defined.

– In the positive case: (a {‖}/∼= c) ⊆/∼= (b {‖}/∼= c) and (b {‖}/∼= c) ⊆/∼= (a {‖}/∼= c).

– (a ∪/∼= c) ⊆/∼= (b ∪/∼= c) and (b ∪/∼= c) ⊆/∼= (a ∪/∼= c).

Because ∼= is a closed congruence, one can observe, that the properties of a closed congruenceare maintained, if all equivalence classes a, b with a ⊆/∼= b and b ⊆/∼= a are identified in oneequivalence class. Since ∼= is the greatest closed congruence, there already holds a = b.

(ii) + (iii) : The preliminaries a ⊆/∼= a′, b ⊆/∼= b′ can be rewritten as follows: ∃A,A′, B, B′ ∈ 2I witha = [A], a′ = [A′], b = [B], b′ = [B′] and A ⊆ A′, B ⊆ B′. We start with the first part of(iii): a ∪/∼= b = [A] ∪/∼= [B] = [A ∪ B] and a′ ∪/∼= b′ = [A′] ∪/∼= [B′] = [A′ ∪ B′]. With(A ∪ B) ⊆ (A′ ∪ B′) follows (a ∪/∼= b) ⊆/∼= (a′ ∪/∼= b′). Now we additionally assume thata′ {‖}/∼= b′ is defined, i.e. A′{‖}B′ is defined. According to the definition of {‖} there results:A{‖}B defined with A{‖}B ⊆ A′{‖}B′. Consequently a {‖}/∼= b is defined and we can calculate:a {‖}/∼= b = [A] {‖}/∼= [B] = [A{‖}B] and a′ {‖}/∼= b′ = [A′] {‖}/∼= [B′] = [A′{‖}B′], conse-quently (a {‖}/∼= b) ⊆/∼= (a′ {‖}/∼= b′). Therefore (ii) and the second statement of (iii) are proven.

(iv) : Let A,B ∈ 2I with a = [A], b = [B]. There holds a ∪/∼= b = [A] ∪/∼= [B] = [A ∪ B], whichleads to the first statement. Let now A, B ∈ 2I , whereas for any information element m ∈ A thereholds: ∃i ∈ I : m ‖ i ∈ B. Defining ∼=′ in such a manner, that for any such sets A, B the relationB ∼=′ (A ∪ B) holds and otherwise ∼=′ coincides with ∼=, then ∼=′ is again a closed congruence(simple observation using the definition of {‖}). Since ∼= is the greatest closed congruence, thisrelation already holds for ∼=, i.e. ∼==∼=′. Consequently there are sets A,B ∈ 2I with a = [A] and(a {‖}/∼= b) = [B], whereupon A and B have the above relation. Therefore the second statementfollows with [B] = [A ∪B].

(v) : The preliminaries imply: ∃A,B, C, C ′ ∈ 2I with a = [A], b = [B], c = [C] = [C ′] andA ⊆ C,B ⊆ C ′. Similar to the latter argumentation we can verify with the properties of the

Page 37: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 37

greatest closed congruence that the relation c = [C ∪ C ′] holds (use c = [C] = [C ′]) which leadsto the statement.

Proof of Lemma 4.1

We prove the statement inductively according to the construction of process terms:If α = m ∈ M , then C ⊆ Bα = ∅, αsu = m and mC = m, i.e. αC = m;m is a defined process

term obviously fulfilling (I) (axiom (8)) and (II).If α ∈ Step(A,inf ) and C = ∅, then αsu = α and mC = pre(α), i.e. αC = pre(α);α is a defined

process term obviously fulfilling (I) (axiom (8)) and (II) (use (Con3)).If α ∈ Step(A,inf ) and C = {α}, then αsu = post(α) and mC = 0, i.e. αC = (α ‖ 0); post(α)

is a defined process term (use (Con2)), obviously fulfilling (I) ((11) and (8)) and (II) (use (Con2) and(Con3)).

Let α = β; γ for process terms β and γ which fulfill the statement. According to Definition 4.1 thereexist disjoint sets Vβ ⊆ V and Vγ ⊆ V with Vβ∪Vγ = V , such that Sβ = (Vβ,≺ ∩(Vβ×Vβ), @ ∩(Vβ×Vβ), id) is a labelled so-structure of β, Sγ = (Vγ ,≺ ∩(Vγ × Vγ), @ ∩(Vγ × Vγ), id) is a labelled so-structure of γ and v ≺ v′ for each v ∈ Vβ , v′ ∈ Vγ . Bβ and Bγ are disjoint sets satisfying Bβ∪Bγ = Bα

and consequently X|Sβ⊆ X|Sα and X|Sγ ⊆ X|Sα are disjoint sets fulfilling X|Sβ

∪ X|Sγ = X|Sα .Moreover, k <Sα k′ for each k ∈ X|Sβ

and k′ ∈ X|Sγ . Because α has no sub-term of the form m; α′ wehave Vβ 6= ∅ and thus Bβ 6= ∅ and X|Sβ

6= ∅. It easily follows C ⊆ Bβ (elements of Bγ are not minimalin α). Obviously the elements of C are also minimal in β. Because also β has clearly no sub-term of theform m;α′ and β fulfills the statement, there exists a marking mC , such that βC = ((‖s∈C s) ‖mC);βsu

is a defined process term fulfilling (I) and (II). Furthermore we have γsu = γ, because Bγ and C aredisjoint. Consequently αC = ((‖s∈C s) ‖mC);αsu = ((‖s∈C s) ‖mC);βsu; γsu = βC ; γ is a definedprocess term (because post(βC) = post(β) = pre(γ)). From βC ∼ β we get (I) and from Inf (βC)⊆/∼= Inf (β) we can conclude (II).

Let α = β ‖ γ for process terms β and γ which fulfill the statement. As in the previous paragraphthere exist disjoint sets Vβ ⊆ V and Vγ ⊆ V with Vβ ∪ Vγ = V , such that Sβ = (Vβ,≺ ∩(Vβ × Vβ), @∩(Vβ × Vβ), id) is a labelled so-structure of β, Sγ = (Vγ ,≺ ∩(Vγ × Vγ), @ ∩(Vγ × Vγ), id) is alabelled so-structure of γ and there holds v 6@ v′ as well as v′ 6@ v for each v ∈ Vβ , v′ ∈ Vγ . AgainBβ and Bγ are disjoint sets satisfying Bβ ∪ Bγ = Bα, X|Sβ

⊆ X|Sα and X|Sγ ⊆ X|Sα are disjointsets fulfilling X|Sβ

∪ X|Sγ = X|Sα and k 6<Sα k′ and k′ 6<Sα k for each k ∈ X|Sβ, k′ ∈ X|Sγ .

Define C1 = C ∩ Bβ and C2 = C ∩ Bγ . Then C1 and C2 are disjoint with C1 ∪ C2 = C. ObviouslyC1 is a subset of minimal basic step terms of β and C2 is a subset of minimal basic step terms ofγ. Because β and γ have no sub-term of the form m; α′, there exist markings m1 and m2, such thatβC1 = ((‖s∈C1

s) ‖m1);βsu and γC2 = ((‖s∈C2s) ‖m2); γsu are defined process terms fulfilling (I)

and (II). From Inf (βC1) ⊆/∼= Inf (β) and Inf (γC2) ⊆/∼= Inf (γ) we derive that βC1 ‖ γC2 is definedwith Inf (βC1 ‖ γC2) ⊆/∼= Inf (β ‖ γ) = Inf (α). For mC = m1 + m2 we get the following relationusing axiom (4) in the first equivalent transformation step and the axioms (1), (2) and (9) in the secondtransformation step: βC1 ‖ γC2 = (((‖s∈C1

s) ‖m1);βsu) ‖ (((‖s∈C2s) ‖m2); γsu) ∼ (((‖s∈C1

s) ‖m1)‖ ((‖s∈C2

s) ‖m2)); (βsu ‖ γsu) ∼ ((‖s∈C s) ‖mC);αsu = αC . Consequently αC is a defined processterm. With (I) for βC1 and γC2 we get (I) for αC . From the used∼-axioms and (II) for βC1 and γC2 thereresults Inf (αC) ⊆/∼= Inf (βC1 ‖ γC2) ⊆/∼= Inf (β ‖ γ) = Inf (α). Consequently (II) is fulfilled.

Page 38: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

38 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

Definition of copy terms

In order to formulate basic relations between process terms of a copy-net (A(V,l), inf (V,l)) and of(A, inf ), we extend the labelling function l from Definition 4.4 to process terms α of (A(V,l), inf (V,l))in the following way for markings m and process terms α1, α2: l(m) = m, l(α1⊕α2) = l(α1)⊕ l(α2),l(α1 ‖α2) = l(α1) ‖ l(α2) and l(α1; α2) = l(α1); l(α2) (if defined, respectively). The extended la-belling function l fulfills the following immediate properties for process terms α, β of (A(V,l), inf (V,l))and α′ of (A, inf ):

• l(α) ∈ P(A, inf ).

• pre(α) = pre(l(α)), post(α) = post(l(α)) and Inf (α) = Inf (l(α)).

• α ∼ β =⇒ l(α) ∼ l(β).

• l : P(A(V,l), inf (V,l)) → P(A, inf ) is surjective.

• S = (V,≺,@, id) associated to α =⇒ S ′ = (V,≺, @, l) associated to l(α).

• S ′ = (V,≺, @, l) associated to α′ =⇒∃α with l(α) = α′ such that S = (V,≺, @, id) is associatedto α.

• S = (V,≺,@, id) and S ′ = (V,≺′, @′, id) associated to α =⇒ S = S ′.

Now we are prepared to define the technically important copy terms: Let S = (V,≺, @, l) be anso-structure of a process term α of (A, inf ). A copy term of α (w.r.t. S) is a process term αS of the(V, l)-copy net (A(V,l), inf (V,l)) with l(αS) = α such that (V,≺, @, id) is associated to αS .

Two copy terms of α w.r.t. S are always ∼-equivalent through commutativity and associativityaxioms. We will not further distinguish such copy terms.

Proof of Theorem 4.1

Denote S = Sα = (V,≺, @, l) and S ′ = (V,≺′, @′, l). We will equivalently transform αS into theprocess term βS′ , i.e. βS′ has associated the so-structure (V,≺′, @′, id), then the process term β = l(βS′)has associated the so-structure S ′ and satisfies α ∼ β. Consequently pre(β) = pre(α) = m and thus Sis enabled in m.

Let poS = (X|S , <S) be the partial order associated to S, let poS′ = (X|S′ , <S′) be the total orderassociated to S ′ (see Lemma 2.2). Let X|S′ = {k′1, . . . , k′m} such that k′i <S′ k′j ⇐⇒ i < j. Thenk′1 is of the form k′1 = k1 ∪ . . . ∪ kn for (pairwise disjoint) k1, . . . , kn ∈ X|S , where k1, . . . , kn are allminimal w.r.t. <S (see Lemma 2.2). Thus, the basic step terms b1, . . . , bn ∈ BαS of αS correspondingto k1, . . . , kn are minimal.

Define C = {b1, b2, . . . , bn} and su = post|C . Without loss of generality we can suppose that αS

has no sub-term of the form m;α′. According to corollary 4.1 there exists a marking mSy such that αSC =((⊕s∈C s) ‖mSy);αSsu = ((⊕v∈k′1 v) ‖mSy);αSsu is a defined process term fulfilling (I) and (II). Thuswe have detached k′1 from αS . Denote V ′ = V \{v | ∃s ∈ C with v ∈ s}, KC = X|S \{k1, . . . , kn} andK ′

C = X|S′ \{k′1}. Directly from the construction of αSsu we get that SC = (V ′,≺ |V ′×V ′ , @ |V ′×V ′ , id)is an so-structure of αSsu and poSC

= (KC , <S |KC×KC) is the associated partial order.

Page 39: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 39

Observe now that S ′C = (V ′,≺′ |V ′×V ′ , @′ |V ′×V ′ , id) is a total linear extension of SC , k′2 ∈ X|S′ isminimal in poS′C = (K ′

C , <S′ |K′C×K′

C). That means we can re-iterate the above procedure for k′2, αSsu,

SC and S ′C instead of k′1, α, S and S ′, and subsequently for all further k′3, . . . , k′m ∈ X|S′ . This results

in the searched process term β′ = ((⊕v∈k′1 v) ‖m1); . . . ; ((⊕v∈k′m v) ‖mk)(= βS′).

Determinism properties of ∼We can conclude the following technical results (Det1) and (Det2) concerning the determinism of

markings.(Det1) If (A, inf ) fulfills (Det), then there holds for s ∈ Step(A,inf ) and m1,m2 ∈ M : (s ‖m1 defined

∧ s ‖m2 defined ∧ pre(s ‖m1) = pre(s ‖m2)) =⇒ (post(s ‖m1) = post(s ‖m2) ∧ (s ‖m1) ∼(s ‖m2)).

(Det2) If (A, inf ) fulfills (Det), (Con1) and (Con3)-(Con5), then there holds for s1, s2 ∈ Step(A,inf )

and m,m1,m2 ∈ M : ((s1⊕ s2) ‖m defined ∧ (s1 ‖m1); (s2 ‖m2) defined ∧ pre((s1⊕ s2) ‖m)= pre((s1 ‖m1); (s2 ‖m2))) =⇒ (post((s1⊕ s2) ‖m) = post((s1 ‖m1); (s2 ‖m2)) ∧ (s1⊕ s2)‖m ∼ (s1 ‖m1); (s2 ‖m2)).

The two statements can be proven as follows:

(Det1): The first implication concerning post directly results from (Det); the equivalence of the twoterms then yields from (10).

(Det2): The preliminaries exactly coincide with the preliminaries in the definition of (Con5). Therefores1 ‖(pre(s2) + m) and s2 ‖(post(s1) + m) are defined and thus also (s1 ‖(pre(s2) + m)); (s2 ‖(post(s1) + m)) is defined. The initial marking of the first term s1 ‖(pre(s2) + m) coincideswith the initial marking of s1 ‖m1. Consequently (Det) implies, that the final markings are equaland from (10) results s1 ‖(pre(s2) + m) ∼ s1 ‖m1. Because the final markings of these twoterms coincide, the initial markings of the next two terms s2 ‖(post(s1) + m) and s2 ‖m2 haveto be equal. With the same arguments there also results the coincidence of the final markingsand the ∼-equivalence. Note that with (Con4) and (Con3) pre(s2) ‖m and post(s1) ‖m are de-fined. The following equivalence transformation finally yields the statement: (s1 ‖(pre(s2) +m)); (s2 ‖(post(s1) + m)) ∼ (s1 ‖ pre(s2) ‖m); (s2 ‖ post(s1) ‖m) ∼ ((s1 ‖ pre(s2)); (s2 ‖post(s1))) ‖m ∼ (s1⊕ s2) ‖m. Thereby firstly (9), then (4) and (8) and lastly (7) was applied.

(Det1) shows that s ‖m1 is equivalent to s ‖m2 if the initial markings of the two process termscoincide. In particular we do not have to require m1 = m2. That means in this situation we do not haveto assume a uniqueness property for concurrently composed markings in order to get equivalent processterms. (Det2) similarly shows that we do not have to make uniqueness assumptions on the concurrentlycomposed markings m1, m2,m when equivalently transforming a synchronous step term s1⊕ s2 intoa sequence of the sub terms s1 and s2. In particular we do not have to require m2 = m + post(s1)or m1 = m + pre(s2). Again we only have to assume that the initial markings of the process termscoincide.

Page 40: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

40 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

Proof of Lemma 4.2

Denote S = (V,≺,@, l), S ′ = (V,≺′, @′, l) and S ′′ = (V,≺′′, @′′, l). We show that both α and βcan be equivalently transformed to equivalent synchronous step sequence terms γα resp. γβ which onlydepend on S. As usual this is done on the copy term level. We start with the process term α. Withoutloss of generality αS′ is of the form αS′ = (s1 ‖m1); . . . ; (sn ‖mn) with si ∈ Step(A(V,l),inf (V,l))

andmi ∈ M for i = 1, . . . , n. Let Vmin ⊆ V be the set of minimal events in S w.r.t. ≺. Without loss ofgenerality each step term si is of the form si = (smin

i ⊕ sresti ), where smin

i , sresti ∈ Step(A(V,l),inf (V,l))

with Vmin ∩ |si| = |smini |. Of course the terms smin

i and sresti are also allowed to be empty. In the

following equivalence transformations smini and srest

i are always considered not to be empty, because inthe case that one term is empty there is always an obvious way to justify the given transformation.

First we equivalently sequentialize each si ‖mi into (smini ‖mmin

i ); (sresti ‖mrest

i ). Obviously forv ∈ smin

i , w ∈ sresti we have v @′ w and w @′ v. Because w is not minimal in S and v is minimal

in S we conclude w 6@ v (use (C4)). Consequently if we remove for each i ∈ {1, . . . , n} and eachv ∈ smin

i , w ∈ sresti the relation w @′ v from S ′ and add in exchange the relation v ≺′ w to S ′ the

result is a total linear so-structure S ′1 = (V,≺′1,@′1, l) which extends S. Since S is enabled, there exists

a synchronous step sequence term α′1 with pre(α′1) = m and associated so-structure S ′1. Its copy term(α′1)

S′1 has without loss of generality the form (α′1)S′1 = (smin

1 ‖mmin1 ); (srest

1 ‖mrest1 ) ; . . . ; (smin

n ‖mmin

n ) ; (srestn ‖mrest

n ) satisfying (α′1)S′1 ∼ αS′ (use (Det2) iteratively).

Next we iteratively equivalently permute synchronous step terms with minimal events (”min”-terms)and synchronous step terms with not minimal events (”rest”-terms), starting from behind. Analogouslyas above we conclude for each v ∈ smin

n , w ∈ srestn−1 that w 6@ v. Consequently if we remove for each

v ∈ sminn , w ∈ srest

n−1 the relation w ≺′1 v from S ′1 and add in exchange the relation v @′1 w to S ′1 the result

is a total linear so-structure S ′2 = (V,≺′2, @′2, l) which extends S. As above there is a synchronous step

sequence term α′2 with associated so-structure S ′2 and the copy term of α′2 w.r.t. S ′2 has without loss ofgenerality the form (smin

1 ‖mmin11 ); (srest

1 ‖mrest11 ) ; . . . ; ((smin

n ⊕ srestn−1) ‖mminrest1

n−1 ); (srestn ‖mrest1

n )being equivalent to (α′1)

S′1 (using (Det1) and (Det2)) and consequently to αS′ . From S ′2 we now removeeach relation w @′

2 v and add in exchange v ≺′2 w for v ∈ sminn , w ∈ srest

n−1 resulting in the total linear so-structure S ′3 = (V,≺′3, @′

3, l) which also extends S. With the same arguments we get an accordant copyterm of the form (smin

1 ‖mmin21 ); (srest

1 ‖mrest21 ); . . . ; (smin

n ‖mmin2n ) ; (srest

n−1 ‖mrest2n−1 ); (srest

n ‖mrest2n )

equivalent to αS′ . Altogether the terms sminn and srest

n−1 have been permuted. With a similar argumentationwe can equivalently transform the sub-term (smin

n−1 ‖mmin2n−1 );(smin

n ‖mmin2

n ) into ((sminn−1⊕ smin

n ) ‖mmin3).Repeating this procedure, ”min”-terms are iteratively permutated with ”rest”-terms from the right to

the left and synchronously composed with other ”min”-terms to one collective ”min”-term. The resultis a synchronous step sequence term of the form (smin

1 ⊕ . . .⊕ sminn ‖mmin′); (srest

1 ‖mrest′1 ) ; . . . ;

(srestn−1 ‖ mrest′

n−1 ) ; (srestn ‖mrest′

n ) = ((⊕v∈Vmin v) ‖mmin′) ; (srest1 ‖mrest′

1 ) ; . . . ; (srestn−1 ‖mrest′

n−1 ) ;(srest

n ‖mrest′n ) equivalent to αS′ and with an associated so-structure S ′′′ extending S. Thus, we have

sorted the minimal events Vmin of S to one synchronous step at the beginning of the term. Consideringthe so-structure S1 = (V \ Vmin,≺ |(V \Vmin)×(V \Vmin), @ |(V \Vmin)×(V \Vmin), l) restricting S to the setof remaining events, we can collect in the same way the minimal events of S1 to one synchronous stepterm at the second position of the synchronous step sequence term11. Now we re-iterate this procedure

11One must observe that the enabled property of S (and not of S1) has to be used.

Page 41: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 41

until Si constructed in this way is empty. Because every Si has minimal events the procedure terminates.Altogether we get a synchronous step sequence term αS′Snat

equivalent to αS′ that is uniquely defined by Sup to concurrently composed markings and commutativity and associativity axioms12. The same can beapplied to the process term β resulting in a copy term βS′′Snat

equivalent to βS′′ . We deduce αS′Snat∼ βS′′Snat

from pre(βS′′) = pre(αS′), αS′Snat∼ αS′ and βS′′Snat

∼ βS′′ (use (Det1)), so there results αS′ ∼ βS′′ andconsequently α ∼ β.

Proof of Lemma 6.1

The operation ◦ is well-defined because for any x, y ∈ J , we have x ◦ y ∈ J by construction.

ad (a): First we show that supp is a homomorphism for the operations {‖} and ∪ on 2I , that is

supp (A{‖}A′) = supp (A)‖supp (A′)supp (A ∪A′) = supp (A) ◦ supp (A′).

We compute supp (A {‖}A′) = supp ({(a ∪ d, b ∪ e, c ∪ f) | (a, b, c) ∈ A, (d, e, f) ∈ A′}) =(⋃

(a,b,c)∈A∪A′(a ∪ b),⋃

(a,b,c)∈A∪A′ c \⋃

(a,b,c)∈A∪A′(a ∪ b)) = (⋃

(a,b,c)∈A(a ∪ b) ∪ ⋃(a,b,c)∈A′(a ∪

b), (⋃

(a,b,c)∈A c∪⋃(a,b,c)∈A′ c)\(

⋃(a,b,c)∈A(a∪b)∪⋃

(a,b,c)∈A′(a∪b))) = supp (A)‖supp (A′) (when-ever both sides are defined). The equation supp (A ∪A′) = supp (A) ◦ supp (A′) follows directly fromthe definitions.

Next we show the closedness of supp , that is

(A,A′) ∈ dom{‖} ⇐⇒ (supp (A), supp (A′)) ∈ dom‖

for any two A,A′ ⊆ I . Denote s1(A) = w, s2(A) \ s1(A) = c, s1(A′) = w′ and s2(A′) \ s1(A′) = c′.Then it holds: (∀(a, b, c) ∈ A, ∀(a′, b′, c′) ∈ A′ : (a ∪ b) ∩ (a′ ∪ b′) = (a ∪ b) ∩ c′ = (a′ ∪ b′) ∩ c =∅) ⇐⇒ (w ∩ w′ = w ∩ c′ = w′ ∩ c = ∅).

Finally, the mapping supp is surjective, because, for any (w, c) ∈ J , we have supp ({(w, ∅, c)}) =(w, c).

ad (b): We will show that any congruence ≈ such that ∼= is a proper subset of ≈ is not closed. Assumethere are A, A′ ∈ 2I such that A ≈ A′ but A 6∼= A′. Then supp(A) 6= supp(A′).

We define a set C ∈ 2I such that (A, C) ∈ dom{‖} but (A′, C) /∈ dom{‖} or vice versa (whichimplies that ≈ is not closed). If supp(A) = (w, c) and supp(A′) = (w′, c′), then w ∩ c = w′ ∩ c′ = ∅(by definition) and c 6= c′ ∨ w 6= w′ (since supp(A) 6= supp(A′)).

Let w 6= w′. Without loss of generality we assume w′ \w 6= ∅. Set C = {(∅, ∅, c)} with c = w′ \w.From c ∩ w = ∅, but c ∩ w′ 6= ∅ we conclude (A,C) ∈ dom{‖}, but (A′, C) /∈ dom{‖}.

Now let w = w′ and c 6= c′. Without loss of generality we assume c′ \ c 6= ∅. Set C = {(a, ∅, ∅)}with a = (c′ \ c). From a ∩ w = a ∩ c = ∅, but a ∩ c′ 6= ∅ we again conclude (A,C) ∈ dom{‖}, but(A′, C) /∈ dom{‖}.

12This can directly be derived from the construction rule.

Page 42: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

42 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

Proof of Theorem 6.1

Let s ∈ Step(A,inf ). First we show (by contradiction) that |s| is a set, i.e. for each t ∈ T wehave if |s|(t) > 0 then |s|(t) = 1. Suppose that there is a t ∈ T which appears more than oncein s. Then (independent from the construction order of s) the construction of s involves a sub-terms′ ∈ Step(A,inf ) of s and s1, s2 ∈ Step(A,inf ) such that s′ = s1⊕ s2 and t is a sub-term of s1 as well asa sub-term of s2. Notice that we suppose nets with transitions having nonempty pre-set or post-set, i.e.pre(t) ∪ post(t) 6= ∅. Denoting inf (s1) = (a, b, c) and inf (s2) = (d, e, f), we can conclude from thedefinition of inf that pre(t) ⊆ a ∩ d and post(t) ⊆ b ∩ e. Therefore from the definition of dom⊕ theprocess term s′ is not defined.

Now we show that for every step s ∈ 2T enabled to occur in ENI with ms−→ m′ (m,m′ ∈ M )

there exists s ∈ Step(A,inf ) with |s| = s. We prove this statement by induction on the number ofelements in the set s. If s = {t} (t ∈ T ), then obviously s = t ∈ Step(A,inf ). Let s = {t1, . . . tk}with k > 1 and ssub = s \ {tk}. Take the term s′ with |s′| = ssub. Then inf (s′) = (a, b, c) =(∪t∈s′pre(t),∪t∈s′post(t), (∪t∈s′

−t) \ b). Now, we can easily show (by contradiction) that s exists:If not, then (inf (s′), inf (tk)) /∈ dom⊕, i.e. (a ∪ b) ∩ (pre(tk) ∪ post(tk)) 6= ∅ or a ∩ −tk 6= ∅ orc ∩ pre(tk) 6= ∅. In each case tk is in synchronous conflict to some t ∈ s′. Thus t ∈ ssub and tk cannotbe in the enabled step s. A contradiction.

A transition t ∈ T enabled to occur in m fulfills (m \ pre(t)) ∩ post(t) = ∅. This implies (m \pre(s)) ∩ post(s) = ∅. Consequently inf (s) = (pre(s), post(s), (∪t∈s

−t) \ post(s)) and inf (m \pre(s)) = (m \ pre(s),m \ pre(s), ∅) fulfill (inf (s), inf (m \ pre(s)) ∈ dom‖ and thus α = s ‖(m \pre(s)) is defined, with pre(α) = m and post(α) = m′ (post(α) = m′ is a simple calculation). Theexistence of such α gives the first part of the equivalence in Definition 5.1.

For the second part let α = s ‖ m : m → m′ (s ∈ Step(A,inf ), m,m, m′ ∈ M ) be a definedprocess term. Since by definition of dom‖ the sets pre(s) and m are disjoint, pre(s) ∪ m = m implies

m = m \ pre(s). We show that the step |s| ∈ 2T is enabled to occur in m. If not, then either thereare transitions t1, t2 ∈ |s| which are in synchronous conflict or there is a transition t ∈ |s|, which is notenabled to occur in m.

Suppose that t1, t2 ∈ |s| are in synchronous conflict. Then (independent from the construction orderof s) the construction of s involves a sub-term s′ ∈ Step(A,inf ) of s and s1, s2 ∈ Step(A,inf ) suchthat s′ = s1⊕ s2 and t1 is a sub-term of s1 and t2 is a sub-term of s2. Denoting inf (s1) = (a, b, c)and inf (s2) = (d, e, f) the synchronous conflict of t1 and t2 yields one of the following non-emptyintersections: (a∪ b)∩ (d∪ e) 6= ∅ or a∩ f 6= ∅ or c∩d 6= ∅. Consequently (inf (s1), inf (s2)) /∈ dom⊕and thus the process term s′ is not defined. A contradiction.

It remains to show that every t ∈ |s| is enabled to occur in m. First we calculate •t = pre(t) ⊆pre(s) ⊆ m. Second by definition of dom‖ we can conclude that t• ∩ m = ∅. Moreover by definitionof dom⊕ we can conclude that t• ∩ •u = ∅ for u ∈ |s| \ {t} (an analogues argumentation as abovethat the construction of s involves a sub-term s′ ∈ Step(A,inf ) of s and s1, s2 ∈ Step(A,inf ) such thats′ = s1⊕ s2 and t is a sub-term of s1 and u is a sub-term of s2). Thus from pre(s) ∪ m = m we have(m \ •t) ∩ t• = ∅. Altogether, every t ∈ |s| is enabled to occur in m.

Consequently we have shown that the step |s| is enabled to occur in m. With m = m \ pre(s) it iseasy to check that its occurrence leads to post(α) = m′.

Page 43: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets 43

Proof of Lemma 6.2

(Con1): x, y ∈ M : (inf (x), inf (y)) ∈ dom‖ =⇒ inf (x) ‖ inf (y) = (x, x, ∅) ‖(y, y, ∅) =

(x ∪ y, x ∪ y, ∅) = inf (x ∪ y) = inf (x + y) (according to the definition of ‖, x and y even have to bedisjoint).

(Con2): Obviously ∅ is the neutral element of M and (∅, ∅, ∅) the neutral element of (I, dom‖, ‖)and it holds inf (∅) = (∅, ∅, ∅).

(Con3): s ∈ Step(A,inf ) : supp({inf (s), inf (pre(s)), inf (post(s))}) = supp({(pre(s), post(s),−s\post(s)), (pre(s), pre(s), ∅), (post(s), post(s), ∅)}) = (pre(s)∪post(s), −s\(pre(s)∪post(s)))= supp({inf (s)}).

(Con4): s1, s2 ∈ Step(A,inf ) with (inf (s1), inf (s2)) ∈ dom⊕ : supp({inf (s1⊕ s2), inf (s1),inf (s2)}) = (pre(s1)∪ pre(s2)∪ post(s1)∪ post(s2), (−s1 ∪ −s2) \ (pre(s1)∪ pre(s2)∪ post(s1)∪post(s2))) = supp({inf (s1⊕ s2)}).

(Con5): s1, s2 ∈ Step(A,inf ),m, m1,m2 ∈ M : (inf (s1), inf (s2)) ∈ dom⊕, (inf (s1) ⊕ inf (s2),m)∈ dom‖, (inf (s1), inf (m1)) ∈ dom‖, (inf (s2), inf (m2)) ∈ dom‖, post(s1)+m1 = pre(s2)+m2 andpre(s1) + pre(s2) + m = pre(s1) + m1 =⇒ pre(s1) ∩ pre(s2) = pre(s1) ∩m = pre(s1) ∩m1 = ∅(directly from the preliminaries w.r.t. dom⊕ and dom‖) =⇒ m1 = pre(s2)+m (directly from pre(s1)+pre(s2) + m = pre(s1) + m1), consequently we get the first statement (inf (pre(s2) + m), inf (s1)) ∈dom‖. Now post(s1) + m1 = pre(s2) + m2 implies pre(s2) + post(s1) + m = pre(s2) + m2. Fromthe preliminaries w.r.t. dom⊕ and dom‖ there onward results pre(s2) ∩ post(s1) = pre(s2) ∩ m =pre(s2) ∩ m2 = ∅ and therefore m2 = post(s1) + m, consequently we get the second statement(inf (post(s1) + m), inf (s2)) ∈ dom‖.

(Con6): s1, s2 ∈ Step(A,inf ) : (inf (s1), inf (s2)) ∈ dom‖ =⇒ (inf (s1), inf (s2)) ∈ dom⊕ (ac-

cording to the definition) and supp({inf (s1) ‖ inf (s2), inf (s1) ⊕ inf (s2)}) = (pre(s1) ∪ pre(s2) ∪post(s1) ∪ post(s2), (−s1 ∪ −s2) \ (pre(s1) ∪ pre(s2) ∪ post(s1) ∪ post(s2))) = supp({inf (s1) ‖inf (s2)}) (it even holds inf (s1) ‖ inf (s2) = inf (s1) ⊕ inf (s2)).

(Det): s ∈ Step(A,inf ), x, y ∈ M : (inf (s), inf (x)) ∈ dom‖, (inf (s), inf (y)) ∈ dom‖ and pre(s)+x = pre(s) + y =⇒ pre(s) ∩ x = pre(s) ∩ y = ∅ (from the preliminaries w.r.t. dom‖) =⇒ x = y

(directly from pre(s) + x = pre(s) + y), therefore especially post(s) + x = post(s) + y.

Proof of Lemma 6.3

It is enough to consider the cases where α is derived from β through one of the equivalent trans-formation axioms (1)-(11) (Definition 4.3). Because for axioms preserving associated so-structures thestatement is trivial we will only consider the axioms (4) and (7). We will prove the statement by contra-diction. Let AON = (B, V,R, Act, l) (with l|V = id) be the process represented by the run S .

First we consider axiom (4). It is enough to consider the case α = (α1;α3) ‖(α2; α4) and β =(α1 ‖α2); (α3 ‖α4) (since in this case S1 ⊆ S2 because in S2 orderings (≺ and @) between events in α1

and α4 as well as α2 and α3 are added compared to S1). Without loss of generality, suppose that in therun an ordering between an event in α1 and an event in α4 exists (≺ or @-ordering). That means thereare events t ∈ α1, and s ∈ α4, and a condition c ∈ B such that one of the following three possibilitiesholds (according to Figure 6): (a) (t, c) ∈ R and (c, s) ∈ R or (b) (t, c) ∈ R and (c, s) ∈ Act or (c)(c, t) ∈ Act and (c, s) ∈ R.

Page 44: Causal Semantics of Algebraic Petri Nets distinguishing … · 2019-01-25 · sebastian.mauser@ku-eichstaett.de Abstract. In this paper, we show how to obtain causal semantics distinguishing

44 G. Juhas, R. Lorenz, S. Mauser / Causal Semantics of Algebraic Petri Nets

Consider case (a): If l(c) = x ∈ P (no complement place), then we have x ∈ t• , x ∈ •s andtherefore Inf (α1) = (w1, a1), Inf (α4) = (w4, a4) with x ∈ w1 ∩ w4. This contradicts the fact thatα = (α1;α3) ‖(α2; α4) is a defined process term. If l(c) = x′ ∈ P ′ then c−1(x′) ∈ •t and c−1(x′) ∈ s•

causes the same contradiction.Consider case (b): We have l(c) = x′ ∈ P ′ (l(c) has to be a complement place, because c is in Act-

relation to an event), then c−1(x′) ∈ •t and c−1(x′) ∈ −s and therefore Inf (α1) = (w1, a1), Inf (α4) =(w4, a4) with c−1(x′) ∈ w1 and c−1(x′) ∈ w4∪a4. This contradicts the fact that α = (α1;α3) ‖(α2; α4)is a defined process term. Case (c) causes a contradiction analogously as in case (b).

Now we check axiom (7). For this axiom we have to discuss the equivalence transformation inboth directions. Let first α = (α1 ‖ pre(α2)); (α2 ‖ post(α1)) and β = α1⊕α2 (α1 and α2 have to besynchronous step terms). Suppose that in the run an @- ordering between an event in α2 and an eventin α1 exists. That means there are events s ∈ α1, and t ∈ α2, and a condition c ∈ B such that thefollowing relation holds: (c, t) ∈ Act and (c, s) ∈ R. We have l(c) = x′ ∈ P ′, then c−1(x′) ∈ −tand c−1(x′) ∈ s• ⊆ post(alpha1) and therefore inf (α2) = (a2, b2, c2), inf (post(α1)) = (a1, b1, c1)with c−1(x′) ∈ b2 ∪ c2 and c−1(x′) ∈ a1 = b1. This contradicts the fact that α2 ‖ post(α1) is a definedprocess term.

Let on the other hand β = (α1 ‖ pre(α2)) ; (α2 ‖ post(α1)) and α = α1⊕α2. Suppose that in therun an ≺-ordering between an event in α1 and an event in α2 exists. It means there are events t ∈ α1,and s ∈ α2, and a condition c ∈ B such that one of the following relation holds: (a) (t, c) ∈ R and(c, s) ∈ R or (b) (t, c) ∈ R and (c, s) ∈ Act.

Consider case (a): If l(c) = x ∈ P , then we have x ∈ t• , x ∈ •s and therefore inf (α1) =(a1, b1, c1), inf (α2) = (a2, b2, c2) with x ∈ b1 ∩ a2. This contradicts the fact that α = α1⊕α2 isa defined process term. If l(c) = x′ ∈ P ′ then c−1(x′) ∈ •t and c−1(x′) ∈ s• causes the samecontradiction.

Consider case (b): We have l(c) = x′ ∈ P ′, then c−1(x′) ∈ •t and c−1(x′) ∈ −s and thereforeinf (α1) = (a1, b1, c1), inf (α2) = (a2, b2, c2) with c−1(x′) ∈ a1 and c−1(x′) ∈ c2∪b2. This contradictsthe fact that α = α1⊕α2 is a defined process term.