<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>How to Verify Aggregating Global Properties</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Karsten Wolf</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universität Rostock</institution>
          ,
          <addr-line>Universitätsplatz 1, 18051 Rostock</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>96</fpage>
      <lpage>103</lpage>
      <abstract>
        <p>Some global properties of Petri nets, such as liveness or -boundedness, simply aggregate corresponding properties of the individual nodes. It is recommendable to break down their verification to the individual node-based properties. That investigation can be organized as a portfolio of diferent verification techniques. For Petri nets with symmetric structure, we propose to apply symmetries as a separate portfolio member. This way of applying symmetries difers from the usual use of symmetries as a tool for state space reduction. We discuss some nice advantages of this approach.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Petri net standard property</kwd>
        <kwd>portfolio approach to verification</kwd>
        <kwd>symmetry</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        We can roughly distinguish three categories of Petri net verification. In structural verification , we detect
patterns in the net topology itself. We may, for instance, enumerate siphons. A siphon is a set  of
places such that every transition that has a post-place in , also has a pre-place in . [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] discusses an
example where knowledge about siphons can directly be used for solving a relevant problem. A second
category of verification is model checking [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Here, we decide whether the state space of a Petri net
satisfies a property that is specified in some temporal logic. The third category is the verification of
global properties (sometimes called standard properties). We consider a list of pre-defined properties
and corresponding decision procedures. Examples of global properties are reversibility (can we reach
the initial marking from every reachable marking), deadlock freedom (does every reachable marking
enable at least one transition), -boundedness (do all reachable markings have at most  tokens on
every place), or liveness (does every reachable marking enable some transition sequence that contains
all transitions). There exists a huge body of results in Petri net theory that involve global properties
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Recently, the Petri net model checking contest (MCC, [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]) added a separate competition on global
properties.
      </p>
      <p>We contribute to the third category of verification problems. In particular, we study global properties
that aggregate properties of the individual places or transitions of the net. We call such a property an
aggregating property. A place  is -bounded if, for every reachable marking , () ≤ . The net is
-bounded if and only if every place is -bounded. A transition  is live if every reachable marking
enables a transition sequence that contains . The net is live if and only if every transition is live. That is,
properties such as -boundedness and liveness are aggregating. In contrast, properties like reversibility
and deadlock-freedom are not aggregating since no appearant separation into properties of individual
places or transitions is known.</p>
      <p>After setting up our terminology in Section 2, we argue in Section 3 that a node-by-node approach is
recommendable for the verification of aggregating global properties. For every individual node, several
methods exist to solve the node-based subproblem. These methods can be organized as a verification
portfolio. We give examples of suitable portfolios for several aggregating properties. In Section 4, we
recall the concept of symmetry. In Section 5, we propose to use symmetries as a separate portfolio
member rather than a vehicle for state space reduction. We discuss the particular merits of this approach.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Basic Terminology</title>
      <sec id="sec-2-1">
        <title>We consider standard place/transition nets in the following notation.</title>
        <p>Definition 1 (Petri net). A Petri net  = [, , , , 0] consists of a finite set  of places, a finite
set  of transitions, disjoint from  , a set  of arcs ( ⊆ ( ×  ) × ( ×  )), a weight function
 : ( ×  ) × ( ×  ) → N where  (, ) = 0 if and only if [, ] ∈/  , and a marking 0, the
initial marking. A marking is a mapping  :  → N.</p>
      </sec>
      <sec id="sec-2-2">
        <title>The behavior of a Petri net is defined as follows.</title>
        <p>Definition 2 (Firing rule). Transition  is enabled in marking  if, for all places , [, ] ∈  implies
() ≥  (, ). If  is enabled in ,  may fire and yield marking ′ where, for all places , ′() =
() −  (, ) +  (, ). This firing relation is written as →−  ′.</p>
        <p>We lift relation→−  to transition sequences by setting →−   for all markings  and the empty
sequence , and by setting  →− ′′ if and only if there is a marking ′ such that →−  ′ and
→′−  ′′. Transition sequence  is enabled in marking  if there exists a marking  with →−  ′.</p>
      </sec>
      <sec id="sec-2-3">
        <title>We shall study the following properties of Petri nets.</title>
        <p>Definition 3 (Properties).</p>
        <p>• Marking ′ is reachable from marking  if there is a transition sequence  where →−  ′.
• Place  is -bounded if, for all markings  reachable from 0, () ≤ . A Petri net is -bounded
if all its places are -bounded.
• Place  is constant if, for all markings  reachable from 0, () = 0(). A Petri net has the
constant-place property if it contains a constant place.
• Transition  is quasi-live if there exists a transition sequence  such that  is enabled in 0. A</p>
        <p>Petri net is quasi-live if all its transitions are quasi-live.
• Transition  is live if, for every marking  reachable from 0, there exists a transition sequence 
such that  is enabled in . A Petri net is live if all its transitions are live.</p>
        <p>Observe that most properties listed above have a local version (place  is . . . , transition  is . . . ) and
an aggregating version (the Petri net is . . . ). In the sequel, we shall therefore distinguish local standard
properties and global standard properties. It is also obvious that answering the local problems for all
nodes of a Petri net amounts to a solution of the corresponding global problem.</p>
        <p>The global versions of 1-boundedness, constant place, quasi-liveness and liveness have been part of
the “global properties” competition in recent model checking contests.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Verifying aggregating global properties</title>
      <p>The brute-force approach to verify an aggregating global property is to compute the reachability
graph of the Petri nets. The vertices of the graph are the markings reachable from 0, and the edges
correspond to the firing relation (considering only single transitions). -boundedness and existence of
constant places can be easily verified by inspecting the vertices of a reachability graph. Transition  is
quasi-live if there is an edge labeled with . Transition  is live if every terminal strongly connected
component of the reachability graph contains an edge labeled with . A strongly connected component
is an equivalence class in the set of markings with respect to the equivalence relation “ is reachable
from ′ and ′ is reachable from ”. A strongly connected component is terminal if no other strongly
connected component can be reached from it.</p>
      <p>
        Although all standard properties can be analyzed using the reachability graph, its use generally is
infeasible even if it is finite, due to the well-known state explosion problem. State space reduction
techniques may alleviate the state explosion problem to a certain degree, but work much better on
the local version of a standard property than on the global version. This can be explained as follows.
The most powerful state space reduction technique for Petri nets is the stubborn set method [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. It
observes that transitions that cannot enable or disable each other can be fired in various orders, and it
tries to execute them in only some of the orders, yet taking care that the property under investigation
is preserved. There exist stubborn set methods for the global versions of -boundedness [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] or liveness
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. However, related methods for the local versions are much stronger since the order of transitions
that are not in the immediate vicinity of the considered place or transition are less sensitive to their
respective order and permit stronger reduction. Another powerful state space reduction technique is
the symmetry method. It also performs better on the local versions of problems. We postpone further
discussion on the symmetry method to the next section. Apart from state space reduction, the local
versions of standard properties permit the application of powerful net reduction in the whole net except
the vicinity of the considered place or transition [
        <xref ref-type="bibr" rid="ref3 ref7 ref8 ref9">3, 7, 8, 9</xref>
        ].
      </p>
      <p>
        For these reasons, our tool LoLA [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] verifies the global versions for standard properties by rigorously
tracing them back to their local versions, applied to each place or transition separately. Since memory
is more limited than run time in verification, a large number of small state spaces is easier to handle
than just one large state space. In addition, our experience in the MCC tells us that, for most places or
transitions, the local property can be easily proven for most places or transitions while only few places
or transitions require complex computations. Altogether, even the sum of all eforts for verifying the
local problems is typically smaller than approaching the global problem monolithically.
      </p>
      <p>We can substantially reduce the costs of considering all places or all transitions of the net by
considering bycatch. Bycatch means that, when approaching a local problem for one node, we may get
suficient information for answering the problem for other nodes. If, for instance, we search for an
executable firing sequence that proves some transition to be quasi-live, all members of that sequence,
and all members of sequences that have been produced in unsuccessful attempts, are clearly quasi-live.
Many properties permit similar bycatch.</p>
      <p>The efort for verifying the individual local problems can be reduced by running a portfolio approach
that applies diferent verification techniques in parallel. In LoLA, the following verification techniques
are used.</p>
      <p>
        First, we may produce a reduced state space using the stubborn set method. There exist specialized
approaches for all local problems mentioned so far. The article [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] discusses them in detail. A reduced
state space produces a lot of bycatch. Every occurring transition  is quasi-live regardless of whether
the state space was produced for . Every place  with () &gt; , for some computed marking , is not
-bounded. Every place  with () ̸= 0(), for some computed marking , is not constant. Among
the mentioned aggregating properties, the liveness problem permits virtually no bycatch. A transition
is live if and only if it occurs in every terminal strongly connected component of the reachability graph.
Due to stubborn set reduction, this works only for the investigated transition. For other transitions,
neither presence nor absence in terminal components tell anything about their liveness. Due to this
lack of bycatch, we added a single global verification task to our portfolio for liveness as an exception
to our generally local approach. We compute a reduced state space where a version of stubborn sets is
used that preserves all terminal strongly connected components of the original reachability graph. This
reduced graph therefore preserves liveness of all transitions.
      </p>
      <p>Random walks (i.e. repeated random execution of firing sequences) may provide information for some
local problems. If some sequence contains a transition ,  is quasi-live. If such a walk enters a marking
with more than  tokens on a place, this place in not -bounded. If the number of tokens changes on a
place, it is not constant. Using only random walks, we can, however, never be sure that a transition is
not quasi-live. Similarly, random walks may disprove but never prove -boundedness of a place and
they can show that a place is non-constant. For liveness of a transition, random walk do not provide any
useful information. We can restrict the set of transitions to choose from to a stubborn set that preserves
some local verification problem. This way, we can significantly increase the success rate of the random
walk approach. Random walks may also deliver some bycatch similar to state space generation.</p>
      <p>A place invariant is a solution of  ·  = 0 where  is the incidence matrix of the net holding
(, ) =  (, ) −  (, ). If  is a place invariant, we have  ·  =  · 0, for all markings 
reachable from 0. The right hand side of this equation is a constant. Place invariants are mainly used
for -boundedness. If we find a place invariant  with () = 1 and () ∈ {0, 1} for all other places,
such that  · 0 ≤  then  is -bounded. As a bycatch, all other places  with () &gt; 0 are -bounded
as well.</p>
      <p>
        The state equation refers to the well-known fact that, for all markings  and ′ and transition
sequences ,  +  · Ψ( ) = ′ where Ψ( ) is the  -indexed Parikh vector of . In the Parikh
vector, Ψ( )() is the number of occurrences of  in . Let  be a  -indexed vector of variables and 
be a  -indexed vector of variables. If the integer linear program (LP) 0 +  ·  = ,  ≥ 0,  ≥ 0,
() ≥ 1 is infeasible then  is not quasi-live. If the system is feasible and  can be arranged into an
executable transition sequence then  and all transitions ′ with (′) &gt; 0 are quasi-live. If none of that
happens, we have to rely on the other portfolio members. The state equation can be used for other
local standard properties as well. For -boundedness of place , we replace constraint () ≥ 1 with
() ≥  + 1. For the constant place problem, we operate with two separate LP problems where we
use () ≥ 0() + 1 (resp. () ≤ 0() − 1) instead. According to [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], one can further improve
this approach by using an SMT-solver instead of an LP solver.
      </p>
      <p>The considerations so far suggest the following portfolios. For -boundedness, we run, for every
place , a reduced state space generation, a random walk task, a state equation task and a place invariant
task. For quasi-liveness we run, for every transition , a reduced state space generation, a random walk
task, and a state equation task. For the constant place problem, we run reduced state space generation,
a random walk task, and a state equation task for every place . In fact, we run two copies of each task
where one copy checks whether the number of tokens on  can be increased while the other one checks
whether that number can be decreased. This separation simplifies both the stubborn set generation and
the ILP problem to be studied. For liveness, we generate a global reduced state space that preserves
all terminal strongly connected components and thus the liveness of all transitions. In addition, we
generate separate reduced state spaces for each individual transition.</p>
      <p>The portfolio manager takes care that the number of active tasks corresponds to the number of
available cores. It also takes care that verification tasks are canceled as soon as some portfolio member
was able to find the answer for the same place or transition.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Symmetries</title>
      <p>
        Symmetries have been introduced in [
        <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
        ] for high-level nets and later adapted to place/transition
nets [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Their application is not at all restricted to Petri nets [
        <xref ref-type="bibr" rid="ref14 ref15 ref16">14, 15, 16</xref>
        ]. We follow the approach
for place/transition nets. It considers a symmetry to be a graph automorphism, i.e. a bijection on the
places and transitions that respects the node type, the arc relation, and the initial marking. A symmetry
 maps a marking to a marking  () such that the number of tokens in  on  coincides with the
number of tokens on  () in  ().
      </p>
      <p>Definition 4 (Symmetry).
 and  and all places ,</p>
      <p>A symmetry is a bijection  : ( ∪  ) → ( ∪  ) such that, for all nodes
•  () ∈  if and only if  ∈  (respects node type);
•  (, ) =  ( (),  ()) (respects arc relation and weights);
• 0() = 0( ()) (respects initial marking).</p>
      <p>For a symmetry  and a marking , the marking  () is defined by  ()( ()) = (), for all places
.</p>
      <p>
        The identity   with  () = , for all , is always a symmetry. If  is a symmetry, so is  − 1, and
for two symmetries  1 and  2, the composition  1 ∘  2 is a symmetry as well. That is, the set of all
symmetries is a group under composition. A Petri net may have exponentially many symmetries which
can be represented by a generating set with a polynomial number of elements (in the number of nodes
of the net) [
        <xref ref-type="bibr" rid="ref17 ref18">17, 18</xref>
        ].
      </p>
      <p>
        Computing the generating set for the symmetries is closely related to the graph isomorphism problem.
The graph isomorphism is in NP, and until now there is neither a known polynomial algorithm nor a
proof of NP-completeness. Computing generators for the symmetry group amounts to a systematic
search [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. As long as every descent in the search tree ends in an actual generator, the runtime is
polynomial. If, however, there are dead ends in the search tree that require backtracking without
delivery of a generator, run time may become exponential. In the MCCs until 2021, there has been
only one model where dead ends occur, For this model, they occur in every instance of that model.
That is, the computation of the generating set is possible in polynomial time in most but not all cases.
This observation accords to the complexity considerations above. Nevertheless, the absolute amount of
required time for computing symmetries may be substantial even in those cases where it is polynomial
in principle. The extreme example is a net in the MCC where the generating set for the symmetry has
millions of elements and the total number of symmetries is beyond the numbers that can be expressed
by double preecision floating point numbers in the C programming language.
      </p>
      <p>This is why the use of symmetries is quite risky in situations where only limited time is available
(such as the MCC). The computation of the generating set for the symmetries may take substantial time
(as discussed above), and the use of large generating sets in reduced state space generation may also
slow down the verification speed. For this reason, the most competitive configuration of LoLA in the
MCC does not apply the symmetry reduction in its state space explorations. For state spaces in local
verification problems, the use of symmetries for actual state space reduction is even more prohibitive
since, for every individual node, the use of a specific subgroup of the symmetries may be required, as
explained below.</p>
      <p>
        We call two nodes  and  equivalent if there is a symmetry  holding  () = . Accordingly, we
call two markings 1 and 2 equivalent if there is a symmetry  with  (1) = 2. Both relations
are indeed equivalence relations. A symmetrically reduced reachability graph is permitted to omit
markings if it can be guaranteed that at east one member of its equivalence class is contained. There are
many ways to achieve this [
        <xref ref-type="bibr" rid="ref18 ref20">18, 20</xref>
        ]. The most popular implementation is to use the generating set to
transform a considered marking into a “small” member of its equivalence class and to store and explore
that one. “Small” usually refers to the lexicographic order on the marking vectors. This transformation
can be achieved in polynomial time. The problem of transforming a marking into the smallest instead
of some small member of its equivalence class is known to be equivalent to the graph isomorphism
problem for which, as already mentioned, no polynomial solution is known. That is, a symmetrically
reduced graph is often slightly larger than it could be in theory.
      </p>
      <p>With the symmetrically reduced graph, we can approach some, but not all global versions of standard
properties.</p>
      <p>Proposition 1 (Preservation of standard properties under symmetry). Place  is -bounded if
and only if the symmetrically reduced reachability graph does not contain a markimg  where, for some
place  equivalent to , () &gt; .</p>
      <p>Place  is constant if and only if, for all markings  contained in the reachability graph and all places
 equivalent to , () = 0().</p>
      <p>Transition  is quasi-live if the symmetrically reduced reachability graph contains an arc annotated
with some transition ′ that is equivalent to .</p>
      <p>There is no straightforward way to exhaustively analyse liveness of all transitions using the
symmetrically reduced graph. Remember that transition  is live if and only if it occurs in every terminal strongly
connected component of the unreduced graph. If some transition ′ equivalent to  occurs in some
terminal strongly connected component of the symmetrically reduced graph, then the corresponding
terminal strongly connected components in the unreduced graph may be the same for  and ′, or may
be diferent (just equivalent). That is why we cannot see whether all transitions occur in all terminal
strongly connected components. Only if there is a terminal strongly connected component in the
reduced graph that neither contains  nor any transition equivalent to , we know that  is not live.</p>
      <p>
        We can, however, compute a symmetrically reduced reachability graph to solve some particular local
liveness problem [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. If we want to study the liveness of , we just need to use only symmetries  with
 () = . These symmetries form a subgroup of the group of all symmetries. This approach, however,
requires computation of symmetries for every local problem and is therefore too expensive.
      </p>
    </sec>
    <sec id="sec-5">
      <title>5. Using symmetries in a portfolio context</title>
      <p>We are now proposing an alternative way to benefit from symmetries. We consider the following context.
We are verifying an aggregating global standard property by separating it into its local problems, one
for each place or transition. These local properties are tackled by a portfolio of verification methods, as
discussed above. For the verification, a machine with multiple physical cores is available.</p>
      <p>In this context, we may add another thread that runs concurrently to the remaining portfolio.
It computes a generating set for the symmetries. Whenever some generator has been found, the
equivalence relation on places and transitions is updated. Whenever some portfolio member reports a
result for some place or transitions, this result is immediately propagated to all equivalent places or
transitions.</p>
      <p>This approach has some decisive advantages, compared to state space reduction using symmetries.
First, the actual portfolio can start to do its work and does not need to wait until the generating set
for the symmetries has been computed. That is, we do not lose too much time for getting the actual
verification done. In the worst case, only the computing power of one core is siphoned away from
the actual verification. Second, every single generator allows us to reason about equivalent nodes.
So symmetries start to take efect long before the computation of the generating set has finished.
Third, after having used a generator to update equivalences, the generator does not need to be stored
permanently (which is the case for state space reduction as the generators are applied for transforming
markings into their small representatives). Fourth, if symmetries are detected, we may skip a large
number of local verification tasks since values can be inferred from equivalent nodes. Our tool LoLA
has recently been quite successful in the verification of global properties, and we blame the combination
of local property verification and our novel symmetry application for that.</p>
      <p>For organizing the integration of the symmetries into the regular portfolio, the portfolio manager of
our tool has implemented the following communication.</p>
      <p>
        The portfolio manager records the local results and checks whether the global result is determined.
Taking quasi-liveness as an example, the global result is fixed if one transition is reported not to be
quasi-live, or if all transitions have been reported to be quasi-live. The portfolio manager additionally
maintains the equivalence relation. To this end, it uses the data structure of Tarjan’s union/find algorithm
[
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] that handles equivalence relations in the most eficient way. It starts with singleton equivalence
classes for all nodes. Whenever a symmetry pours in, it unifies the class containing  with the class
containing  (), for all nodes . Depending on the nature of the property, it only maintains the place
classes or only the transition classes.
      </p>
      <p>The regular tasks ask the portfolio manager for an unsolved node they can process (and have not
processed yet), and finally deliver their result (true, false, or inconclusive). That result is then propagated
to all nodes that are equivalent to the reported one. The symmetry task is started at the beginning.
Whenever it finds a generator of the symmetry group, it reports this generator to the portfolio manager
for updating the equivalences. If equivalence classes change, known results are propagated to the new
members of the equivalence class. Using this strategy, we can evaluate every global property for the 
dining philosophers problem with 5 places and 4 transitions by solving only up to 5 local problems.
This is a dramatic speed up, especially for large .</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion</title>
      <p>We studied the verification of aggregating global properties. The proposed approach has a few similarities
to state-of-the-art model checking for Petri nets. For both types of verification tasks, we run a portfolio
ofering various verification methods, including methods that strongly benefit from Petri net structure
theory. For both types of verification problems, we try to separate the problem into as many as possible
subproblems such that solving the subproblems requires less memory.</p>
      <p>There are, however, remarkable diferences between model checking and the verification of global
properties. The first diference is the sheer number of subproblems we end up with. In model checking,
we may be able to rewrite the formula under investigation into a Boolean combination of a few
sub-formulas and verify them separately. An aggregating global property can be split into as many
subproblems as we have places or transitions in the net. For this reason, we need to squeeze out as
much bycatch as possible from the solved subproblems. While the subproblems in model checking tend
to be heterogeneous, subproblems for global properties are homogeneous. That is why it is possible to
apply symmetries in a diferent manner. Instead of using them for state space reduction, we may apply
them to generate additional bycatch by propagating results from solved problem instances to unsolved
problem instances.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Heiner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Donaldson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Gilbert</surname>
          </string-name>
          ,
          <article-title>Petri Nets for Systems Biology</article-title>
          , in Iyengar, M.S. (ed.),
          <source>Symbolic Systems Biology: Theory and Methods; Chapter</source>
          <volume>21</volume>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>E. M.</given-names>
            <surname>Clarke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Grumberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. A.</given-names>
            <surname>Peled</surname>
          </string-name>
          , Model checking, MIT Press, London, Cambridge,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>T.</given-names>
            <surname>Murata</surname>
          </string-name>
          ,
          <article-title>Petri nets: Properties, analysis and applications</article-title>
          ,
          <source>Proc. IEEE</source>
          <volume>77</volume>
          (
          <year>1989</year>
          )
          <fpage>541</fpage>
          -
          <lpage>580</lpage>
          . URL: https://doi.org/10.1109/5.24143. doi:
          <volume>10</volume>
          .1109/5.24143.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>E. G.</given-names>
            <surname>Amparore</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Berthomieu</surname>
          </string-name>
          , G. Ciardo,
          <string-name>
            <given-names>S.</given-names>
            <surname>Dal-Zilio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Gallà</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Hillah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Hulin-Hubard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. G.</given-names>
            <surname>Jensen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Jezequel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Kordon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. L.</given-names>
            <surname>Botlan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Liebke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Meijer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. S.</given-names>
            <surname>Miner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Paviot-Adet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Srba</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Thierry-Mieg</surname>
          </string-name>
          , T. van Dijk,
          <string-name>
            <given-names>K.</given-names>
            <surname>Wolf</surname>
          </string-name>
          ,
          <article-title>Presentation of the 9th edition of the model checking contest</article-title>
          , in: D.
          <string-name>
            <surname>Beyer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Huisman</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Kordon</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          Stefen (Eds.),
          <article-title>Tools and Algorithms for the Construction and Analysis of Systems - 25 Years of TACAS: TOOLympics, Held as Part of ETAPS 2019</article-title>
          , Prague, Czech Republic, April 6-
          <issue>11</issue>
          ,
          <year>2019</year>
          , Proceedings,
          <string-name>
            <surname>Part</surname>
            <given-names>III</given-names>
          </string-name>
          , volume
          <volume>11429</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2019</year>
          , pp.
          <fpage>50</fpage>
          -
          <lpage>68</lpage>
          . URL: https://doi.org/10.1007/978-3-
          <fpage>030</fpage>
          -17502-
          <issue>3</issue>
          _4. doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -17502-3\_4.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Valmari</surname>
          </string-name>
          ,
          <article-title>The state explosion problem</article-title>
          , in: W. Reisig, G. Rozenberg (Eds.),
          <source>Lectures on Petri Nets I: Basic Models</source>
          ,
          <article-title>Advances in Petri Nets, the volumes are based on the Advanced Course on Petri Nets, held in Dagstuhl</article-title>
          ,
          <year>September 1996</year>
          , volume
          <volume>1491</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>1996</year>
          , pp.
          <fpage>429</fpage>
          -
          <lpage>528</lpage>
          . URL: https://doi.org/10.1007/3-540-65306-6_
          <fpage>21</fpage>
          . doi:
          <volume>10</volume>
          .1007/ 3-540-65306-6\_
          <fpage>21</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>K.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          ,
          <article-title>Stubborn sets for standard properties</article-title>
          , in: S. Donatelli, H.
          <string-name>
            <surname>C. M. Kleijn</surname>
          </string-name>
          (Eds.),
          <source>Application and Theory of Petri Nets</source>
          <year>1999</year>
          , 20th International Conference, ICATPN '99,
          <string-name>
            <surname>Williamsburg</surname>
          </string-name>
          , Virginia, USA, June 21-25,
          <year>1999</year>
          , Proceedings, volume
          <volume>1639</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>1999</year>
          , pp.
          <fpage>46</fpage>
          -
          <lpage>65</lpage>
          . URL: https://doi.org/10.1007/3-540-48745-X_
          <article-title>4</article-title>
          . doi:
          <volume>10</volume>
          .1007/3-540-48745-X\ _
          <volume>4</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>G.</given-names>
            <surname>Berthelot</surname>
          </string-name>
          , G. Roucairol, Reduction of Petri-nets, in: A. W. Mazurkiewicz (Ed.),
          <source>Mathematical Foundations of Computer Science</source>
          <year>1976</year>
          , 5th Symposium, Gdansk, Poland, September 6-
          <issue>10</issue>
          ,
          <year>1976</year>
          , Proceedings, volume
          <volume>45</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>1976</year>
          , pp.
          <fpage>202</fpage>
          -
          <lpage>209</lpage>
          . URL: https://doi.org/10.1007/3-540-07854-1_
          <fpage>175</fpage>
          . doi:
          <volume>10</volume>
          .1007/3-540-07854-1\_
          <fpage>175</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>F. M.</given-names>
            <surname>Bønneland</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Dyhr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. G.</given-names>
            <surname>Jensen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Johannsen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Srba</surname>
          </string-name>
          ,
          <article-title>Stubborn versus structural reductions for Petri nets</article-title>
          ,
          <source>J. Log. Algebraic Methods Program</source>
          .
          <volume>102</volume>
          (
          <year>2019</year>
          )
          <fpage>46</fpage>
          -
          <lpage>63</lpage>
          . URL: https://doi.org/10.1016/j. jlamp.
          <year>2018</year>
          .
          <volume>09</volume>
          .002. doi:
          <volume>10</volume>
          .1016/J.JLAMP.
          <year>2018</year>
          .
          <volume>09</volume>
          .002.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Thierry-Mieg</surname>
          </string-name>
          ,
          <article-title>Structural reductions revisited</article-title>
          , in: R.
          <string-name>
            <surname>Janicki</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Sidorova</surname>
          </string-name>
          , T. Chatain (Eds.),
          <source>Application and Theory of Petri Nets and Concurrency - 41st International Conference, PETRI NETS</source>
          <year>2020</year>
          , Paris, France, June 24-25,
          <year>2020</year>
          , Proceedings, volume
          <volume>12152</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2020</year>
          , pp.
          <fpage>303</fpage>
          -
          <lpage>323</lpage>
          . URL: https://doi.org/10.1007/978-3-
          <fpage>030</fpage>
          -51831-8_
          <fpage>15</fpage>
          . doi:
          <volume>10</volume>
          . 1007/978-3-
          <fpage>030</fpage>
          -51831-8\_
          <fpage>15</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>K.</given-names>
            <surname>Wolf</surname>
          </string-name>
          ,
          <article-title>Petri net model checking with LoLA 2</article-title>
          , in: V.
          <string-name>
            <surname>Khomenko</surname>
            ,
            <given-names>O. H.</given-names>
          </string-name>
          <string-name>
            <surname>Roux</surname>
          </string-name>
          (Eds.),
          <source>Application and Theory of Petri Nets and Concurrency - 39th International Conference, PETRI NETS</source>
          <year>2018</year>
          , Bratislava, Slovakia, June 24-29,
          <year>2018</year>
          , Proceedings, volume
          <volume>10877</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2018</year>
          , pp.
          <fpage>351</fpage>
          -
          <lpage>362</lpage>
          . URL: https://doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -91268-4_
          <fpage>18</fpage>
          . doi:
          <volume>10</volume>
          . 1007/978-3-
          <fpage>319</fpage>
          -91268-4\_
          <fpage>18</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>E. A.</given-names>
            <surname>Emerson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. P.</given-names>
            <surname>Sistla</surname>
          </string-name>
          , Symmetry and model checking,
          <source>Formal Methods Syst. Des</source>
          .
          <volume>9</volume>
          (
          <year>1996</year>
          )
          <fpage>105</fpage>
          -
          <lpage>131</lpage>
          . URL: https://doi.org/10.1007/BF00625970. doi:
          <volume>10</volume>
          .1007/BF00625970.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>K.</given-names>
            <surname>Jensen</surname>
          </string-name>
          ,
          <article-title>Condensed state spaces for symmetrical coloured Petri nets</article-title>
          ,
          <source>Formal Methods Syst. Des</source>
          .
          <volume>9</volume>
          (
          <issue>1996</issue>
          )
          <fpage>7</fpage>
          -
          <lpage>40</lpage>
          . URL: https://doi.org/10.1007/BF00625967. doi:
          <volume>10</volume>
          .1007/BF00625967.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>P. H.</given-names>
            <surname>Starke</surname>
          </string-name>
          ,
          <article-title>Analyse von Petri-Netz-</article-title>
          <string-name>
            <surname>Modellen</surname>
          </string-name>
          ,
          <article-title>Leitfäden und Monographien der Informatik</article-title>
          , Teubner,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>E. M.</given-names>
            <surname>Clarke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Jha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Enders</surname>
          </string-name>
          , T. Filkorn,
          <article-title>Exploiting symmetry in temporal logic model checking</article-title>
          ,
          <source>Formal Methods Syst. Des</source>
          .
          <volume>9</volume>
          (
          <year>1996</year>
          )
          <fpage>77</fpage>
          -
          <lpage>104</lpage>
          . URL: https://doi.org/10.1007/BF00625969. doi:
          <volume>10</volume>
          . 1007/BF00625969.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>C. N.</given-names>
            <surname>Ip</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. L.</given-names>
            <surname>Dill</surname>
          </string-name>
          ,
          <article-title>Better verification through symmetry</article-title>
          ,
          <source>Formal Methods Syst. Des</source>
          .
          <volume>9</volume>
          (
          <year>1996</year>
          )
          <fpage>41</fpage>
          -
          <lpage>75</lpage>
          . URL: https://doi.org/10.1007/BF00625968. doi:
          <volume>10</volume>
          .1007/BF00625968.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>E. A.</given-names>
            <surname>Emerson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. P.</given-names>
            <surname>Sistla</surname>
          </string-name>
          , Symmetry and model checking,
          <source>Formal Methods Syst. Des</source>
          .
          <volume>9</volume>
          (
          <year>1996</year>
          )
          <fpage>105</fpage>
          -
          <lpage>131</lpage>
          . URL: https://doi.org/10.1007/BF00625970. doi:
          <volume>10</volume>
          .1007/BF00625970.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>D. E.</given-names>
            <surname>Knuth</surname>
          </string-name>
          ,
          <article-title>Eficient representation of perm groups</article-title>
          ,
          <source>Comb</source>
          .
          <volume>11</volume>
          (
          <year>1991</year>
          )
          <fpage>33</fpage>
          -
          <lpage>43</lpage>
          . URL: https://doi.org/ 10.1007/BF01375471. doi:
          <volume>10</volume>
          .1007/BF01375471.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>K.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          ,
          <article-title>Integrating low level symmetries into reachability analysis</article-title>
          , in: S. Graf,
          <string-name>
            <surname>M. I.</surname>
          </string-name>
          Schwartzbach (Eds.),
          <source>Tools and Algorithms for Construction and Analysis of Systems, 6th International Conference, TACAS</source>
          <year>2000</year>
          ,
          <article-title>Held as Part of the European Joint Conferences on the Theory and Practice of Software</article-title>
          ,
          <source>ETAPS</source>
          <year>2000</year>
          , Berlin, Germany, March 25 - April 2,
          <year>2000</year>
          , Proceedings, volume
          <volume>1785</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2000</year>
          , pp.
          <fpage>315</fpage>
          -
          <lpage>330</lpage>
          . URL: https://doi.org/10.1007/3-540-46419-0_
          <fpage>22</fpage>
          . doi:
          <volume>10</volume>
          .1007/3-540-46419-0\_
          <fpage>22</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>K.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          ,
          <article-title>How to calculate symmetries of Petri nets</article-title>
          ,
          <source>Acta Informatica</source>
          <volume>36</volume>
          (
          <year>2000</year>
          )
          <fpage>545</fpage>
          -
          <lpage>590</lpage>
          . URL: https://doi.org/10.1007/s002360050002. doi:
          <volume>10</volume>
          .1007/S002360050002.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>T. A.</given-names>
            <surname>Junttila</surname>
          </string-name>
          ,
          <article-title>Computational complexity of the place/transition-net symmetry reduction method</article-title>
          ,
          <source>J. Univers. Comput. Sci. 7</source>
          (
          <year>2001</year>
          )
          <fpage>307</fpage>
          -
          <lpage>326</lpage>
          . URL: https://doi.org/10.3217/jucs-007-04-
          <fpage>0307</fpage>
          . doi:
          <volume>10</volume>
          . 3217/JUCS-007-04-0307.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>R. E.</given-names>
            <surname>Tarjan</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. van Leeuwen</surname>
          </string-name>
          ,
          <article-title>Worst-case analysis of set union algorithms</article-title>
          ,
          <source>J. ACM</source>
          <volume>31</volume>
          (
          <year>1984</year>
          )
          <fpage>245</fpage>
          -
          <lpage>281</lpage>
          . URL: https://doi.org/10.1145/62.2160. doi:
          <volume>10</volume>
          .1145/62.2160.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>