To construct a reachability tree we start with the initial marking and then consider all enabled transitions and fire them one by one. That is, we find the marking corresponding to firing each.

I can't see why is this meaningful because if we were simulating the petri net then starting with the initial state we would fire all possible transitions that can fire together to reach the next marking and not just one of them.

So I don't understand what's the purpose of constructing a reachability tree if the markings (configurations) it will give consider firing only one transitition at a time which isn't how a petri net works.


1 Answer 1


Most Petri nets do work by having their transitions fired one by one. See, for instance, these course notes. In any marking, one or more transitions may be enabled. One of these may then fire, producing a new marking. The reachability graph is the labeled directed graph with as its vertices all reachable markings, and as its arcs transitions, such that an arc labeled $t$ from $M_1$ to $M_2$ exists if and only if firing transition $t$ in marking $M_1$ will produce marking $M_2$.

Of course this may be extended by allowing multiple transitions, or even bags of transitions, to fire all at once. But in standard Place/Transition nets, this isn't very interesting. Firing a bag of transitions has the exact same net effect as firing each of its member transitions in some arbitrary sequence - you don't gain additional behaviour by firing them all at once.

This is no longer true for different kinds of Petri nets, such as

  • nets in which transitions may take time, or
  • nets with inhibitor arcs.

So, for a proper answer to your question, you'll need to tell us what kind of Petri net you're dealing with.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.