=Paper= {{Paper |id=Vol-3072/paper12 |storemode=property |title=Decidability of Two Truly Concurrent Equivalences for Finite Bounded Petri Nets (11) |pdfUrl=https://ceur-ws.org/Vol-3072/paper12.pdf |volume=Vol-3072 |authors=Arnaldo Cesco,Roberto Gorrieri |dblpUrl=https://dblp.org/rec/conf/ictcs/CescoG21 }} ==Decidability of Two Truly Concurrent Equivalences for Finite Bounded Petri Nets (11) == https://ceur-ws.org/Vol-3072/paper12.pdf
 Decidability of Two Truly Concurrent Equivalences for
                Finite Bounded Petri Nets

Arnaldo Cesco[0000−0002−3417−1890]           and      Roberto Gorrieri[0000−0001−5502−0584]
    arnaldo.cesco@studio.unibo.it                    roberto.gorrieri@unibo.it ∗

                    Dipartimento di Informatica — Scienza e Ingegneria
              Università di Bologna, Mura A. Zamboni 7, 40127 Bologna, Italy



       Abstract. We prove that (strong) fully-concurrent bisimilarity and causal-net
       bisimilarity are decidable for finite bounded Petri nets. The proofs are based
       on a generalization of the ordered marking proof technique that Vogler used to
       demonstrate that (strong) fully-concurrent bisimilarity (or, equivalently, history-
       preserving bisimilarity) is decidable on finite safe nets.

       Keywords: Behavioral equivalences · True concurrency · Fully-concurrent bisim-
       ilarity · Causal-net bisimilarity · Decidability.


1   Introduction
Truly concurrent equivalences, such as fully-concurrent bisimilarity [2] or causal-net
bisimilarity [9,12], have been advocated as very suitable equivalences to compare the
behavior of Petri nets. However, most results about their decidability [19,14,20] are
limited to the class of finite safe nets, i.e., nets whose places can hold one token at most.
Our main aim is to extend some of these decidability proofs to the case of bounded nets.
     In his seminal paper [19], Vogler demonstrated that (strong) fully-concurrent bisim-
ilarity is decidable on finite safe nets. His proof is based on an alternative characteriza-
tion of fully-concurrent bisimulation, called ordered marking bisimulation (OM bisimu-
lation, for short), which represents the current global state of the net system as a marking
equipped with a pre-ordering on its tokens, reflecting the causal ordering of the tran-
sitions that produced the tokens. However, the ordered marking idea works well if the
marking is a set (as it is the case for safe nets), and so it is not immediate to generalize
it to bounded nets, whose markings are, in general, multisets. The first contribution of
this paper is the definition of an alternative token game semantics for Petri nets which
is defined according to the individual token philosophy, rather than the collective to-
ken philosophy, as it is customary for Petri nets. This is obtained by representing each
token as a pair (s, i), where s is the name of the place where the token is on, and i is
a natural number (an index) assigned to the token in such a way that different tokens
on the same place have different indexes. In this way, a multiset over the set of places
(i.e., a marking) is turned into a set of indexed places. The main advantage of hav-
ing turned multisets into sets is that Vogler’s ordered marking idea can be used also in
   ∗ Copyright 2021 for this paper by its authors. Use permitted under Creative Commons Li-

cense Attribution 4.0 International (CC BY 4.0).
2         A. Cesco and R. Gorrieri

this richer context, yielding ordered indexed markings. The second contribution of the
paper is to show that (strong) fully-concurrent bisimulation can be equivalently charac-
terized as a suitable bisimulation over ordered indexed markings, called OIM bisimu-
lation, generalizing the approach by Vogler [19]. An OIM bisimulation is formed by a
set of triples, each composed of two ordered indexed markings and a relation between
these two ordered indexed markings that respects the pre-orders. The decidability of
(strong) fully-concurrent bisimilarity on finite bounded nets follows by observing that
the reachable indexed markings are finitely many, so the ordered indexed markings of
interest are finitely many as well, so that there can only be finitely many candidate rela-
tions (which are all finite) to be OIM-bisimulations. The third contribution of the paper
is to show that our generalization of Vogler’s proof technique can be adapted to prove
the decidability also of another truly concurrent behavioral equivalence, namely causal-
net bisimilarity [12], a behavioral equivalence that coincides with structure-preserving
bisimilarity [9], and which is slightly finer than (strong) fully-concurrent bisimilarity.
     The paper is organized as follows. Section 2 recalls the basic definitions about Petri
nets. Section 3 recalls the causal semantics, including the definition of causal-net bisim-
ilarity and (strong) fully-concurrent bisimilarity. Section 4 introduces indexed markings
and the alternative, individual, token game semantics. Section 5 describes indexed or-
dered markings and their properties. Section 6 introduces OIM-bisimulation, proves
that its equivalence coincides with (strong) fully-concurrent bisimilarity and, moreover,
shows that it is decidable. Section 7 hints that also causal-net bisimilarity is decidable.
Finally, Section 8 discusses related literature and some future research. For lack of
space, longer proofs are to be found in the preliminary full version of this article [5].


2     Basic Definitions
Definition 1. (Multiset) Let N be the set of natural numbers. Given a finite set S, a
multiset over S is a function m : S → N. The support set dom(m) of m is {s ∈ S m(s) 6=
0}. The set of all multisets over S, denoted by M (S), is ranged over by m. We write
s ∈ m if m(s) > 0. The multiplicity of s in m is given by the number m(s). The size of m,
denoted by |m|, is the number ∑s∈S m(s), i.e., the total number of its elements. A multiset
m such that dom(m) = 0/ is called empty and is denoted by θ . We write m ⊆ m0 if m(s) ≤
m0 (s) for all s ∈ S. Multiset union ⊕ is defined as follows: (m⊕m0 )(s) = m(s)+m0 (s).
Multiset difference            is defined as follows: (m1 m2 )(s) = max{m1 (s) − m2 (s), 0}.
The scalar product of a number j with m is the multiset j · m defined as ( j · m)(s) =
j · (m(s)). By si we also denote the multiset with si as its only element. Hence, a multiset
m over S = {s1 , . . . , sn } can be represented as k1 · s1 ⊕ k2 · s2 ⊕ . . . ⊕ kn · sn , where k j =
m(s j ) ≥ 0 for j = 1, . . . , n.                                                                   2

Definition 2. (Place/Transition net) A labeled Place/Transition Petri net (P/T net for
short) is a tuple N = (S, A, T ), where
    • S is the finite set of places, ranged over by s (possibly indexed),
    • A is the finite set of labels, ranged over by ` (possibly indexed), and
    • T ⊆ (M (S) \ {θ }) × A × M (S) is the finite set of transitions, ranged over by t
      (possibly indexed).
     Decidability of Two Truly Concurrent Equivalences for Finite Bounded Petri Nets                  3

Given a transition t = (m, `, m0 ), we use the notation:
  • •t to denote its pre-set m (which cannot be an empty multiset) of tokens to be con-
    sumed;
  • l(t) for its label `, and
  • t • to denote its post-set m0 of tokens to be produced.
                                                          l(t)
Hence, transition t can be also represented as •t −→ t • . We also define the flow function
flow : (S × T ) ∪ (T × S) → N as follows: for all s ∈ S, for all t ∈ T , flow(s,t) = •t(s)
and flow(t, s) = t • (s). We will use F to denote the flow relation {(x, y) ∈ (S × T ) ∪ (T ×
S) flow(x, y) > 0}. Finally, we define pre-sets and post-sets also for places as follows:
• s = {t ∈ T    s ∈ t • } and s• = {t ∈ T s ∈ •t}.                                          2
     In the graphical description of finite P/T nets, places (represented as circles) and
transitions (represented as boxes) are connected by directed arcs. The arcs may be la-
beled with the number representing how many tokens of that type are to be removed
from (or produced into) that place; no label on the arc is interpreted as the number one,
i.e., one token flowing on the arc. This numerical label of the arc is called its weight.
Definition 3. (Marking, P/T net system) A multiset over S is called a marking. Given
a marking m and a place s, we say that the place s contains m(s) tokens, graphi-
cally represented by m(s) bullets inside place s. A P/T net system N(m0 ) is a tuple
(S, A, T, m0 ), where (S, A, T ) is a P/T net and m0 is a marking over S, called the initial
marking. We also say that N(m0 ) is a marked net.                                         2
    The sequential semantics of a marked net is defined by the so-called token game,
describing the flow of tokens through it. There are several possible variants (see, e.g.,
[8]) of the token game; below we present the so-called collective interpretation, accord-
ing to which multiple tokens on the same place are indistinguishable, while in Section 4
we introduce a novel variant following the so-called individual interpretation.
Definition 4. (Token game) A transition t is enabled at m, denoted m[ti, if •t ⊆ m. The
firing of t enabled at m produces the marking m0 = (m •t) ⊕ t • , written m[tim0 .   2
Definition 5. (Firing sequence, reachable marking) A firing sequence starting at m
is defined inductively as follows:
  • m[εim is a firing sequence (where ε denotes an empty sequence of transitions) and
  • if m[σ im0 is a firing sequence and m0 [tim00 , then m[σtim00 is a firing sequence.
If σ = t1 . . .tn (for n ≥ 0) and m[σ im0 is a firing sequence, then there exist m1 , . . . , mn+1
such that m = m1 [t1 im2 [t2 i . . . . . . mn [tn imn+1 = m0 , and σ = t1 . . .tn is called a transition
sequence starting at m and ending at m0 . The set of reachable markings from m is [mi =
{m0 ∃σ .m[σ im0 }. Note that the set of reachable markings may be countably infinite
for finite P/T nets.                                                                                   2
Definition 6. (Classes of finite P/T Nets) A finite marked P/T net N = (S, A, T, m0 ) is:
  • safe if every place contains at most one token under every reachable marking, i.e.
    ∀s ∈ S , m(s) ≤ 1 for all m ∈ [m0 i.
  • bounded if the number of token in any place is bounded by some k for any reachable
    marking, i.e. ∃k ∈ N, ∀s ∈ S such that m(s) ≤ k for all m ∈ [m0 i. If this is the case,
    we say that the net is k-bounded (hence, a safe net is just a 1-bounded net).        2
4          A. Cesco and R. Gorrieri

3      Causality-based Semantics

We outline some definitions adapted from literature (cf., e.g., [11,1,16,19,9,12]).

Definition 7. (Acyclic net) A P/T net N = (S, A, T ) is acyclic if its flow relation F is
acyclic (i.e., 6 ∃x such that x F + x, where F + is the transitive closure of F).

     The concurrent semantics of a marked P/T net is defined by a class of particular
acyclic safe nets, where places are not branched (hence they represent a single run) and
all arcs have weight 1. This kind of net is called causal net. We use the name C (possibly
indexed) to denote a causal net, the set B to denote its places (called conditions), the set
E to denote its transitions (called events), and L to denote its labels.

Definition 8. (Causal net) A causal net is a finite marked net C(m0 ) = (B, L, E, m0 )
satisfying the following conditions:

 1. C is acyclic;
 2. ∀b ∈ B |• b| ≤ 1 ∧(|b• | ≤ 1 (i.e., the places are not branched);
                        1 if • b = 0/
 3. ∀b ∈ B m0 (b) =
                        0 otherwise;
 4. ∀e ∈ E • e(b) ≤ 1 ∧ e• (b) ≤ 1 for all b ∈ B (i.e., all the arcs have weight 1).

We denote by Min(C) the set m0 , and by Max(C) the set {b ∈ B b• = 0}./
A sequence of events σ ∈ E ∗ is maximal (or complete) if it contains all events in E,
each taken once only.                                                              2

     Note that any reachable marking of a causal net is a set, i.e., this net is safe. As the
initial marking of a causal net is fixed by its shape, in the following, in order to make
the notation lighter, we often omit the indication of the initial marking (also in their
graphical representation), so that the causal net C(m0 ) is denoted by C.

Definition 9. (Moves of a causal net) Given two causal nets C = (B, L, E, m0 ) and
C0 = (B0 , L, E 0 , m0 ), we say that C moves in one step to C0 through e, denoted by C[eiC0 ,
if • e ⊆ Max(C), E 0 = E ∪ {e} and B0 = B ∪ e• .                                           2

Definition 10. (Folding and Process) A folding from a causal net C = (B, L, E, m0 )
into a net system N(m0 ) = (S, A, T, m0 ) is a function ρ : B ∪ E → S ∪ T , which is type-
preserving, i.e., such that ρ(B) ⊆ S and ρ(E) ⊆ T , satisfying the following:

    • L = A and l(e) = l(ρ(e)) for all e ∈ E;
    • ρ(m0 ) = m0 , i.e., m0 (s) = |ρ −1 (s) ∩ m0 |;
    • ∀e ∈ E, ρ(• e) = • ρ(e), i.e., ρ(• e)(s) = |ρ −1 (s) ∩ • e| for all s ∈ S;
    • ∀e ∈ E, ρ(e• ) = ρ(e)• , i.e., ρ(e• )(s) = |ρ −1 (s) ∩ e• | for all s ∈ S.

A pair (C, ρ), where C is a causal net and ρ a folding from C to a net system N(m0 ), is
a process of N(m0 ), written also as π.                                               2
     Decidability of Two Truly Concurrent Equivalences for Finite Bounded Petri Nets                  5

Definition 11. (Partial orders of events from a process) From a causal net C =
(B, L, E, m0 ), we can extract the partial order of its events EC = (E, ), where e1  e2
if there is a path in the net from e1 to e2 , i.e., if e1 F∗ e2 , where F∗ is the reflexive and
transitive closure of F, which is the flow relation for C. Given a process π = (C, ρ), we
denote  as ≤π , i.e. given e1 , e2 ∈ E, e1 ≤π e2 if and only if e1  e2 .                    2

Definition 12. (Moves of a process) Let N(m0 ) = (S, A, T, m0 ) be a net system and let
(Ci , ρi ), for i = 1, 2, be two processes of N(m0 ). We say that (C1 , ρ1 ) moves in one step
                                                e
to (C2 , ρ2 ) through e, denoted by (C1 , ρ1 ) −→ (C2 , ρ2 ), if C1 [eiC2 and ρ1 ⊆ ρ2 .
                                                                       e
If π1 = (C1 , ρ1 ) and π2 = (C2 , ρ2 ), we denote the move as π1 −→ π2 .                    2

Definition 13. (Causal-net bisimulation) Let N = (S, A, T ) be a finite P/T net. A causal-
net bisimulation is a relation R, composed of triples of the form (ρ1 ,C, ρ2 ), where, for
i = 1, 2, (C, ρi ) is a process of N(m0i ) for some m0i , such that if (ρ1 ,C, ρ2 ) ∈ R then

                                        e
 i) ∀t1 ,C0 , ρ10 such that (C, ρ1 ) −→ (C0 , ρ10 ), where ρ10 (e) = t1 , ∃t2 , ρ20 such that
                e
    (C, ρ2 ) −→ (C0 , ρ20 ), where ρ20 (e) = t2 , and (ρ10 ,C0 , ρ20 ) ∈ R;
                                                         e
ii) symmetrically, ∀t2 ,C0 , ρ20 such that (C, ρ2 ) −→ (C0 , ρ20 ), where ρ20 (e) = t2 , ∃t1 , ρ10
                          e
    such that (C, ρ1 ) −→ (C0 , ρ10 ), where ρ10 (e) = t1 , and (ρ10 ,C0 , ρ20 ) ∈ R.

     Two markings m1 and m2 of N are cn-bisimilar (or cn-bisimulation equivalent),
denoted by m1 ∼cn m2 , if there exists a causal-net bisimulation R containing a triple
(ρ10 ,C0 , ρ20 ), where C0 contains no events and ρi0 (Min(C0 )) = ρi0 (Max(C0 )) = mi for
i = 1, 2.                                                                               2

    Causal-net bisimilarity, which coincides with structure-preserving bisimilarity [9],
observes not only the events, but also the structure of the distributed state. A weaker
equivalence, observing only the events performed, is fully-concurrent bisimulation (fc-
bisimulation, for short) [2] , whose definition was inspired by previous notions of equiv-
alence on other models of concurrency [17,6,10].

Definition 14. (Fully-concurrent bisimilarity) Given a finite P/T net N = (S, A, T ), a
fully-concurrent bisimulation is a relation R, composed of triples of the form (π1 , f , π2 )
where, for i = 1, 2, πi = (Ci , ρi ) is a process of N(m0i ) for some m0i and f is an isomor-
phism between EC1 and EC2 , such that if (π1 , f , π2 ) ∈ R then:
                              e
 i) ∀t1 , π10 such that π1 −→
                            1
                              π10 , where ρ10 (e1 ) = t1 , there exist e2 ,t2 , π20 , f 0 such that
              e
     1. π2 −→  2
                    π20 where ρ20 (e2 ) = t2 ,
     2. f 0 = f ∪· {e1 7→ e2 },
     3. (π10 , f 0 , π20 ) ∈ R;
ii) symmetrically, if π2 moves first.

    Two markings m1 , m2 of N are fc-bisimilar, denoted by m1 ∼ f c m2 if a fully-concurrent
bisimulation R exists, containing a triple (π10 , 0,
                                                  / π20 ) where πi0 = (Ci0 , ρi0 ) such that Ci0
contains no events and ρi (Min(Ci )) = ρi (Max(Ci0 )) = mi for i = 1, 2.
                         0        0       0                                                   2
6        A. Cesco and R. Gorrieri

4    Indexed Marking Semantics
We define an alternative, novel token game semantics for Petri nets according to the
individual token philosophy. A token is represented as an indexed place, i.e. a pair
(s, i), where s is the name of the place where the token is on, and i is an index assigned
to the token such that different tokens on the same place have different indexes. In this
way, a standard marking is turned into an indexed marking, i.e. a set of indexed places.

Definition 15. (Indexed marking) Given a finite net N = (S, A, T ), an indexed mark-
ing is a function k : S →        − P f in (N) associating to each place a finite set of natural num-
bers, such that the associated (de-indexed) marking m is obtained as m(s) = | k(s) | for
each s ∈ S. In this case, we write α(k) = m. The support set dom(k) is {s ∈ S k(s) 6= 0}.         /
The set of the indexed markings with support set S is denoted by K(S).
    An indexed place is a pair (s, i) such that s ∈ S and i ∈ N. A set of indexed places
{(s1 , i1 ), . . . , (sn , in )} ∈ P(S × N) is also another way of describing an indexed mark-
ing.1 Hence, K(S) ⊆ P(S × N). Each element of an indexed marking, i.e. each indexed
place, is a token.
    An indexed marking k ∈ K(S) is closed if k(s) = {1, . . . , | k(s) |} for all s ∈ dom(k). If
there exists a marked net N(m0 ) and a closed indexed marking k0 such that α(k0 ) = m0 ,
we say that k0 is an initial indexed marking of N, and we write N(k0 ).                             2

   We define the difference between an indexed marking k and a marking m (such that
                                       − M (S) →
m(s) ≤ |k(s)| for all s ∈ S) as : K(S) →       − P(K(S))

                              k    θ ={k}
                     k     (s ⊕ m) =(k            s)   m
                {k1 , . . . kn }   m =k1          m ∪ . . . ∪ kn       m
                                    0     0   0            0       0
                     k     s = {k        k (s ) = k(s ) if s 6= s , or
                                                   = k(s) \ {n} if s0 = s and n ∈ k(s)}

                                                                  − M (S) →
and the union of an indexed marking k and a marking m as  : K(S) →       − K(S)

                                              kθ = k
                                        k  (s ⊕ m) = (k  s)  m
                                                  k  s = k0

where for all s0 ∈ S , k0 (s0 ) is defined as:
                 (
        0 0        k(s0 )              if s0 6= s
       k (s ) =
                   k(s) ∪ {n}          if s0 = s, n = min(k(s)) where k(s) = N \ k(s)

where we use min(H), with H ∈ P(N), to denote the least element of H. Note that
the difference between an indexed marking and a marking is a set of indexed markings:
    1 Being a set, we are sure that 6 ∃ j , j such that s = s ∧ i = i , i.e., each token on a
                                         1 2             j1   j2    j1 j2
place s has an index different from the index of any other token on s.
     Decidability of Two Truly Concurrent Equivalences for Finite Bounded Petri Nets                 7

since it makes no sense to prefer a single possible execution over another, all possible
choices for n ∈ k(s) are to be considered. The token game is modified accordingly,
taking into account the individual token interpretation.

Definition 16. (Token game with indexed markings) Given a net N = (S, A, T ) and
an indexed marking k ∈ K(S) such that m = α(k), we say that a transition t ∈ T is
enabled at k if •t ⊆ m, denoted kJti. If t occurs, the firing of t enabled at k produces the
indexed marking k0 , denoted kJtik0 , if

  - ∃k00 ∈ k •t and
  - k0 = k00  t • .                                                                                2

    Note that there can be more than one indexed marking produced by the firing of t,
but for all k0 such that kJtik0 , it is true that α(k0 ) = m •t ⊕ t • .
    From now on, indexed markings will be always represented as sets of indexed
places, i.e., we denote an indexed marking k by {(s1 , n1 ) . . . (si , ni )} where | k | = i.


                  s1                                   s1                                   s1
        a)            1                     b)             1                    c)


              u                                    u                                    u
                  2                                    2                                    2
                      1
             s2   2 3                            s2    1 3                            s2    1 2
                                                                                            3 4




              v                                    v                                    v


             s3                                  s3        1                          s3        1




Fig. 1. Execution of the transition labeled by v, then of the transition labeled by u, on a bounded
net with initial marking m0 = s1 ⊕ 3s2 . Tokens to be consumed are in red, generated ones in blue.



Example 1. In Figure 1(a) a simple net N is given. The initial marking is m0 = s1 ⊕ 3s2 ,
therefore the marked net N(m0 ) is 5-bounded. The initial indexed marking is k0 =
{(s1 , 1), (s2 , 1), (s2 , 2), (s2 , 3)}. Let us suppose that transition t2 , labeled by v, occurs.
There are three possible ways to remove a token from s2 : removing (s2 , 1), or removing
(s2 , 2), or removing (s2 , 3). Indeed, the operation k0 •t2 yields a set of three possible
indexed markings, each one a possible result of the difference: {{(s1 , 1), (s2 , 2), (s2 , 3)},
{(s1 , 1), (s2 , 1), (s2 , 3)}, {(s1 , 1), (s2 , 1), (s2 , 2)}}. Let us choose, for the sake of the ar-
gument, that the token deleted by t2 is (s2 , 2), i.e. choose k0 = {(s1 , 1), (s2 , 1), (s2 , 3)}.
The union k0 t2• easily yields the indexed marking k1 = {(s1 , 1), (s2 , 1), (s2 , 3), (s3 , 1)},
as depicted in Figure 1(b). Note that this choice was arbitrary and two other values
of k1 are possible. Indeed, from Definition 16, we know that the transition relation
8         A. Cesco and R. Gorrieri

                                        generated deleted untouched
                               m[tim0       t•      •t      m •t
                               kJtik0    k0 \ k00 k \ k00     k00

Table 1. Different notation for tokens in the token game. On the first line, the collective case. On
the last one, the individual case.



on indexed markings is nondeterministic. However, the resulting marked net is the
same for all three cases, that is, the same of Figure 1(b) without indexes. Now we
suppose that (given the indexed marking k1 from above) transition t1 , labeled by u,
occurs. In that case, k1 •t1 yields the singleton set {{(s2 , 1), (s2 , 3), (s3 , 1)}}, there-
fore we choose k00 = {(s2 , 1), (s2 , 3), (s3 , 1)}. Since t1• = s2 ⊕ s2 , we show in detail how
k00  t1• is computed. First, we apply the definition for union with non-singleton mul-
tisets: k00  (s2 ⊕ s2 ) = (k00  s2 )  s2 . Then, we compute k00  s2 : since the least free
index for the place s2 is 2, k00  s2 = {(s2 , 1), (s2 , 2)(s2 , 3), (s3 , 1)}. Now we apply again
the definition: note that this time the least free index for s2 is 4, and the final result
is k2 = {(s2 , 1), (s2 , 2)(s2 , 3), (s2 , 4), (s3 , 1)}. The resulting marked net is depicted in
Figure 1(c).                                                                                    2

    The notation for tokens in the token game has become slightly more unintuitive,
so in Table 1 we provide a comparison between the one used in the previous sections
and the one we will use in the following part of this work. Given a transition t such
that kJtik0 and m[tim0 , assume k00 ∈ k •t such that k0 = k00  t • , where α(k) = m and
α(k0 ) = m0 .

Definition 17. (Firing sequence with IM) Given a finite net N = (S, A, T ) and an in-
dexed marking k, a firing sequence starting at k is defined inductively as follows:
    • kJεik is a firing sequence (where ε denotes an empty sequence of transitions) and
    • if kJσ ik0 is a firing sequence and k0 Jtik00 , then kJσtik00 is a firing sequence.
The set of reachable indexed markings from k is Jki = {k0 ∃σ . kJσ ik0 }. Given a net
N(k0 ), we call Jk0 i the set of reachable indexed marking of N, denoted by IM(N). 2

Proposition 1. Given a finite bounded net N = (S, A, T, m0 ), the set IM(N) ⊆ K(S) of
reachable indexed markings is finite.
Proof. Full detail in the preliminary full version of this article [5].


5     Ordered Indexed Marking Semantics
Vogler [19] introduces ordered markings (OM for short) to describe the state of a safe
marked net. They consist of a safe marking together with a preorder which reflects
precedences in the generation of tokens. This is reflected in the token game for OM: if
s precedes some s00 in the old OM and s00 is used to produce a new token s0 , then s must
precede s0 in the new OM.
     Decidability of Two Truly Concurrent Equivalences for Finite Bounded Petri Nets                           9

    The key idea of Vogler’s decidability proof for safe nets is that the OM obtained by
a sequence of transitions of a net is the same as the one induced by a process, whose
events correspond to that sequence of transitions, on the net itself. Since ordered mark-
ings are finite objects, Vogler defines OM-bisimulation and shows that it coincides with
fully-concurrent bisimulation. He himself hinted at a possibility [19] of extending the
result to bounded nets, but suggested that it would have been technically quite involved.
    We adapt his approach by defining a semantics based on ordered indexed mark-
ings, taking into account the individual token interpretation of nets, and proving that an
extension to bounded nets is indeed possible.

Definition 18. (Ordered indexed marking) Given a P/T net N = (S, A, T ) and an in-
dexed marking k ∈ K(S), the pair (k, ≤) is an ordered indexed marking if ≤⊆ k × k is a
preorder, i.e. a reflexive and transitive relation. The set of all possible ordered indexed
markings of N is denoted by OIM(N).
    If k0 is the initial indexed marking of N, we define the initial ordered indexed mark-
ing init(N) as (k0 , k0 × k0 ). If the initial indexed marking is not clear from the context,
we write init(N(k0 )) to denote the initial ordered indexed marking.                       2

Definition 19. (Token game with ordered indexed markings) Given a P/T net N =
(S, A, T ) and an ordered indexed marking (k, ≤), we say that a transition t ∈ T is en-
abled at (k, ≤) if kJti; this is denoted by (k, ≤)Jti.
    The firing of t enabled at (k, ≤) may produce an ordered indexed marking (k0 , ≤0 )
– and we denote this by (k, ≤)Jti(k0 , ≤0 ) – where:

  • k00 ∈ k •t such that k0 = k00  t •
  • for all (sh , ih ), (s j , i j ) ∈ k0 , (sh , ih ) ≤0 (s j , i j ) if and only if:
     1. (sh , ih ), (s j , i j ) ∈ k00 and (sh , ih ) ≤ (s j , i j ), or
     2. (sh , ih ), (s j , i j ) ∈ k0 \ k00 , or
     3. (sh , ih ) ∈ k00 , (s j , i j ) ∈ k0 \ k00 and ∃(sl , il ) ∈ k \ k00 such that (sh , ih ) ≤ (sl , il ). 2

     Note that, as for indexed markings, many different ordered indexed markings are
produced from the firing of t. This means that also the transition relation for ordered
indexed markings is nondeterministic. Moreover, in the same fashion as Vogler’s work
[19], the preorder reflects the precedence in the generation of tokens, which is not strict,
i.e. if tokens (s1 , n1 ) and (s2 , n2 ) are generated together we have both (s1 , n1 ) ≤ (s2 , n2 )
and (s2 , n2 ) ≤ (s1 , n1 ).

Example 2. Consider again the net in Figure 1 and the first part of the execution of
Example 1, i.e. k0 Jt2 ik1 . According to Definition 18, the initial ordered indexed marking
is (k0 , ≤0 ), where ≤0 = k0 × k0 . When t2 fires, token (s2 , 2) is removed and token (s3 , 1)
is generated, while all other tokens are untouched. Let us denote the preorder induced
by the firing of t2 as ≤1 . According to item 2 of Definition 19, since (s3 , 1) is generated
by the firing of t2 , we have (s3 , 1) ≤1 (s3 , 1). According to item 1 of Definition 19,
the preorder on all tokens untouched by t2 remains the same, therefore e.g. (s2 , 3) ≤1
(s1 , 1) and viceversa. Furthermore, consider (s1 , 1) and (s3 , 1): we have that t2 generates
(s3 , 1), deletes (s2 , 2) and leaves (s1 , 1) untouched. Since (s1 , 1) ≤0 (s2 , 2), by item 3 of
Definition 19 we have (s1 , 1) ≤1 (s3 , 1). The same reasoning applies to all untouched
10        A. Cesco and R. Gorrieri

tokens. Summing up, we have (k0 , ≤0 )Jt2 i(k1 , ≤1 ) where
≤1 =≤0 \{((si , ni ), (s j , n j )) ∈ k0 (si , ni ) = (s2 , 2) ∨ (s j , n j ) = (s2 , 2)} ∪
{((s1 , 1), (s3 , 1)), ((s2 , 1), (s3 , 1)), ((s2 , 3), (s3 , 1)), ((s3 , 1), (s3 , 1))}.     2
Definition 20. (Firing sequence with OIM) A firing sequence starting at (k, ≤) is
defined inductively as follows:
  • (k, ≤)Jεi(k, ≤) is a firing sequence (where ε denotes an empty sequence of transi-
    tions) and
  • if (k, ≤)Jσ i(k0 , ≤0 ) is a firing sequence and (k0 , ≤0 )0 Jti(k00 , ≤00 ), then
    (k, ≤)Jσti(k00 , ≤00 ) is a firing sequence.
The set of reachable ordered indexed markings from (k, ≤) is
    J(k, ≤)i = {(k0 , ≤0 ) ∃σ . (k, ≤)Jσ i(k0 , ≤0 )}.
Given an initial indexed marking k0 , the set of all the reachable ordered indexed mark-
ings of N(k0 ) is denoted by Jinit(N)i.                                               2
Proposition 2. Given a bounded net N = (S, A, T, m0 ), Jinit(N)i is finite.
Proof. The set IM(N) of reachable indexed markings is finite by Proposition 1. The
set of possible preorders for an indexed marking k = {(s1 , n1 ) . . . (s j , n j )} ∈ IM(N) is
finite, because ≤⊆ k × k. Therefore, Jinit(N)i is finite.

5.1    Ordered indexed marking and causality-based semantics
Given a transition sequence σ , there is an operational preorder on tokens obtained by
Definition 20, and a preorder derived from the process ≤π obtained from the causal
net C corresponding to the transition sequence σ . In the following, we introduce some
notation for processes and ordered indexed markings, and relate the two. If π = (C, ρ)
is a process of a marked net N(m0 ) and k0 is the initial indexed marking for N(m0 ) (i.e.
α(k0 ) = m0 and k0 is closed), we also say that π is a process of N(k0 ). Moreover, given
a process π = (C, ρ) of a net N(k0 ) and σ a complete transition sequence of C, we write
init(N)Jπi(k, ≤) if init(N)Jρ(σ )i(k, ≤).
Theorem 1. Let π = (C, ρ) a process of N(k0 ) such that init(N)Jπi(k, ≤).
                                           e
Then (k, ≤)Jti(k0 , ≤0 ) if and only if π −→ π 0 where ρ 0 (e) = t and init(N)Jπ 0 i(k0 , ≤0 ).
Proof. By induction on the sequence σ .e where σ is a complete transition sequence of
C. Complete proof in the preliminary full version of this article [5].

Example 3. In Figure 2(a), the same 5-bounded P/T net N as Figure 1 is depicted, to-
gether with its empty process (we omit the representation of its initial marking). Fig-
ure 2(b,c) shows how the process corresponding to the transition sequence t2 t1 grows.
We consider the same execution as in Example 1, i.e. k0 Jt2 ik1 Jt1 ik2 . For simplicity’s
sake, in the following each condition will be mapped to the place having same subscript
and each event will be mapped to the transition having same label. We will denote each
process πi as the one thus corresponding to causal net Ci . Before any transition fires, we
have init(N) = (k0 , ≤0 ) where ≤0 = k0 × k0 by Definition 18. Not surprisingly, all
     Decidability of Two Truly Concurrent Equivalences for Finite Bounded Petri Nets                       11



                s1                                             b1             b12        b22         b32
a)                  1                                                                                      (C0


            u
                2
                 1
          s2    2 3




            v


          s3




                                                                                         [e2 i
               Jt2 i




                s1                                             b1             b12        b22         b32
b)                  1                                                                                      (C1


            u                                                                                    v
                2
          s2    1 3                                                                 b3


            v


          s3
                                                                                         [e1 i


                    1
               Jt1 i




                s1                                             b1             b12        b22         b32
c)                                                                                                         (C2


            u                                                       u                            v
                2
          s2    1 2
                3 4
                                                         b42            b52
                                                                                         b3
            v


          s3        1




Fig. 2. Execution of the transition labeled by v, then u, on the net of Figure 1 and corresponding
process (only the mapping of maximal conditions to tokens is displayed). Tokens to be consumed
are red, generated ones blue.
12          A. Cesco and R. Gorrieri

     conditions bij are minimal in the causal net C0 and mapped to tokens in the initial in-
dexed ordered marking. The firing of t2 deletes token (s2 , 2) and generates token (s3 , 1);
moreover, since (s2 , 1) ≤0 (s2 , 2) we have (s2 , 1) ≤1 (s3 , 1). Note that b12 ∈ Min(C1 ) but
b3 6∈ Min(C1 ). After the firing of t1 , there are four tokens in place s2 . However, since
(s2 , 2) and (s2 , 4) are generated by t1 , they are greater in ≤2 than (s2 , 1) and (s2 , 3). This
can also be seen at the process level: b12 and b32 are minimal conditions of C2 , while b42
and b52 are not. On the other hand, note that, just as b42 and b3 are not minimal in C2 but
also not related by ≤π2 , also (s2 , 2) and (s3 , 1) are not related by ≤2 .                     2


6      Fully-concurrent Bisimilarity is Decidable

We now define a novel bisimulation relation based on ordered indexed markings, gen-
eralizing the similar idea in [19].

Definition 21. (OIM-bisimulation) Let N = (S, A, T ) be a P/T net. An OIM-bisimulation
is a relation B ⊆ OIM(N) × OIM(N) × P((S × N) × (S × N)) such that if
((k1 , ≤1 ), (k2 , ≤2 ), β ) ∈ B, then:

    • ∀t1 , k10 , ≤01 such that (k1 , ≤1 )Jt1 i(k10 , ≤01 ), (where we assume k100 ∈ k1 •t1 such that k10 =
      k100 t1• ), there exist t20 , k20 , ≤02 (where we assume k200 ∈ k2 •t2 such that k20 = k200 t2• ),
      and for β 0 defined as ∀(s1 , n1 ) ∈ k10 , ∀(s2 , n2 ) ∈ k20 :

                                        (
                        0                    (s1 , n1 ) ∈ k100 , (s2 , n2 ) ∈ k200 , (s1 , n1 ) β (s2 , n2 ), or
            (s1 , n1 ) β (s2 , n2 ) ⇔
                                             (s1 , n1 ) ∈ k10 \ k100 , (s2 , n2 ) ∈ k20 \ k200

      the following hold:
        - (k2 , ≤2 )Jt2 i(k20 , ≤02 ) where ((k10 , ≤01 ), (k20 , ≤02 ), β 0 ) ∈ B and l(t1 ) = l(t2 );
        - ∀(s1 , n1 ) ∈ k1 \ k100 , ∃(s01 , n01 ) ∈ k1 \ k100 , (s02 , n02 ) ∈ k2 \ k200 such that (s1 , n1 ) ≤1
           (s01 , n01 ) ∧ (s01 , n01 ) β (s02 , n02 ) and symmetrically ∀(s2 , n2 ) ∈ k2 \ k200 , ∃(s02 , n02 ) ∈
           k2 \ k200 , (s01 , n01 ) ∈ k1 \ k100 such that (s2 , n2 ) ≤2 (s02 , n02 ) ∧ (s01 , n01 ) β (s02 , n02 )
    • symmetrically, if (k2 , ≤2 ) moves first.

Two markings m1 and m2 of N are OIM-bisimilar, denoted m1 ∼oim m2 , if there exists
an OIM-bisimulation B containing the triple (init(N(k1 )), init(N(k2 ), k1 × k2 ) where,
for i = 1, 2, ki is the initial indexed marking such that mi = α(ki ).                2

    Our aim is to relate ∼ f c and ∼oim and the idea is that two tokens are related by β
if and only if the transition generating one of the two is mapped by f to the transition
generating the other one. Next, we show that fully-concurrent bisimilarity and OIM-
bisimilarity coincide on P/T nets.

Theorem 2. (OIM-bisimilarity and FC-bisimilarity coincide) Let N = (S, A, T ) be a
P/T net and m1 , m2 two markings of N. m1 ∼oim m2 if and only if m1 ∼ f c m2 .

Proof. See the preliminary full version of this article [5].
       Decidability of Two Truly Concurrent Equivalences for Finite Bounded Petri Nets                               13

Theorem 3. (FC-bisimilarity is decidable for finite bounded nets) Given N(m1 ) and
N(m2 ) bounded nets, it is decidable to check whether m1 ∼ f c m2 .
Proof. By Theorem 2, we have to check whether m1 ∼oim m2 . There are finitely many
possible sets of triples following Definition 21. Therefore we can check by exhaustive
search whether one of them is an OIM-bisimulation. Full detail in the preliminary full
version of this article [5].

    We conclude this section with a remark on the complexity of the decision procedure.
Assume that the considered net has (less than) s places, t transitions and it is h-bounded.
The upper bound for our decision procedure is 2O(hs·log(hs)+log(t)) . Full detail in the
preliminary full version of this article [5]. Note that our exhaustion algorithm has no
worse complexity than other proposed algorithms [15,14].


7      Causal-net Bisimilarity is Decidable
In the same fashion as the preceding section, we now prove that also causal-net bisimi-
larity is decidable.

Definition 22. (OIMC bisimulation) Let N = (S, A, T ) be a P/T net. An OIMC bisim-
ulation is a relation B ⊆ OIM(N) × OIM(N) × P((S × N) × (S × N)) such that if
((k1 , ≤1 ), (k2 , ≤2 ), β ) ∈ B, then:
    • | k1 | = | k2 |
    • ∀t1 , k10 , ≤01 if (k1 , ≤1 )Jt1 i(k10 , ≤01 ) (where we assume that k100 ∈ k1           •t               0
                                                                                                   1 such that k1 =
      k100  t1• ), then there exist t2 , k20 , ≤02 (where we assume k200 ∈ k2                •t                0
                                                                                                   2 such that k2 =
      k200  t2• ), and for β 0 defined as ∀(s1 , n1 ) ∈ k10 , ∀(s2 , n2 ) ∈ k20 :

                                          (
                                              (s1 , n1 ) ∈ k100 , (s2 , n2 ) ∈ k200 , (s1 , n1 ) β (s2 , n2 ) , or
            (s1 , n1 ) β 0 (s2 , n2 ) ⇔
                                              (s1 , n1 ) ∈ k10 \ k100 , (s2 , n2 ) ∈ k20 \ k200

      the following hold:
        - (k1 \ k100 ) and (k2 \ k200 ) are bijectively related by β ,
        - (k2 , ≤2 )Jt2 i(k20 , ≤02 ) where ((k10 , ≤01 ), (k20 , ≤02 ), β 0 ) ∈ B and l(t1 ) = l(t2 ).
    • symmetrically, if (k2 , ≤2 ) moves first.
Two markings m1 and m2 of N are OIMC bisimilar, denoted m1 ∼oimc m2 , if there exists
an OIMC bisimulation B containing the triple (init(N(k1 )), init(N(k2 ), k1 × k2 ) where,
for i = 1, 2, ki is the closed indexed marking such that mi = α(ki ).                  2

Theorem 4. (OIMC-bisimilarity and CN-bisimilarity coincide) Let N = (S, A, T ) be
a P/T net and m1 , m2 two markings of N. m1 ∼oimc m2 if and only if m1 ∼cn m2 .
Proof. See the preliminary full version of this article [5].

Theorem 5. (CN-bisimilarity is decidable for finite bounded nets) Given N(m1 ) and
N(m2 ) bounded nets, it is decidable to check whether m1 ∼cn m2 .
14       A. Cesco and R. Gorrieri

Proof. By Theorem 4 we have to check whether there exists an OIMC-bisimulation B
for the given net N and initial markings m1 , m2 . The proof then follows the same steps
of Theorem 3.


     Note that the complexity of this procedure is again 2O(hs·log(hs)+log(t)) .



8    Conclusion and Future Research


We have extended Vogler’s proof technique in [19], based on ordered markings, that
he used to prove decidability of (strong) fully-concurrent bisimilarity for safe nets, to
bounded nets by means of indexed ordered markings. The extension is flexible enough
to be applicable also to other similar equivalences, such as causal-net bisimilarity [9,12].
While decidability of fully-concurrent bisimilarity for bounded nets was already proved
by Montanari and Pistore [15], our result for causal-net bisimilarity is new. However,
the approach of [15] is not defined directly on Petri nets, rather it exploits an encoding of
Petri nets into so-called causal automata, a model of computation designed for handling
dependencies between transitions by means of names. In addition to this, their encod-
ing works modulo isomorphisms, so that, in order to handle correctly the dependency
names, at each step of the construction costly renormalizations are required. Along the
same line, recently history-dependent automata [4,3] have been proposed. They are a
much refined version of causal automata, retaining not only events but also their causal
relations. Moreover, they are equipped with interesting categorical properties such as
having symmetry groups over them, which allow for state reductions. As in the former
work, the latter ones do not work directly on the net and may require minimizations (al-
beit automatic, in the case of HD automata). On the contrary, our construction is very
concrete and works directly on the net. Thus, we conjecture that, even if the worst-case
complexity is roughly the same, our algorithm performs generally better.
    Decidability of fully-concurrent bisimilarity for bounded nets using the ordered in-
dexed marking idea was claimed to have been proved by Valero-Ruiz in his PhD thesis
[18]. However, his proof contains many flaws; an accurate analysis of which can be
found in the preliminary version of this paper [5]. Therefore our work can be consid-
ered the first one to have proved it using the ordered indexed marking approach.
    A natural question is whether it is possible to decide these equivalences for larger
classes of nets, notably unbounded P/T nets. However, as Esparza observed in [7], all
the behavioral equivalences ranging from interleaving bisimilarity to fully-concurrent
bisimilarity are undecidable on unbounded P/T nets. So, there is no hope to extend our
result about fc-bisimilarity further. Nonetheless, the proof of undecidability by Janc̆ar
[13] does not apply to causal-net bisimilarity, so that the decidability of causal-net
bisimilarity over unbounded P/T nets is open. As a future work, we plan to extend
Vogler’s results in [20] about decidability of weak fully-concurrent bisimilarity on safe
nets with silent moves, to bounded nets with silent moves, by means of our indexed
marking idea.
     Decidability of Two Truly Concurrent Equivalences for Finite Bounded Petri Nets            15

References
 1. Best, E., Devillers, R.: Sequential and concurrent behaviour in petri net theory. Theoretical
    Computer Science 55, 87–136 (1987). https://doi.org/10.1016/0304-3975(87)90090-9
 2. Best, E., Devillers, R.R., Kiehn, A., Pomello, L.: Concurrent bisimulations in petri nets. Acta
    Informatica 28, 231–264 (1991). https://doi.org/10.1007/BF01178506
 3. Bruni, R., Montanari, U., Sammartino, M.: A coalgebraic semantics for causality in petri
    nets. Journal of Logic and Algebraic Methods in Programming 84(6), 853–883 (2015).
    https://doi.org/10.1016/j.jlamp.2015.07.003
 4. Bruni, R., Montanari, U., Sammartino, M.: Revisiting causality, coalgebraically. Acta Infor-
    matica 52(1), 5–33 (2015). https://doi.org/10.1007/s00236-014-0207-9
 5. Cesco, A., Gorrieri, R.: Decidability of two truly concurrent equivalences for finite bounded
    petri nets. CoRR (2021), https://arxiv.org/abs/2104.14856
 6. Degano, P., Nicola, R.D., Montanari, U.: Partial orderings descriptions and observations of
    nondeterministic concurrent processes. Lecture Notes in Computer Science 354, 438–466
    (1988). https://doi.org/10.1007/BFb0013030
 7. Esparza, J.: Decidability and complexity of petri net problems - an introduction. Lecture
    Notes in Computer Science 1491, 374–428 (1996). https://doi.org/10.1007/3-540-65306-
    6 20
 8. van Glabbeek, R.J.: The individual and collective token interpretations of petri nets. Lecture
    Notes in Computer Science 3653, 323–337 (2005). https://doi.org/10.1007/11539452 26
 9. van Glabbeek, R.J.: Structure preserving bisimilarity, supporting an operational petri
    net semantics of CCSP. Lecture Notes in Computer Science 9360, 99–130 (2015).
    https://doi.org/10.1007/978-3-319-23506-6 9
10. van Glabbeek, R.J., Goltz, U.: Refinement of actions and equivalence notions for concurrent
    systems. Acta Informatica 37, 229–327 (2001). https://doi.org/10.1007/s002360000041
11. Goltz, U., Reisig, W.: The non-sequential behaviour of petri nets. Information and Control
    57, 125–147 (1983). https://doi.org/10.1016/S0019-9958(83)80040-0
12. Gorrieri, R.: A study on team bisimulations for BPP nets. Lecture Notes in Computer Science
    12152, 153–175 (2020). https://doi.org/10.1007/978-3-030-51831-8 8
13. Jancar, P.: Undecidability of bisimilarity for petri nets and some related problems. Theoret-
    ical Computer Science 148, 281–301 (1995). https://doi.org/10.1016/0304-3975(95)00037-
    W
14. Jategaonkar, L., Meyer, A.R.: Deciding true concurrency equivalences on safe, finite
    nets. Theoretical Computer Science 154, 107–143 (1996). https://doi.org/10.1016/0304-
    3975(95)00132-8
15. Montanari, U., Pistore, M.: Minimal transition systems for history-preserving
    bisimulation. Lecture Notes in Computer Science 1200, 413–425 (1997).
    https://doi.org/10.1007/BFb0023477
16. Olderog, E.R.: Nets, Terms and Formulas, vol. Cambridge Tracts in
    Theoretical Computer Science 23. Cambridge University Press (1991).
    https://doi.org/10.1017/CBO9780511526589
17. Rabinovich, A., Trakhtenbrot, B.A.: Behavior structures and nets. Fundamenta Informaticae
    11, 357–403 (1988). https://doi.org/10.3233/FI-1988-11404, 4
18. Valero-Ruiz, V.: Decibilidad de problemas sobre redes de Petri temporizadas. Ph.D. the-
    sis, Universidad Complutense de Madrid, Madrid (1993), https://eprints.ucm.es/
    id/eprint/3439/
19. Vogler, W.: Deciding history preserving bisimilarity. Lecture Notes in Computer Science
    510, 495–505 (1991). https://doi.org/10.1007/3-540-54233-7 158
20. Vogler, W.: Generalized om-bisimulation. Information and Computation 118, 38–47 (1995).
    https://doi.org/10.1006/inco.1995.1050