# Deciding structural liveness of Petri nets

###### Abstract

Place/transition Petri nets are a standard model for a class of distributed systems whose reachability spaces might be infinite. One of well-studied topics is the verification of safety and liveness properties in this model; despite the extensive research effort, some basic problems remain open, which is exemplified by the open complexity status of the reachability problem. The liveness problems are known to be closely related to the reachability problem, and many structural properties of nets that are related to liveness have been studied.

Somewhat surprisingly, the decidability status of the problem if a net is structurally live, i.e. if there is an initial marking for which it is live, has remained open, as also a recent paper (Best and Esparza, 2016) emphasizes. Here we show that the structural liveness problem for Petri nets is decidable.

A crucial ingredient of the proof is the result by Leroux (LiCS 2013) showing that we can compute a finite (Presburger) description of the reachability set for a marked Petri net if this set is semilinear.

## 1 Introduction

Petri nets are a standard tool for modeling and analysing a class of distributed systems; we can name [reisig2013] as a recent introductory monograph for this area. A natural part of the analysis of such systems is checking the safety and/or liveness properties, where the question of deadlock-freeness is just one example.

The classical version of place/transition Petri nets
(exemplified by Fig. 1)
is used to model systems with potentially infinite state spaces; here
the decidability and/or complexity questions for respective analysis problems
are often intricate.
E.g., despite several decades of
research the complexity status
of the basic problem of *reachability* (can the system
get from one given configuration to another?)
remains unclear;
we know that the problem is -hard due to
a classical construction by
Lipton (see, e.g., [DBLP:conf/ac/Esparza96]) but the known upper
complexity bounds are not primitive recursive
(we can refer to [DBLP:conf/lics/LerouxS15]
and the references therein for further information).

The *liveness* of a transition (modelling a system action)
is a related problem; its complementary problem
asks if for a given initial marking (modelling an initial system
configuration) the net enables to reach
a marking
in which the transition is dead, in the sense that it can be
never performed in the future.
A marked net , i.e. a net with an initial marking ,
is live if all its transitions are live.

The close relationship of the problems of reachability and liveness
has been clear since the early works by
Hack [DBLP:conf/focs/Hack74, DBLP:books/garland/Hack75].
Nevertheless, the situation is different for the
problem of *structural* liveness that asks,
given a net , if there is a marking
such that is live.
Though semidecidability of structural liveness is clear from the above
facts, the decidability question
has been open so far: see, e.g., the overview [wimmel2008] and
in particular the recent paper
[DBLP:journals/ipl/BestE16] where this problem (STLP) is
discussed in the Concluding Remarks section.

Here we show the decidability of structural liveness, by showing the semidecidability of the complementary problem. The idea is to construct, for a given net , a marked net (partly sketched in Fig. LABEL:fig:decidpslp) that works in two phases (controlled by additional places): in the first phase, an arbitrary marking from the set of markings with at least one dead transition is generated, and then is simulated in the reverse mode from . If is not structurally live, then the projection of the reachability set of to the set of places of is the whole set ; if is structurally live, then there is such that the projection of any marking reachable from differs from .

In the first case (with the whole set ) the reachability set of is surely semilinear, i.e. Presburger definable. Due to a result by Leroux [DBLP:conf/lics/Leroux13], there is an algorithm that finishes with a Presburger description of the reachability set of when it is semilinear (while it can go forever when not). This yields the announced semidecidability.

The construction of the above mentioned (downward closed) set is standard; the crucial ingredient of our proof is the mentioned result by Leroux. Another ingredient is the decidability of reachability; nevertheless it is not clear that the reachability reduces to the structural liveness, and the complexity of the structural liveness problem is left open for future research.

Section 2 provides the necessary formal background, and Section LABEL:sec:SLPdecid shows the decidability result. In Section LABEL:sec:AddRem a few comments are added, and in particular an example of a net is given where the set of live markings is not semilinear.

## 2 Basic definitions

By we denote the set . For a set , by we denote the set of finite sequences of elements of , and denotes the empty sequence.

### Nets.

A *Petri net*, or just a *net* for short, is a tuple
where
and are two disjoint finite sets of *places* and *transitions*,
respectively, and is
the *weighted flow function*.
A *marking* of is an element of , a
mapping from to , often viewed also as a vector with
components.

### Reachability.

Assuming a net , for each we define the following relation on :