=Paper= {{Paper |id=Vol-1591/paper11 |storemode=property |title=Kleene Theorem for Labelled Free Choice Nets without Distributed Choice |pdfUrl=https://ceur-ws.org/Vol-1591/paper11.pdf |volume=Vol-1591 |authors=Ramchandra Phawade |dblpUrl=https://dblp.org/rec/conf/apn/Phawade16 }} ==Kleene Theorem for Labelled Free Choice Nets without Distributed Choice== https://ceur-ws.org/Vol-1591/paper11.pdf
    Kleene Theorem for Labelled Free Choice Nets
             without Distributed Choice

                              Ramchandra Phawade

       Indian Institute of Technology Bombay, Powai, Mumbai 400076, India



      Abstract. For 1-bounded nets, equivalent syntax have been given by
      Grabowski [8], Garg and Ragunath [7] and other authors Lodaya [14].
      We work with 1-bounded, labelled free choice nets given with an S-cover,
      where the labels come from a distributed alphabet and S-components
      of the associated S-cover respect the alphabet distribution. In earlier
      work [21], we provided expressions for free choice nets having “distributed
      choice property” which makes the nets “direct product” representable.
      These expressions have “pairings” of blocks of derivatives–representing
      automaton states–which specify how synchronizations take place.
      In this work, we give equivalent syntax for a larger class of free choice
      nets obtained by dropping “distributed choice property”. Hence we deal
      with the nets which are not representable by direct products also. Now
      “pairings” relate the tuples of blocks of derivatives and their effects–
      representing automaton transitions–in our expressions.


1    Introduction
The Kleene theorem for regular expressions enables us to translate from regular
expressions to automata and back [12]. Expressions are widely used by pro-
grammers to describe languages of software components. They are thought of
as a user-friendly alternative to the finite state machines for describing software
components [11]. On the other hand they can be used for axiomatizing language
equivalence [23,13] and characterizing subclasses of automata.
    Free choice nets form an important subclass of Petri nets, having pleasant
theory [24,5] and from verification point of view some of the advantages of 1-
bounded free choice nets are checking liveness is in PTIME [6,4], checking dead-
lock is NP-complete [3] and reachability problem is PSPACE-complete [3]. All
these problems are PSPACE-complete for 1-bounded nets [3].
    Language equivalent expressions for 1-bounded nets have been given by
Grabowski [8], Garg and Ragunath [7] and other authors [14], where renam-
ing operator has been used in the syntax to disambiguate synchronizations. In
earlier [15,21,22] works, we have provided syntax for various subclasses of 1-
bounded free choice nets, and we have used product systems as intermediary
formalism. Since we do not use renaming operator in our syntax, our labellings
has to preserve the process stucture, i.e. same label can not be used for syn-
chronizations by different sets of processes. This also enables us to compare
expressiveness of nets with those of different classes of product automata [17].
                            R. Phawade: Kleene Theorem for Labelled Free Choice Nets                          133



    A restriction of our earlier work [19], was that of “distributed choice”. Roughly,
this says that if two transitions in a cluster of a free choice net are labelled the
same, then they cannot be used to discriminate between post-places. In this
paper we remove this restriction.


              r1                       s1
                                                                     r1                     s1


           λ(t1 ) = a              λ(t2 ) = a
                                                                 a        a            a         a


      r2           r3                 s2    s3
  b                     c      d                 e          r2            r3           s2            s3
                                                        b                      c   d                      e

Fig. 1. Free Choice Net without                         Fig. 2. S-cover of the net in Fig. 1
distributed choice


    The Figure 1 shows an example 1-bounded labelled net which is free choice
but does not satisfy this property. A short proof [18] using a characterization
of direct product languages [17] shows that the language of this net with fi-
nal marking {r1 , s1 } is not accepted by a direct product. Its (only possible)
S-decomposition is shown in Figure 2. If we used our earlier theorems on this
example, we would get the informal expression fsync((ab + ac)∗ , (ad + ae)∗ ),
that is, the fsync (synchronization) of the two regular expressions. But this is
not what the net does, perhaps its behavior can be informally described as
(fsync(ab, ad) + fsync(ac, ae))∗ , the left choices (moves (r1 , a, r2 ) and (s1 , a, s2 ))
and the right choices (moves (r1 , a, r3 ) and (s1 , a, s3 )) separately pair up to syn-
chronize. In other words, what a net transition does has to be remembered in
the product system, and that we capture by “globals” of product system, which
are nothing but a set of–global moves–tuples of local moves. Indeed, these prod-
uct systems with globals are more expressive than direct products and are a
restricted version of Zielonka automaton [25].
    In Section 2 we formally define the nets without distributed choice property
and the product systems with globals and in the subsequent section we prove
the equivalence of these two formalisms.
    On the expressions side, these global moves are represented by “cables” which
are tuples of “ducts” (representing local moves in the product system which in
turn are arcs inside S-components). This syntactic machinery along with the
syntax of expressions is developed in Section 4. In previous works [21,22] we
have developed the concept of “blocks” –collection of derivatives [1]–which rep-
resents a state of an automaton or a place in the net. To represent a local move
(p, a, q) belonging to some component automaton– of a product system–in reg-
ular expression corresponding to it, we need to identify the blocks of derivatives
corresponding to source place p and target place q of the local move. While the
134     PNSE’16 – Petri Nets and Software Engineering



former part has been dealt previously [21], using the notion of “bifurcation”; it
alone is not sufficient to get a block corresponding to the target place, because
of two difficulties: first is the possibility of existence of multiple target states, for
a given source state, due to nondeterminism on local actions; and the second dif-
ficulty arises from the fact that, in some sense, bifurcation works in the forward
direction of outgoing moves and does not help in keeping the identity of target
places intact. To handle this, we introduce the notion of “funneling” in Section 4,
and the task of formally establishing the correspondence between a local move
and a duct is achieved in Lemma 4 of Section 5. In the same section we prove
equivalence between product systems with globals and expressions with cables.
Final section summarizes the work and discusses time complexities involved in
the translations.


2     Preliminaries

Let Σ be a finite alphabet and Σ ∗ be the set of all words over alphabet Σ,
including the empty word ε. A language over an alphabet Σ is a subset L ⊆ Σ ∗ .
The projection of a word(w ∈ Σ ∗ to a set ∆ ⊆ Σ, denoted as w↓∆ , is defined by
                         a(σ↓∆ ) if a ∈ ∆,
ε↓∆ = ε and (aσ)↓∆ =
                         σ↓∆       if a ∈
                                        / ∆.
For a set S let ℘(S) denote the set of all subsets of S. To simplify notations
sometimes we may denote a singleton set like {r} by its element r.

Definition 1 (Distributed Alphabet). Let Loc denote the set {1, 2, . . . , k}.
A distribution
      S        of Σ over Loc is a tuple of nonempty sets (Σ1 , Σ2 , . . . , Σk ) with
Σ = 1≤i≤k Σi . For each action a ∈ Σ, its locations are the set loc(a) = {i |
a ∈ Σi }. Actions a ∈ Σ such that |loc(a)| = 1 are called local, otherwise they
are called global.


2.1   Nets

Definition 2. A labelled net N is a tuple (S, T, F, λ), where S is a set of places,
T is a set of transitions labelled by the function λ : T → Σ and F ⊆ (T × S) ∪
(S × T ) is the flow relation.

    Elements of S ∪ T are called nodes of N . Given a node z of net N , set
•
 z = {x | (x, z) ∈ F } is called pre-set of z and z •S= {x | (z, x) ∈ F }Sis called
post-set of z. Given a set Z of nodes of N , let • Z = z∈Z • z and Z • = z∈Z z • .
    We only consider nets in which every transition has nonempty pre- and post-
set. For all actions a in Σ let Ta = {t | t ∈ T and λ(t) = a}.


Net Systems and their Languages For our results we are only interested in
1-bounded nets, where a place is either marked or not marked. Hence we define
a marking of a net as a subset of its places.
                   R. Phawade: Kleene Theorem for Labelled Free Choice Nets              135



Definition 3. A labelled net system is a tuple (N, M0 , G) where N = (S, T, F, λ)
is a labelled net with M0 ⊆ S as its initial marking and a set of markings
G ⊆ ℘(S).

   A transition t is enabled in a marking M if all places in its pre-set are marked
by M . In such a case, t can be fired to yield the new marking M 0 = (M \ • t) ∪ t •
and, we write this as M [tiM 0 or M [λ(t)iM 0 . A firing sequence (finite or infinite)
λ(t1 )λ(t2 ) . . . is defined by composition, from M0 [t1 iM1 [t2 i . . . For every i ≤ j,
we say that Mj is reachable from Mi . We say a net system (N, M0 ) is live if, for
every reachable marking M and every transition t, there exists a marking M 0
reachable from M which enables t.

Definition 4. For a labelled net system (N, M0 , G), its language is defined as
Lang(N, M0 , G) = {λ(σ) ∈ Σ ∗ | σ ∈ T ∗ and M0 [σiM, for some M ∈ G}.


Net Systems and its components

Definition 5. Let N 0 = (S ∩ X, T ∩ X, F ∩ (X × X)) be a subnet of net N =
(S, T, F ), generated by a nonempty set X of nodes of N . Subnet N 0 is called a
component of N if,

 – For each place s of X, • s, s • ⊆ X (the pre- and post-sets are taken in N ),
 – For all transitions t ∈ T , we have |• t| = 1 = |t • | (N 0 is an S-net [5]),
 – Under the flow relation, N 0 is connected.

A set C of components of net N is called S-cover for N , if every place of the
net belongs to some component of C. A net is covered by components if it has an
S-cover.

    Note that our notion of component does not require strong connectedness
and so it is different from notion of S-component in [5], and therefore our notion
of S-cover also differs from theirs.
    Fix a distribution (Σ1 , Σ2 , . . . , Σk ) of Σ. The next definition appears in sev-
eral places for unlabelled nets, starting with [10].

Definition 6. A labelled net N = (S, T, F, λ) is called S-decomposable if,
there exists an S-cover C for N , such that for each Ti = {λ−1 (a) | a ∈ Σi }, there
exists Si such that the induced component (Si , Ti , Fi ) is in C.

   Now from S-decomposability we get an S-cover for net N , since there exist
subsets S1 , S2 , . . . , Sk of places S, such that S = S1 ∪S2 ∪. . . Sk and • Si ∪Si• = Ti ,
such that the subnet (Si , Ti , Fi ) generated by Si and Ti is an S-net, where Fi is
the induced flow relation from Si and Ti .
   If a net (S, T, F, λ) is 1-bounded and S-decomposable then a marking can be
written as a k-tuple from its component places S1 × S2 × . . . × Sk . As before [21],
we enforce the “direct product” condition on the set of final markings.
136     PNSE’16 – Petri Nets and Software Engineering



Definition 7. An S-decomposable labelled net system (N, M0 , G) is an S-
decomposable labelled net N = (S, T, F, λ) along with an initial marking M0 and
a set of markings G ⊆ ℘(S), which is a direct product: if hq1 , q2 , . . . qk i ∈ G
and hq10 , q20 , . . . qk0 i ∈ G then {q1 , q10 } × {q2 , q20 } × . . . × {qk , qk0 } ⊆ G.
    Let t be a transition in Ta . Then by S-decomposability a pre-place and a
post-place of t belongs to each Si for all i in loc(a). Let t[i] denote the tuple
hp, a, p0 i such that (p, t), (t, p0 ) ∈ Fi , for p, p0 ∈ Pi for all i in loc(a).


Free choice nets and distributed choice

Definition 8 (Free choice nets [5]). Let x be a node of a net N . The cluster
of x, denoted by [x], is the minimal set of nodes containing x such that

 – if a place s ∈ [x] then s• is included in [x], and
 – if a transition t ∈ [x] then • t is included in [x].

A cluster C is called free choice (FC) if all transitions in C have the same pre-set.
A net is called free choice if all its clusters are free choice.
    In a labelled net N , for a free choice cluster C = (SC , TC ) define the a-
labelled transitions Ca = {t ∈ TC | λ(t) = a}. If the net has an S-decomposition
then we associate a post-product π(t) = Πi∈loc(a) (t • ∩ Si ) with every such tran-
sition t. This is well defined since by the S-net condition
                                                      [       every transition will
have at most one post-place in Si . Let post(Ca ) =       π(t). We also define the
                                                           t∈Ca
post-projection of the cluster Ca [i] = Ca • ∩ Si and the post-decomposition
postdecomp(Ca ) = Πi∈loc(a) Ca [i]. Clearly post(Ca ) ⊆ postdecomp(Ca ). The fol-
lowing definition generalized from [19,18] provides the way to direct product
representability.

Definition 9. An S-decomposable net N = (S, T, F, λ) is said to have dis-
tributed choice property if, for all a in Σ and for all free choice clusters C
of N , postdecomp(Ca ) ⊆ post(Ca ).

Example 1 (A net without distributed choice property). Consider a distributed
alphabet Σ = (Σ1 = {a, b, c}, Σ2 = {a, d, e}) and the labelled net system (N =
(S, T, F, λ), {r1 , s1 }, {{r1 , s1 }}) shown in Figure 1 defined over it. Its (only pos-
sible) S-cover having two S-components with sets of places S1 = {r1 , r2 , r3 } and
S2 = {s1 , s2 , s3 } respectively, is given in Figure 2. Since N is S-decomposable,
we can write its markings as tuples, therefore it can be alternately described as
(N, (p1 , p2 ), {(p1 , p2 )}). For the cluster C of [r1 ], we have the set of a-labelled
transitions Ca = {t1 , t2 } with its post-projections Ca [1] = {r2 , r3 } and Ca [2] =
{s2 , s3 }. So we get postdecomp(Ca ) = {(r2 , s2 ), (r2 , s3 ), (r3 , s2 ), (r3 , s3 )}. The
post-products are π(t1 ) = {(r2 , s2 )} and π(t2 ) = {(r3 , s3 )}. Therefore we have
post(Ca ) = {(r2 , s2 ), (r3 , s3 )}. Since postdecomp(Ca ) * post(Ca ), this cluster
does not have distributed choice, so the net system does not have it.
                        R. Phawade: Kleene Theorem for Labelled Free Choice Nets                    137



Example 2 (A net with distributed choice property). Consider the labelled net
system (N, (p1 , p2 ), {(p1 , p2 )}) of Figure 3, defined over distributed alphabet Σ =
(Σ1 = {a, b, c}, Σ2 = {a, d, e}). Its two S-components with sets of places S1 =
{p1 , p3 , p4 } and S2 = {p2 , p5 }, are shown in Figure 4. For cluster C of p1 , we
have Ca = {t1 , t2 }, Ca [1] = {p3 , p4 } and Ca [2] = {p5 }, hence postdecomp(Ca ) =
{(p3 , p5 ), (p4 , p5 )}. The post-products π(t1 ) = {(p3 , p5 )} and π(t2 ) = {(p4 , p5 )}
give post(Ca ) = {(p3 , p5 ), (p4 , p5 )}. Hence postdecomp(Ca ) = post(Ca ). For all
other clusters this holds trivially, because each of them have only one transition
and only one post-place, hence the net has distributed choice.



              p1                     p2
                                                                 p1                    p2

           λ(t1 ) = a             λ(t2 ) = a
                                                             a        a            a        a


      p3           p4                p5
                         c                     e        p3            p4               p5
  b                           d                     b                      c   d                e


Fig. 3. Labelled Free Choice Net                    Fig. 4. S-cover of the net in Fig. 3
with distributed choice




2.2    Automata and their properties
Definition 10. A sequential system over a set of actions Σi is a finite state
automaton Ai = hPi , →i , Gi , p0i i where Pi are called places, Gi ⊆ Pi are final
places, p0i ∈ Pi is the initial place, and →i ⊆ Pi ×Σi ×Pi is a set of local moves.

Let →ia denote the set of all a-labelled moves in the sequential system Ai . For
a local move t = hp, a, p0 i of →i place p is called pre-place and p0 is called post-
place of t. The language of a sequential system is defined as usual. A set of places
X ⊆ Pi of component Ai having language L we define relativized languages:
                                            x     ay
LXa = {xay ∈ L | ∃p in X such that p0 −    → p −→ Gi }, P refaX (L) = {x | xay ∈
La }, and Sufa (L) = {y | xay ∈ La }. A set of places X ⊆ Pi of component Ai
  X             X                    X

a-bifurcates L if LX  a = P refa (L) · a · Sufa (L). These relativized languages
                                 X              X

and the property of a-bifurcation was [21] defined for a single place; here we
have generalized those notions to a set of places.

Remark 1. A place p of Ai a-bifurcates Lang(Ai ).

For a place p let a-targets(p)={q | hp, a, qi ∈→i } denote
                                                         S the set of its target
places. For a set X of places of Ai define a-targets(X) = p∈X a-targets(p). For
138     PNSE’16 – Petri Nets and Software Engineering



sets of places X and Y of Ai with language L, we define relativized languages:
  (X,Y )                                                           x       a      y
La       = {xay ∈ L | ∃p ∈ X and ∃q ∈ Y such that p0 −            → p −   → q −   → Gi },
                              (X,Y )                                          (X,Y )
Pref (X,Y
     a
          )
            (L) = {x | xay ∈ La      } and Suf (X,Y
                                               a
                                                    )
                                                      (L) = {y | xay ∈ La            }. We
                                            (X,Y )         (X,Y )
say that (X, Y ) a-funnels language L if La        = Pref a       (L) · a · Suf (X,Y
                                                                                a
                                                                                      )
                                                                                        (L).


Remark 2. For a set X of places of Ai with language L and a set Y ⊆ a-
targets(X), if X a-bifurcates L then the tuple (X, Y ) a-funnels L.
Using Remark 1 and Remark 2 we get the following corollary.
Corollary 1. Given a place p of Ai and a set Y ⊆ a-targets(p) the tuple (p, Y )
a-funnels L(Ai ).
    Let L denote the language               a
of automaton shown in Fig-
                                   p2
ure 5. The set X = {p2 , p4 }
a-bifurcates L and the tuple         a start     p1 a p4 a p5 a p6
(X, {p3 }) a-funnels L. The set
                                   p3
Z = {p1 , p3 } does not a-
bifurcate L because, for the                a
word aaaaaa in L, we have            Fig. 5. Automaton with Lang((aaa)∗ aaa)
aaa in Suf pa3 (L) (hence in
Suf Z                     p1               Z
    a (L)) and ε in Pref a (L) (so in Pref a (L)), but the word ε · a · aaa ∈
                                                                            / L.
We can use the same string to see that (Z, {p1 , p2 }) do not a-funnel L.

2.3    Product Systems
Fix a distribution (Σ1 , Σ2 , . . . , Σk ) of Σ. We define product systems over this.
Definition 11. Let Ai = hPi , →i , Gi , p0i i be a sequential system over alphabet
Σi for 1 ≤ i ≤ k. A product system A over the distribution Σ = (Σ1 , . . . , Σk )
is a tuple hA1 , . . . , Ak i.
    Let Πi∈Loc Pi be the set of product states of A. We use R[i] for the projection
of a product state R in Ai . The initial product state of A is R0 = (p01 , . . . , p0k ),
while G = Πi∈Loc Gi denotes the S  final states of A. Let ⇒a = Πi∈loc(a) →ia . The
set of all global moves of A is ⇒= a∈Σ ⇒a . Then for a global move g in ⇒a , let
g[i] denote its i-th component–local a-move–belonging to Ai , for all i in loc(a).

Definition 12 ([22]). A product system A is said to have separation of labels
if for all i ∈ Loc, and for all global actions a, if hp, a, p0 i, hq, a, q 0 i ∈→i then p = q.

The product system shown in Figure 6, has separation of labels property.

Definition 13 ([15]). In a product system, we say the local move hp, a, q1 i ∈→i
is conflict-equivalent to the local move hp0 , a, q10 i ∈→j , if for every other local
move hp, b, q2 i ∈→i , there is a local move hp0 , b, q20 i ∈→j and, conversely, for
moves from p0 there are corresponding outgoing moves from p. We call A =
                      R. Phawade: Kleene Theorem for Labelled Free Choice Nets          139



hA1 , . . . , Ak i a conflict-equivalent product system if for every global action
a ∈ Σ, and for all i, j ∈ loc(a), every a-move in Ai is conflict-equivalent to every
a-move in Aj .

Let globals(a) be a subset of its global moves ⇒a , and a-global denote an
element of globals(a).

Definition 14. A product system with globals is a product system with re-
lations globals(a), for each global action a in Σ.

    Now we describe runs of a product system A over some word w by associating
product states with prefixes of w: the empty word is assigned initial product state
R0 , and for every prefix va of w, if R is the product state reached after v and
Q is reached after va where, for all j ∈ loc(a), hR[j], a, Q[j]i ∈→j , and for all
j ∈/ loc(a), R[j] = Q[j]. Runs of a product system with globals, are defined
in the same way where, an additional requirement of Πj∈loc(a) (hR[j], a, Q[j]i ∈
globals(a), has to be satisfied. With abuse of notation sometimes we use pre(a)
                                a
to denote the set {R | ∃Q, R −  → Q}. A run of a product system over word w is
said to be accepting if the product state reached after w is in G. We define the
language Lang(A) of product system A (with globals), as the words on which
the product system (with globals) has an accepting run.
    The following property helps us to capture free choice property of nets.

Definition 15. A product system with globals have same source property if,
for any pair of two global moves sharing a common pre-place have the same set
of pre-places.

The product system A shown in Figure 6 has same source, as both the a-
globals in the given globals(a) relation have the same set of pre-places.



  start       r1                start      s1
                                                           globals(a) = {
                                                                a           a
                                                           ((r1 −
                                                                → r2 ), (s1 −
                                                                            → s2 )),
        a b                          a d                        a
                                                           ((r1 −
                                                                            a
                                                                → r3 ), (s1 −
                                                                            → s3 ))}.
                   a c                          a e


   r2                    r3     s2                    s3


              A1                           A2


                   Fig. 6. Product system A = hA1 , A2 i used in Example 3
140     PNSE’16 – Petri Nets and Software Engineering



3     Nets and Product systems

It is easy to give a generic construction of a 1-bounded S-coverable labelled net
system from a product system with globals.

Definition 16 (Product system with globals to Net). Given a product
system A = hA1 , A2 , . . . , Ak i over distribution Σ, we can produce a net system
(N = (S, T, F, λ), M0 , G) as follows:
         S
 – S = Si Pi , the set of places.
 – T = a globals(a), for all actions a in Σ. We also let Ti = {λ−1 (a) | a ∈ Σi }.
 – The labelling function λ labels by action a the transitions in globals(a).
 – The flow relation F = {(p, g), (g, q) | g ∈ Ta , g[i] = hp, a, qi, i ∈ loc(a)}. Let
    Fi be its restriction to the transitions Ti for i ∈ loc(a).
 – M0 = {p01 , . . . , p0k }, the initial product state.
 – G = G, the set of final product states.

   Since, the set of transitions of resultant net is same as the set of moves in
the product system; and construction preserves pre as well as post places, we
get one to one correspondence between reachable states of product system and
reachable markings of nets.

Lemma 1. In the construction of net system N in Definition 16, N is S-
coverable, the construction preserves language, i.e., Lang(N, M0 , G) = Lang(A).

   When we apply the generic construction above to product systems, with same
source property, we get a free choice net, because any two global moves having
same set of pre-places are put into one cluster.

Theorem 1. Let (N, M0 , G) be the net system constructed from product system
A as in Definition 16. If A has same source property then N is a free choice net.


   Even if a net is 1-bounded and S-coverable each component need not have
only one token in it, but when we say that a 1-bounded net is S-coverable
we assume that each component has one token. For live and 1-bounded free
choice nets, such S-covers can be guaranteed [5]. Now we describe a linear-size
construction of a product system from a net which is S-coverable.

Definition 17 (Net to product system with globals). Given (N, M0 , G) a
1-bounded S-coverable labelled net system, with N = (S, T, F, λ) the underlying
net and Ni = (Si , Ti , Fi ) the components in the S-cover, for i in {1, 2, . . . , k},
we define a product system A = hA1 , . . . , Ak i.

 – Pi = Si , p0i the unique state in M0 ∩ Pi .
 – →i = {hp, λ(t), p0 i | t ∈ Ti and (p, t), (t, p0 ) ∈ Fi , for p, p0 ∈ Pi }.
 – So we get sequential systems Ai = hPi , →i , p0i i and the product system A =
   hA1 , A2 , . . . , Ak i over alphabet Σ.
                   R. Phawade: Kleene Theorem for Labelled Free Choice Nets    141


                    [
 – globals(a) =           (Πi∈loc(a) t[i]).
                   t∈Ta
 – G=G

      Again we can generalize results obtained in the thesis [19].

Lemma 2. For net N , the construction of the product system A in Definition 17
above preserves language.

    For each a-labelled transition of the net we get one global a-move in the
product system having same set of pre-places and post-places. And, by definition
for each global a-move in product system we have an a-labelled transition in the
net having same pre and post-places. This was ensured by “distributed choice”
property [21,19], here now ensured by construction using globals. We get one to
one correspondence between reachable states of product system and reachable
markings of the net we started with. Therefore, if we begin with the free choice
net, we get same source property in the product system obtained.

Theorem 2. Let (N, M0 , G) be a 1-bounded, S-coverable labelled free choice net
system. Then one can construct a product system A with same source property.

Example 3. From the net in Figure 1 using its S-decomposition shown in Fig-
ure 2, we get the product system of Figure 6 for the language of net. In this
example, starting with this product system we get the same net back.


4      Expressions

4.1     Regular expressions and their properties

A regular expression over alphabet Σi such that constants 0 and 1 are not in Σi
is given by:
                     s ::= 0 | 1 | a ∈ Σi | s1 · s2 | s1 + s2 | s∗1
The language of constant 0 is ∅ and that of 1 is {ε}. For a symbol a ∈ Σi , its
language is Lang(a) = {a}. For regular expressions s1 + s2 , s1 · s2 and s∗1 , its
languages are defined inductively as union, concatenation and Kleene star of the
component languages respectively.
     As a measure of the size of an expression we will use wd(s) for its alphabetic
width—the total number of occurrences of letters of Σ in s. We will use syntactic
entities–called derivatives–associated with regular expressions which are known
since the time of Brzozowski [2], Mirkin [16] and Antimirov [1].
     For each regular expression s over Σi , let Lang(s) be its language and its
initial actions form the set Init(s) = {a | ∃v ∈ Σi∗ and av ∈ Lang(s) } which can
be defined syntactically. Similarly, we can syntactically check if ε ∈ Lang(s).
     Antimirov derivatives [1] are defined as given below.
142       PNSE’16 – Petri Nets and Software Engineering



Definition 18 ([1]). Given regular expression s and symbol a, the set of partial
derivatives of s with respect to a, written Dera (s) are defined as follows.
           Dera (0) = ∅
           Dera (1) = ∅
           Dera (b) = {1} if b = a ∅ otherwise
    Dera (s1 + s2 ) = Dera (s1 ) ∪ Dera (s2 )
          Dera (s∗1 ) = 
                        Dera (s1 ) · s∗1
                          Dera (s1 ) · s2 ∪ Dera (s2 ) if ε ∈ Lang(s1 )
     Dera (s1 · s2 ) =
                          Dera (s1 ) · s2              otherwise
    Inductively Deraw (s) = Derw (Dera (s)). [
The set of all partial derivatives Der(s) =             Derw (s), where Derε (s) = {s}.
                                              w∈Σi∗

We have the Antimirov derivatives Dera (ab + ac) = {b, c} and Dera (a(b + c)) =
{b + c}, whereas the Brzozowski a-derivative [2] (which is used for construct-
ing deterministic automata, but which we do not use in this paper) for both
expressions would be {b + c}.
    A derivative d of s with global a ∈ Init(d) is called an a-site of s. An
expression is said to have equal choice if for all a, its a-sites have the same set
of initial actions. For a set D of derivatives, we collect all initial actions to form
Init(D). Two sets of derivatives have equal choice if their Init sets are same.
    As in [21] we put together derivatives which may correspond to the same
state in a finite automaton.
Definition 19 ([21]). Let s be a regular expression and L = Lang(s). For a set
D of a-sites of regular expression s and an action a, we define the relativized
language LDa = {xay | xay ∈ L, ∃d ∈ Derx (s) ∩ D, ∃d ∈ Deray (d) with ε ∈
                                                          0
                                   D
Lang(d )}, and the prefixes Pref a (L) = {x | xay ∈ LD
        0
                                                            a }, and the suffixes
Suf D
    a (L) = {y | xay ∈ La }. We say that the derivatives in set D a-bifurcate L
                          D
             D
if LD                       D
    a = Pref a (L) · a · Sufa (L).

    Let Parta (s) denote a partition of the a-sites of s into blocks such that each
block (that is, element of the partition) a-bifurcates L. Earlier [21] we have given
a syntactic scheme for obtaining a partition, for which we proved the following.
Proposition 1 ([21]). Every block D of the partition P arta (s) a-bifurcates lan-
guage of a regular expression s.
    In comparison with our earlier paper [21], the next Definition 20 and Propo-
sition 2 deal with “a-effects”, which are new. In addition to thinking of blocks of
the partition as places of an automaton, we can now think of blocks and their
effects as local moves.
Definition 20. Given an action a, a set of a-sites B of regular expression s
and a specified set of a-effects E ⊆ Dera (B), we define the relativized languages

  (B,E)
La        = {xay ∈ L | ∃d ∈ Derx (s) ∩ B, ∃d0 ∈ Dera (d) ∩ E, and
                                            ∃d00 ∈ Dery (d0 ) with ε ∈ Lang(d00 )}.
                    R. Phawade: Kleene Theorem for Labelled Free Choice Nets             143



                                       (B,E)                      (B,E)
    Also define the prefixes P refa          (L) = {x | xay ∈ La        } and the suffixes
     (B,E)                        (B,E)
Sufa       (L) = {y | xay ∈ La          }. We say that a tuple (B, E) a-funnels L if
  (B,E)                           (B,E)
La      = P refaB (L) · a · Sufa        (L).
    In such a pair (B, E), if B is a block in the Parta (s) and E is a nonempty
subset of a-effects of B, then it is called as an a-duct. For an a-duct (B, E),
we define its set of initial actions Init(B, E) as Init(B, E) = Init(B), call B as
its pre-block and call E as its post-effect. For all i in loc(a) let a-ducts(si )
denote the set of all a-ducts of regular expression si . For any two a-ducts (B, E)
and (B 0 , E 0 ) in a-ducts(si ), define (B, E) = (B 0 , E 0 ) if B = B 0 and E = E 0 .

Example 4. Consider a regular expression p1 = (aaa)∗ aaa. Let L denote the lan-
guage of p1 . The set of all its derivatives is Der(p1 ) = {p1 , p2 = aa(aaa)∗ aaa, p3 =
a(aaa)∗ aaa, p4 = aa, p5 = a, p6 = ε}. All these derivatives are also shown in Fig-
ure 5. The set of a-sites of p1 consist of all its derivatives except expression p6 .
A partition of a-sites of p1 is Parta (p1 ) = {D1 = {p1 }, D2 = {p2 , p4 }, D3 =
{p3 , p5 }}. See that each block in this partition a-bifurcates language L. For tu-
ple (D2 , {p3 }) its set of a-effects is {p3 , p5 }. The tuple (D2 , {p3 }) a-funnels L
therefore it is an a-duct, having D2 as its pre-block and {p3 } as its post-effect.
Another example of an a-duct is (D3 , {p1 }).
    Consider the set Z = {p1 , p3 } of derivatives of p1 . This set Z does not a-
bifurcate language L, because for the word aaaaaa in L, we have string aaa
in Suf pa3 (L) (and hence in Suf Z                                           p1
                                     a (L)) and we have string ε in Pref a (L) (and
                 Z
hence in Pref a (L)), but the word ε · a · aaa is not in L. For set Z, we have
Dera (Z) = {p2 , p4 , p1 }. Considering the same string as above, we can see that
tuple (Z, {p1 , p2 }) do not a-funnel L and is not an a-duct.

Proposition 2. Every a-duct of a regular expression s, a-funnels Lang(s).

      We give following remark, using Proposition 2, for singleton set of derivatives.


Remark 3. Let r be an a-site of a regular expression s. It a-bifurcates Lang(s),
and for any of its a-effect E, tuple (r, E) a-funnels Lang(s).
    Consider a regular expression s in the context of a distribution (Σ1 , . . . , Σk ),
so that some of the actions are global. The following property of expressions has
been related to an important property of product systems which enables us to
identify places coming from a cluster in the free choice net.
Definition 21 ([21]). If for all global actions a occurring in s, the partition
P arta (s) consists of a single block, then we say s has unique sites.

4.2     Connected expressions
Connected expressions over a distributed alphabet This is the syntax of
connected expressions defined over a distribution (Σ1 , Σ2 , . . . , Σk ) of alphabet Σ.

        e ::= 0|fsync(s1 , s2 , . . . , sk ), where si is a regular expression over Σi
144       PNSE’16 – Petri Nets and Software Engineering



Definition 22. A connected expression e = fsync(s1 , s2 , . . . , sk ) over Σ, is said
to have equal choice if, for all global actions a in Σ and i, j in loc(a), for an
a-site r of si and an a-site r0 of sj , Init(r) = Init(r0 ).
     A connected expression e = fsync(s1 , s2 , . . . , sk ) over Σ, have unique sites
if, each component regular expression si have unique sites property.
    For a connected expression defined over distributed alphabet its derivatives
and semantics were given in [21], are given below. For the connected expression
0, we have Lang(0) = ∅. For the connected expression e = fsync(s1 , s2 , . . . , sk ),
its language is given as Lang(e) = Lang(s1 )kLang(s2 )k . . . kLang(sk ), where
the synchronized shuffle L = L1 k . . . kLk is defined as: w ∈ L iff for all i ∈
{1, . . . , k}, w↓Σi ∈ Li . The definition of derivatives extended to connected ex-
pressions [21] is given as follows. The expression 0 has no derivatives on any
action. Given an expression e = fsync(s1 , s2 , . . . , sk ), its derivatives are de-
fined by induction using the derivatives of the si on action a as, Dera (e) =
{fsync(r1 , . . . , rk ) | ∀i ∈ loc(a), ri ∈ Dera (si ); otherwise rj = sj }.

Connected expressions with cables We now define some properties of con-
nected expressions over a distribution. These extend the notion of pairing given
earlier, and will ultimately lead us to construct free choice nets without dis-
tributed choice.
Definition 23. Let e = fsync(s1 , s2 , . . . , sk ) be a connected expression over Σ.
For each action a in Σ, we define the set a-cables(e) = Πi∈loc(a) a-ducts(si ).
For an action a, an a-cable is an element of the set a-cables(e). A block
B of Parta (si ) appears in an a-cable D if there exists j in loc(a) and Y ⊆
Dera (B), such that D[j] = (B, Y ). For any a-cable D its set of pre-blocks is
•
  D = ∪i∈loc(a) {Bi | Bi appears in D}.
For expression e, let cables(a) ⊆ a-cables(e), such that for all i in loc(a): (1) for
all (B, E) in a-ducts(si ), there exists an a-cable D in cables(a) and location j
in loc(a), such that D[j] = (B, E) (2) for all (B, E) and (B 0 , E 0 ) in a-ducts(si )
with (B, E) 6= (B 0 , E 0 ), if B = B 0 then E ∩ E 0 = ∅.
A connected expression with cables is a connected expression with relations
cables(a) of it, for each global action a in Σ.
      For connected expressions with cables, its derivatives are defined as:
Definition 24. The connected expression 0 has no derivatives on any action.
For expression e = fsync(s1 , s2 , . . . , sk ), we define its derivatives on action a, by
induction, using a-ducts and the derivatives of sj as:
 Dera (e) = {fsync(r1 , r2 , . . . , rk ) | rj ∈ Dera (sj ) if there exists an a-cable D in
cables(a) such that, for all j in loc(a), sj is in pre-block Bj and rj is in Xj of
                a-duct D[j] = (Bj , Xj ) of sj , otherwise rj = sj }.
For expressions d = fsync(r1 , . . . , rk ) we use d[i] for ri . Define Init(d) = {a ∈
Σ | Dera (d) 6= ∅}. If a ∈ Init(d) we call d an a-site. The reachable derivatives
are Der(e) = {d | d ∈ Derx (e), x ∈ Σ ∗ }.
                        R. Phawade: Kleene Theorem for Labelled Free Choice Nets                                 145



  Language of e is the set of words over Σ defined using derivatives as below.
Lang(e) = {w ∈ Σ ∗ | ∃e0 ∈ Derw (e) such that ε ∈ Lang(ri ), where e0 [i] = ri }.

So we can have next derivative on action a, if it is allowed by the cables(a)
relation. This is different from derivatives defined previously [21], when it is
necessary to take derivatives of all component regular expressions having a in
its alphabet. The number of derivatives can be exponential in k.

Definition 25. A connected expression have equal source property if for any
pair of two cables sharing a common pre-block have same set of pre-blocks.

Example 5. Let e = fsync(r1 , s1 ) be a connected expression defined over dis-
tributed alphabet Σ = (Σ1 = {a, b, c}, Σ2 = {a, d, e}), where, r1 = ((ab +
ac)(ab + ac))∗ and s1 = (((ad + ae)(ad + ae))∗ . Derivatives of components are
Der(r1 ) = {r1 , r2 = b(ab+ac)r1 , r3 = c(ab+ac)r1 , r4 = (ab+ac)r1 , r5 = br1 , r6 =
cr1 , } and Der(s1 ) = {s1 , s2 = d(ad + ae)s1 , s3 = e(ad + ae)s1 , s4 = (ad +
ae)s1 , s5 = ds1 , s6 = es1 , }. Partitions are Parta (r1 ) = {r1 , r4 } and Parta (s1 ) =
{s1 , s4 }. A set cables(a) = {d1 = ((r1 , r2 ), (s1 , s2 )), d2 = ((r1 , r3 ), (s1 , s3 )), d3 =
((r4 , r5 ), (s4 , s5 )), d4 = ((r4 , r6 ), (s4 , s6 ))}. See that each a-duct appears at least
once in this relation, and for two a-ducts d1 [1] and d2 [1] of r1 , with the same
pre-block r1 , their set of post-effects {r2 } and {r3 } are disjoint, and similarly
for a-ducts d3 [1] and d4 [1] of r1 , with the same pre-block r4 , their sets of post-
effects {r5 } and {r6 } are disjoint. Similarly this condition holds for a-ducts of
s1 . This expression do not have unique sites, as its componet expressions do not
have it. It has equal source property as • d1 = • d2 = {r1 , s1 } and • d3 = • d4 =
{r4 , s4 }. We have Dera (e) = {f sync(r2 , s2 ), f sync(r3 , s3 )}, but f sync(r2 , s3 ) is
not in Dera (e). Simplifying notation, the set of reachable derivatives is Der(e) =
{(r1 , s1 ), (r2 , s2 ), (r4 , s2 ), (r2 , s4 ), (r4 , s4 ), (r3 , s3 ), (r4 , s3 ), (r3 , s4 ), (r5 , s5 ), (r6 , s6 ),
(r5 , s1 ), (r1 , s5 ), (r6 , s1 ), (r1 , s6 )}.


5     Connected Expressions and Product Systems

In this section we prove two main theorems of the paper. For obtaining a con-
nected expression from a product system with globals defined over a distributed
alphabet, we go through an intermediate product system defined over a new
distributed alphabet, get a language equivalent intermediate expression defined
over this new alphabet using results from [22] and then finally rename this to
get an expression for language of original product system. To obtain a product
system from a connected expression we use above steps in the reverse direction.
We refer the reader to [20] for detailed proofs of Lemma 4, Lemma 6, Theorem 3.


5.1     Analysis of Expressions from Systems

In this section we produce expressions for our systems using a result from [22].
146    PNSE’16 – Petri Nets and Software Engineering



Lemma 3 ([22]). Let A be a product system with separation of labels. Then we
can compute a connected expression for the language of A, where every regular
expression has unique sites. If the product was conflict-equivalent, the constructed
expression has equal choice.
    The Lemma 4, allows us to relate product systems with globals having sep-
aration of labels property defined over a distribution to connected expressions
with cables having unique sites property.
    Before giving a formal proof, we present the key idea behind it. Let Ai be a
sequential automaton having an a-move (p, a, q) where a is a global action. Let
s be a regular expression for the language of Ai . Our aim is to get an a-duct
(Bp , a, Bq ) for a-move (p, a, q), where Bp is the set of derivatives of expression
s, which corresponds to place p and, similarly Bq is the set of derivatives which
corresponds to place q. If Ai has separation of labels property, then we know that
p is the unique place having outgoing a-moves in the automaton. Hence, we can
apply Lemma 3 and get the set Bp as required. Now we turn to get Bq for place
q. If q has an outgoing c-move for some global action c, then our task becomes
easy and we can apply Lemma 3 to get Bq . If c is not a global action then we
can not apply Lemma 3 directly because there might be many other places like q
which may have outgoing c-moves. Therefore, in order to make use of Lemma 3
we need to make q as a unique place. This we do so by changing alphabet of Ai in
the following way. If hq, c, ri was a c-move in Ai then we rename c by cq and we
have local move hq, cq , ri in this new automaton A0i defined over a new alphabet
and let expression s0 denote language of A0i . Now q is a unique place having
outgoing cq -moves and we can apply Lemma 3 to get a set of derivatives Bq0
of expression s0 which corresponds to place q in A0i . Now we rename back these
derivatives in Bq0 to get the set Bq which is a subset of Der(s), and corresponds to
the place q in the original automaton Ai . To show that a-move (p, a, q) is indeed
captured by (Bp , a, Bq ), we need prove that a word xay accepted by automaton
and passing through p and q should also pass through derivatives belonging to
these sets, and the reverse of this should also hold.

Lemma 4. Let Σ be a distributed alphabet. Let A be a product system over Σ
with globals, having separation of labels and same source property. Then we can
compute a connected expression e with cables for the language of A, which has
unique sites and equal source property. Moreover, for each global action a in Σ,
we produce an a-duct for each local a-move; and, one a-cable of expression e for
each global a-move of product A.

Proof. Let A = hA1 , . . . , Ak i be the given product system. The separation of
labels property of A ensures that for a global action a, and for each i in loc(a),
we have a unique place in Ai having outgoing local a-moves; but it may have
multiple places having outgoing c-moves for some local action c of Σi . And, same
source property of A ensures that these places can not have any outgoing a-move
for any global action a.
    Stage 1 of proof: Now, for all local actions c in Σi , we replace each local
c-move hq, c, ri of component Ai by cq -move hq, cq , ri to get new alphabet Γi
                    R. Phawade: Kleene Theorem for Labelled Free Choice Nets                       147



and new sequential system Hi over it. Repeating this for each sequential system
Ai we get a new product system H = hH1 , . . . , Hk i over distributed alphabet
Γ = (Γ1 , . . . , Γk ). For each global action a, the relation global(a) of product A,
remains same for product H.
     Since a local action is renamed on basis of the source place of the local move
of which it is part of, this renaming is well defined. For any word w0 in Lang(Hi )
we get a unique word w in Lang(Ai ) by renaming back local action cq in w0 by
c. And in the reverse direction, for any w in Lang(Ai ) we can replace a local
action c by cq using the run of Ai on w (in the case that Ai is at place q and
some local c-move hq, c, ri is used), so this word w0 is unique. See that Γi and Σi
have same set of global actions and they differ only in local actions they have.
Therefore, for any word u0 in Lang(H) we get a unique word u in Lang(A) by
renaming local actions cq of u0 to u.
     For each local action cq of Γi we have a unique place q in Hi having outgoing
cq -moves; thus, for action c (action c could be global or local) of Γi we have
one unique place in Hi having outgoing c-moves. Also, for each place of Hi we
have an action –local or global– such that the place has outgoing local moves on
that action. The product H has separation of labels property in a more general
way, as even local actions have unique places for them now; and, it has same
source property since product A has it. Since product system H has both these
properties, it is conflict-equivalent.
     Stage 2 of proof: Now we can apply Lemma 3, to get a connected ex-
pression e0 = (s01 , . . . , s0k ) over alphabet Γ for language of product H and it has
unique sites property. Hence, for each (local or global) action c in Γi we have only
one block in Partc (s0i ). If place p has outgoing local a-moves hp, a, qi and hp, a, ri
in Hi , with place q having outgoing local c-moves and place r having outgoing
local d-moves; then by application of Lemma 3, we would get unique blocks
Bp0 , Bq0 , and Br0 in Parta (s0i ), Partc (s0i ) and Partd (s0i ) respectively. And each of
these blocks bifurcate Lang(s0i ). We know that the sets Bq0 and Br0 of a-effects of
block Bp0 are disjoint and their Init sets are also disjoint. Therefore, by Propo-
sition 2 each a-duct (Bp0 , Bq0 ) of s0i a-funnels Lang(s0i ).
     To show the correspondence between local a-move hp, a, qi and the a-duct
                                                                  (p,q)       (B 0 ,Bq0 )
(Bp0 , Bq0 ) obtained as above, we need to prove that La                  = La p            . As (p, q)
                                                            (p,q)
and (Bp0 , Bq0 ) both a-funnel language L, hence La               = Pref pa (L) · a · Suf (p,q)
                                                                                          a     (L)
           0   0           0                0    0
         (Bp ,Bq )        Bp              (Bp ,Bq )
and La             = Pref a (L) · a · Suf a          (L). Since place p, as well as block Bp0 ,
                                                   B0
a-bifurcates L, we have Pref pa (L) = Pref a p (L). Therefore, it is sufficient to prove
                                          (B 0 ,B 0 )
the equivalence Suf (p,q)a   (L) = Suf a p q (L). Consider a word y in Suf (p,q)          a     (L)
but we have y = cq y 0 as q is the only place having outgoing cq moves. Therefore
y 0 is in Suf qa (L) and since q, as well as block Bq0 , cq -bifurcates L we have y 0
           0
in Suf B     q                                                         p
          a (L) also. But we also have word y = cy in Suf a (L) and, hence y in
                                                               0
       0                                               0  0
     B                                              (B ,B )
Suf a p (L). Therefore, we have cy 0 in Suf a p q (L) as required.
   Hence for each local a-move (p, a, q) of sequential system Hi we have an a-
duct (Bp0 , Bq0 ) of regular expression s0i . Therefore, for each a-global of product
148     PNSE’16 – Petri Nets and Software Engineering



H we get an a-cable of connected expression e0 by taking tuple of a-ducts corre-
sponding to its component a-moves. Since product H has same source property
expression e0 has equal source property.
     Stage 3 of proof: Now we rename back each local action cq by c in each of
s0i to get regular expression si over alphabet Σi . See that we had not renamed
any global action of Σ, and for such local action cq its set of locations loc(cq ) is
singleton. Hence we continue to have unique sites property for all global actions a.
Repeating this for each regular expression s0i in expression e0 , we get a connected
expression e = (s1 , . . . , sk ) over distributed alphabet Σ, having unique sites
property. Since expression e0 has equal source property expression e continues
to have it.
     Now we prove the claim that renaming a derivative of s0i in this fashion, we
get derivative of si . For the base case si is obtained by renaming s0i (the fact
that ε is in Lang(s0i ) iff ε is in Lang(si ), can be proved by structural induction
on si ). Consider a word w0 = x0 ay 0 in Lang(s0i ). So there exist derivatives d0 in
Derx0 (s0i ), and r0 in Derx0 a (s0i ), and s0f in Dery0 (r0 ) such that ε is in Lang(s0f ). By
induction hypothesis we have derivative d of si obtained by renaming d0 . If action
a is global then Init(d) = Init(d0 ) and if it is local action then Init(d) is obtained
by renaming Init(d0 ). To complete the induction step, we need to prove that r is
in Derxa (si ), where x is obtained by renaming word x0 . By induction hypothesis,
derivative d is in Derx (si ), therefore it suffices to prove that derivative r, the
word obtained by renaming back r0 , is in Dera (d). This is done by structural
induction on d0 .
     As a consequence of above claim, for any word w0 in Lang(s0i ) we have a
unique word w in Lang(s0i ) obtained by renaming back. In the reverse direction
also, for any w in Lang(s0i ) we get a unique word w0 in Lang(s0i ). We extend this
renaming to a set of derivatives; so for a set of derivatives B 0 ⊆ Der(s0i ) we get
the set B ⊆ Der(si ), and vice versa.
     The set Xq0 of a-effects of block Bp0 , might have been a unique block of
Partcq (s0i ), but after renaming, it might not c-bifurcate Lang(si ). On the other
hand, since Bp a-bifurcates Lang(si ), pair (Bp , Xq ) of si continues to a-funnel
Lang(si ) and therefore is an a-duct of si . Hence, for each a-duct (Bp0 , Xq0 ) of s0i
we get an a-duct (Bp , Xq ) of si . As a consequence, for each a-cable of e0 we get
an a-cable of expression e.
     So, for each action hp, a, qi we get an a-duct (Bp , Xq ), and for each a-global
we get an a-cable obtained by taking product of a-ducts corresponding to its
component local a-moves. Therefore, for any word u0 in Lang(e0 ) we get a unique
word u in Lang(e) and for any word v in Lang(e) we get a unique word v 0 in
Lang(e0 ). Now using equivalence Lang(H) = Lang(e0 ) along with the fact that,
the renaming used in the first step of getting product system H from A, and the
renaming used in the last step of getting expression e from e0 is well defined, we
get language equivalence of expression e and product system A.                                t
                                                                                              u


Now we use Lemma 4 to get expressions for the product systems with globals.
                 R. Phawade: Kleene Theorem for Labelled Free Choice Nets         149



Theorem 3. Let A be a product system with globals, having same source prop-
erty, defined over Σ. Then for the language of A, we can compute a connected
expression with cables, having equal source property.
 Proof Sketch. Given product system A = hA1 , . . . , AK i may not have sepa-
ration of labels property, i.e. for a global action a, a component Ai may have
many places with outgoing local a-moves. Using globals we rename local a-moves
appropriately across all such component Ai ’s, to get a new product system H
having separation of labels property over a new distributed alphabet. Then we
apply Lemma 4 to get an expression for product H, which is renamed back to
get an expression for the language of A.                                     t
                                                                             u

5.2   Synthesis of Systems from Expressions
Using the construction of Antimirov [1], which in polynomial time gives us a finite
automaton of size O(wd(s)) for a regular expression s using partial derivatives
as states, we produce product automata for our expressions.

Lemma 5 ([22]). Let e be a connected expression with unique sites. Then there
exists a product system A with separation of labels accepting Lang(e) as its
language. If e has equal choice, then A is conflict-equivalent.

    We use Lemma 5 to prove Lemma 6, which allows us to interrelate connected
expressions with cables defined over a distribution and connected expression
defined over a distributed alphabet.

Lemma 6. Let Σ be a distributed alphabet. Let e be a connected expression with
cables, having equal source property and unique sites. Then we can compute a
product system with globals for Lang(e), and having separation of labels along
with same source property. Moreover, for each a in Σ, for each a-duct we produce
one local a-move. And, for each a-cable we get one global a-move of A.
 Proof Sketch. Consider a global action a and a location i in loc(a). For an
a-cable d we construct an a-global by giving a local a-move, for each a-duct
d[i] = (B, X) of si . Since B is a block in Parta (si ), we get a unique place p for
it using a-bifurcation, but X may not be a block and there may exist another
a-effect Y of B (so (B, Y ) can be a component of another a-cable d0 ), so we can
not use bifurcation directly to get a place for X. Here we employ the trick of
renaming X to X 0 so that X 0 is a block. Take a local action c in Init(X). As X
and Y are disjoint, each distinct occurrence of c in si corresponds to either X
or Y , so we rename each occurrence of c by cX to get s0i over a new alphabet Γi0 ,
and similarly X 0 from X, and B 0 from B. This renaming is well-defined. Now
X 0 is a block in the PartcX (s0i ). We construct A0i from s0i , where we get a unique
place q for X 0 also, therefore we get a local move (p, a, q) corresponding to a-duct
(B 0 , X 0 ) of s0i . Renaming back cX to c in A0i to get Ai over Σi , for language of
si , we get a local a-move (p, a, q) in Ai corresponding to a-duct (B, X).           t
                                                                                     u
     Next we present construction of products with globals having same source
property from connected expressions with cables, having equal source property.
150      PNSE’16 – Petri Nets and Software Engineering



Theorem 4. Let e be a connected expression with cables, having equal source
property, defined over Σ. Then for the language of e, we can compute a product
system with globals having same source property.
Proof. Given connected expression e may not have unique sites property. So
first, we use cables of e to do the appropriate renaming to get an expression e0
with cables, over a new alphabet Σ 0 , and having unique sites property. Now we
can apply Lemma 6 on e0 to get a product A0 with globals and having separation
of labels property, for its language. In the last part, we rename back the local
moves in A0 to get a product A with globals for the language of expression e.
      Since expression e has equal source property, the set of cables(a) can be
partitioned into buckets such that two a-cables belong to a bucket iff they have
same set of pre-blocks. Because of same source property of expression e, an a-
duct can appear as a component of many a-cables belonging to same bucket. But
it can not be a component of two a-cables belonging to two different buckets.
Without loss of generality assume that loc(a) = {1, . . . , l}. Let (B1 , . . . , Bl ) be
the pre-tuple of a-cables of bucket Z of the partition of cables(a). For each i
in loc(a), replace each occurrence of letter a in expression si , corresponding to
Init(Bi ) by aZ , to get an expression s0i over alphabet Σi0 .
      So we get connected expression e0 = (s01 , . . . , s0k ) over distributed alphabet
Σ = (Σ10 , . . . , Σk0 ). This expression has unique sites property, and continues to
    0

have equal source property. Each a-duct of si , corresponds to some aZ -duct of
s0i , and each a-cable to some aZ -cable of e0 . Note that there might be many
aZ -cables .
      For language of e0 , we get product system A0 = hA01 , . . . , A0k i by applying
Lemma 6 over distributed alphabet Σ 0 having separation of labels. For each aZ -
duct we get an aZ -move and for each aZ -cable we get an aZ -global in A0 . It has
same source property since e0 had equal source property.
      Replacing each local action hp, aZ , qi of A0i by hp, a, qi we get Ai , for each i
in loc(a). We repeat this for all global actions, to get product system A over Σ.
Hence, for each aZ -global of system H, we get an a-global for system A, which
continues to have same source property. Since renamings are well defined in first
and last part of the proof we get that Lang(e) = Lang(A).                               t
                                                                                        u

Example 6. Consider the connected expression e = f sync(r1 , s1 ) of Example 5.
A cables(a) relation for e is A set cables(a) = {d1 = ((r1 , r2 ), (s1 , s2 )), d2 =
((r1 , r3 ), (s1 , s3 )), d3 = ((r4 , r5 ), (s4 , s5 )), d4 = ((r4 , r6 ), (s4 , s6 ))}. As shown in
Example 5, expression e equal source, and it does not have unique sites property.
    In the construction, a-cables d1 and d2 are put into one bucket z1 and and d3
and d4 are put into bucket z2 . So the renamed expression is e0 = f sync(((a1 b +
a1 c)(a2 b+a2 c))∗ , ((a1 d+a1 e)(a2 d+a2 e))∗ ). This expression has unique sites. See
that each a-duct also gets renamed, for example after renaming a-duct (r1 , r2 )
becomes an a1 -duct (r10 , r20 ) and a-duct (s4 , s5 ) becomes an a2 -duct (s04 , s05 ),
so on. So we have two sets of cables now for two global actions a1 and a2 :
cables(a1 ) = {d01 = ((r10 , r20 ), (s01 , s02 )), d02 = ((r10 , r30 ), (s01 , s03 ))} and cables(a2 ) =
{d03 = ((r40 , r50 ), (s04 , s05 )), d04 = ((r40 , r60 ), (s04 , s06 ))}. Now applying Lemma 6 we get
                          R. Phawade: Kleene Theorem for Labelled Free Choice Nets                           151




        start        r1                      start        s1                  globals(a1 ) = {
                                                                                   a1            a1
                                                                              ((r1 −→ r2 ), (s1 −→ s2 )),
                                1                                    1
                            a                                    a                 a1            a1
                 a1                                   a1                      ((r1 −→ r3 ), (s1 −→ s3 ))}.
    b     r2                    r3       d     s2                    s3       globals(a2 ) = {
                                     c                                    e        a2            a2
                 b                                    d                       ((r4 −→ r5 ), (s4 −→ s5 )),
                            c                                    e                 a2            a2
                                                                              ((r4 −→ r6 ), (s4 −→ s6 ))}.
                     r4                                   s4
                            a2                                   a2
            a2                                   a2
          r5                    r6             s5                    s6

                      A01                                  A02


                      Fig. 7. Product system A0 = hA01 , A02 i used in Example 6



a product system which has separation of labels and same source property. So
for the a1 -duct (r10 , r20 ) we get an a1 -move (r10 , a1 , r20 ) and for a2 -duct (s04 , s05 )
we get an a2 -move (s04 , a2 , s05 ), and so forth, in the constructed A0i , where i in
{1, 2}. This intermediate product system with globals is shown in Figure 7. Now
renaming back a1 and a2 by action a in A0i s we get product system A = hA1 , A2 i
for language of e. In this example starting with this product system A, using
Theorem 3, we get the same expression back.



6       Conclusion

We use Theorem 2 and Theorem 3 to get an expression for a labelled 1-bounded
and S-coverable free choice net. The size of the intermediate product system is
linear in the size of net and size of the expression can be exponential in the
size of product system. This exponential blow up in the size is expected because
a component regular expression obtained from the corresponding component
automaton can be of exponential size [9].
    Using Theorem 4 and Theorem 1 we obtain labelled free choice nets from
expression with cables and equal source property. The size of the intermediate
product system is linear in the size of connected expression, as size of each com-
ponent automaton obtained using Antimirov derivatives is linear in the size of
component regular expression [1]. The size of net obtained is linear in the size of
product system with globals. Previously [21], resultant net can have exponential
number of transitions in the size of product system.
    As a next step in this direction, we want to work with free choice nets which
are labelled, where labels may not come from a distributed alphabet.
152     PNSE’16 – Petri Nets and Software Engineering



References
 1. Antimirov, V.: Partial derivatives of regular expressions and finite automaton con-
    structions. Theoret. Comp. Sci. 155(2), 291–319 (1996)
 2. Brzozowski, J.A.: Derivatives of regular expressions. J. ACM 11(4), 481–494 (1964)
 3. Cheng, A., Esparza, J., Palsberg, J.: Complexity results for 1-safe nets. Theor.
    Comput. Sci. 147(1&2), 117–136 (1995)
 4. Desel, J.: A proof of the rank theorem for extended free choice nets. In: Application
    and Theory of Petri Nets. pp. 134–153 (1992)
 5. Desel, J., Esparza, J.: Free choice Petri nets. Cambridge University Press, New
    York, USA (1995)
 6. Esparza, J., Silva, M.: A polynomial-time algorithm to decide liveness of bounded
    free choice nets. Theoret. Comp. Sci. 102(1), 185–205 (1992)
 7. Garg, V.K., Ragunath, M.: Concurrent regular expressions and their relationship
    to petri nets. Theoret. Comp. Sci. 96(2), 285–304 (1992)
 8. Grabowski, J.: On partial languages. Fund. Inform. IV(2), 427–498 (1981)
 9. Gruber, H., Holzer, M.: Finite automata, digraph connectivity, and regular expres-
    sion size. In: ICALP(2). pp. 39–50 (2008)
10. Hack, M.H.T.: Analysis of production schemata by Petri nets. Project Mac Report
    TR-94, MIT (1972)
11. Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to automata theory, lan-
    guages, and computation - international edition (2. ed). Addison-Wesley (2003)
12. Kleene, S.C.: Representation of events in nerve nets and finite automata. In: Au-
    tomata studies. pp. 3–41. Princeton (1956)
13. Kozen, D.: A completeness theorem for kleene algebras and the algebra of regular
    events. Inf. Comput. 110(2), 366–390 (1994)
14. Lodaya, K.: Product automata and process algebra. In: SEFM. pp. 128–136. IEEE
    (2006)
15. Lodaya, K., Mukund, M., Phawade, R.: Kleene theorems for product systems. In:
    DCFS, Proceedings. LNCS, vol. 6808. Springer (2011)
16. Mirkin, B.G.: An algorithm for constructing a base in a language of regular ex-
    pressions. Engg. Cybern. 5, 110–116 (1966)
17. Mukund, M.: Automata on distributed alphabets. In: D’Souza, D., Shankar, P.
    (eds.) Modern Applications of Automata Theory. World Scientific (2011)
18. Phawade, R.: Direct product representation of labelled free choice nets. Int. J.
    Comp. Appl. 99(16), 1–8 (2014)
19. Phawade, R.: Labelled Free Choice Nets, finite Product Automata, and Expres-
    sions. Ph.D. thesis, Homi Bhabha National Institute (2015)
20. Phawade, R.: Kleene theorem for labelled free choice nets without distributed
    choice. Tech. rep., Indian Institute of Technology Bombay (2016), https://www.
    cse.iitb.ac.in/internal/techreports/reports/TR-CSE-2016-79.pdf
21. Phawade, R., Lodaya, K.: Kleene theorems for labelled free choice nets. In: Proc.
    PNSE. CEUR Workshop Proceedings, vol. 1160, pp. 75–89. CEUR-WS.org (2014)
22. Phawade, R., Lodaya, K.: Kleene theorems for synchronous products with match-
    ing. Trans. on Petri nets and other models of concurrency X, 84–108 (2015)
23. Salomaa, A.: Two complete axiom systems for the algebra of regular events. J.
    ACM 13(1), 158–169 (1966)
24. Thiagarajan, P., Voss, K.: In praise of free choice nets. In: European Workshop on
    Applications and Theory in Petri Nets. pp. 438–454 (1984)
25. Zielonka, W.: Notes on finite asynchronous automata. Inform. Theor. Appl. 21(2),
    99–135 (1987)