**6. Uniqueness of minimal crisp Petri net**

The problem of characterizing 1-safe Petri nets generating all the 2*<sup>n</sup>* binary *n*-vectors as marking vectors exactly once is an open problem [6]. We completely settle a part of this problem, viz., to determine minimal such Petri nets, 'minimal' in the sense that the depth of their reachability tree is minimum possible, where the *depth* of a rooted tree is defined as the maximum distance of any vertex in it from the root. In fact, we show here that such a 1-safe Petri net has a unique structure.

**Theorem 3.** *[8] The Petri net C=*(*P*, *T*, *I*−, *I*+, *μ*0) *constructed in theorem 2 is the only minimal Crisp Petri net and the underlying graph of its reachability tree is isomorphic to the star* ↓ *K*1,2*<sup>n</sup>*−1*, where '*↓*' indicates the fact that arcs of the reachability tree of C are oriented downward from its root which is the center of K*1,2*<sup>n</sup>*−1*.*

*Proof.* The existence of *C* has already been established in Theorem 2. We will establish here the uniqueness of *C*. Suppose there exists a Petri net

*C*� = (*P*�

, *μ*0) of *C*� is isomorphic to the reachability graph *R*(*C*, *μ*0) of *C*, i.e.,

*R*(*C*�

) ∈ A(*R*(*C*�

) does not form an arc in the reachability tree *R*(*C*�

characterizing the crisp Boolean Petri nets appear quite intricate.

*j* ), *ψ*(*p*� *i*

Toward this end, define a map *ψ* : *P*� ∪ *T*� −→ *P* ∪ *T* satisfying *ψ*(*p*�

Now, we need to show that *C*� ∼= *C*.

*C*. For this, consider any isomorphism *ϕ* : *M*(*C*�

(*μ*0, *μ<sup>i</sup>*

*ϕ*(*μ*0) does not form the arc (*ϕ*(*μ*0), *ϕ*(*μ<sup>i</sup>*

*i* , *t* � *j* ) and (*t* � *j* , *p*� *i*

*π*(*H*) ∼= *G (read as "π*(*H*) *is 'isomorphic to' G").*

of the corresponding Petri net).

*i* ), *ψ*(*t*� *j*

) be an arc in *C*�

a contradiction by assuming (*ψ*(*t*�

the choice of the arcs (*p*�

**complete lattice**

*R*(*C*�

*M*(*R*(*C*�

Let (*p*� *i* , *t*� *j*

whose *i*

(*μ*0, *μ<sup>i</sup>*

contrary (*ψ*(*p*�

, *T*� , *I* �−, *I*

satisfying the hypothesis of the theorem. This implies, in particular that the reachability graph

Clearly, *ψ* is a bijection. We shall now show that it preserves the directed adjacency of *C*� onto

, *<sup>μ</sup>*0)) <sup>⇔</sup> (*ϕ*(*μ*0), *<sup>ϕ</sup>*(*μ<sup>i</sup>*

where A(*D*) denotes the set of arcs of any digraph *D* (in this case, *D* is the reachability graph

vector obtained by firing *tj* is repeated. The latter case does not arise due to the hypothesis that every marking vector is generated exactly once in *C*. But, then the former statement implies

assumption that *C*� generates all the binary *n*-vectors exactly once. Similarly, one can arrive at

**7. A Boolean Petri net whose reachability graph is homomorphic to the**

As mentioned already, Boolean Petri nets generating all the 2*<sup>n</sup>* binary *n*-vectors as their marking vectors are not only of theoretical interest but also are of practical importance. We demonstrate the existence of a disconnected 1-safe Petri net whose reachability tree is homomorphic to the *n*-dimensional complete lattice *Ln*. This makes the problem of

**Definition 4.** *Given any graph G* = (*V*, *E*)*, by a homomorphism of G we mean a partition* {*V*1, *V*2,..., *Vt*} *of its vertex-set V*(*G*) := *V such that for any i* ∈ {1, 2, . . . , *t*} *no two distinct vertices in Vi are adjacent; in other words, Vi is an independent set of G. In general, given any partition π* = {*V*1, *V*2,..., *Vt*} *(not necessarily a homomorphism) of G, the partition graph with respect to π of G, denoted π*(*G*)*, is the graph whose vertex-set is π and any two vertices Vi and Vj are adjacent whenever there exist vertices x* ∈ *Vi and y* ∈ *Vj such that x and y are adjacent in G, that is, whenever, xy* ∈ *E*(*G*)*. If, in particular, π is a homomorphism then π*(*G*) *is called a homomorphic image of G; further, a graph H is homomorphic to a graph G if there exists a homomorphism π of H such that*

) was arbitrary in each case.

*i* ), *ψ*(*t*� *j*

)) = (*pi*, *tj*) is not an arc in *C*. This implies in *C* that the marking vector *μ<sup>i</sup>*

, *μ*0)) of *C*� onto the reachability set of *C*; this has the property that

, we will show then that (*ψ*(*p*�

*th* component is zero does not get generated by firing *tj* or when *t*•

, *<sup>μ</sup>*0) <sup>∼</sup><sup>=</sup> *<sup>R</sup>*(*C*, *<sup>μ</sup>*0) <sup>∼</sup>=<sup>↓</sup> *<sup>K</sup>*1,2*<sup>n</sup>*−1.

�+, *<sup>μ</sup>*0)

*i*

)) in *R*(*C*, *μ*0) and hence, from (1), it follows that

)) is not an arc in *C*. Thus, *C*� ∼= *C* follows, because

, *<sup>μ</sup>*0) −→ *<sup>M</sup>*(*C*, *<sup>μ</sup>*0) from the reachability set

) = *pi* and *ψ*(*t*

)) ∈ A(*R*(*C*, *<sup>μ</sup>*0)), (1)

)) is an arc in *C*. Suppose, on the

, *μ*0). This is a contradiction to our

*<sup>j</sup>* = ∅ the marking

� *i* ) = *ti*.

Boolean Petri Nets 393

$$\mathbf{C}' = (P', T', I'^-, I'^+, \mu^0)$$

satisfying the hypothesis of the theorem. This implies, in particular that the reachability graph *R*(*C*� , *μ*0) of *C*� is isomorphic to the reachability graph *R*(*C*, *μ*0) of *C*, i.e.,

$$\mathcal{R}(\mathsf{C}',\mu^0) \cong \mathcal{R}(\mathsf{C},\mu^0) \cong \downarrow \ K\_{1,2^n-1} \cdot$$

Now, we need to show that *C*� ∼= *C*.

12 Will-be-set-by-IN-TECH

root node (1, 1, 1, ··· , 1) of *<sup>R</sup>*1(*Ck*, *<sup>μ</sup>*0) by an arc labeled *tk*<sup>+</sup><sup>1</sup> so that (1, 1, 1, ··· , 0) would become the child node obtained by firing *tk*<sup>+</sup><sup>1</sup> in *Ck*<sup>+</sup><sup>1</sup> and in *R*1(*Ck*, *μ*0) the child node (0, 0, 0, ··· , 1) is the marking obtained after firing of the transition *tk*<sup>+</sup><sup>2</sup> at the root node (1, 1, 1, ··· , 1) of *<sup>R</sup>*1(*Ck*, *<sup>μ</sup>*0); so, we replace the arc labeled as *tk*<sup>+</sup><sup>1</sup> by *tk*<sup>+</sup><sup>2</sup> in *<sup>R</sup>*1(*Ck*, *<sup>μ</sup>*0). Next, we join the remaining (2*k*+<sup>1</sup> <sup>−</sup> <sup>1</sup>) <sup>−</sup> *<sup>k</sup>* <sup>+</sup> 2 child nodes (0, 1, 0, ··· , 0), (1, 0, 0, ··· , 0), ··· ,(0, 0, 0, ··· , 0) of *<sup>R</sup>*0(*Ck*, *<sup>μ</sup>*0) to the root node (1, 1, 1, ··· , 1) of *<sup>R</sup>*1(*Ck*, *<sup>μ</sup>*0) by an arc each, labeled *tk*+3, *tk*+4, *tk*+5, ··· , *<sup>t</sup>*2*<sup>k</sup>*−<sup>1</sup> respectively, so that (0, 1, 0, ··· , 0), (1, 0, 0, ··· , 0), ··· , (0, 0, 0, ··· , 0) would become the marking vector obtained after firing of *tk*+3, *tk*+4, *tk*+5, ··· , *<sup>t</sup>*2*<sup>k</sup>*−<sup>1</sup> respectively in *Ck*+1. Then the resulting labeled tree *Tk*<sup>+</sup><sup>1</sup> has exactly 2*k*+<sup>1</sup> binary (*k* + 1)-vectors. *Tk*<sup>+</sup><sup>1</sup> is indeed the reachability tree of *Ck*<sup>+</sup><sup>1</sup> because in *Ck*<sup>+</sup><sup>1</sup> all the transitions are enabled at the initial marking (1, 1, 1, ··· , 1) and fire. After firing, the new markings

<sup>−</sup>(*pi*, *tj*) + *I*

(0, 1, 1, ··· , 1),(1, 0, 1, ··· , 1),(1, 1, 0, ··· , 1), ··· ,(0, 0, 0, ··· , 0) respectively and no further firing takes place as the enabling condition fails to hold for these marking vectors; i.e., we get exactly 2*k*+<sup>1</sup> binary (*k* + 1)-vectors, each generated exactly once

It is clear that the Petri net constructed above generates each of the 2*<sup>n</sup>* binary *n*-vectors exactly once in the very first step and, hence, is the smallest number of steps because no firing will

Hence, we shall call a Boolean Petri net *crisp* if it generates every binary *n*−vector exactly

It may be observed from the above proof that the Petri net constructed therein yields all the binary *n*-vectors as marking vectors in the least possible number of steps. Such a Boolean Petri

The problem of characterizing 1-safe Petri nets generating all the 2*<sup>n</sup>* binary *n*-vectors as marking vectors exactly once is an open problem [6]. We completely settle a part of this problem, viz., to determine minimal such Petri nets, 'minimal' in the sense that the depth of their reachability tree is minimum possible, where the *depth* of a rooted tree is defined as the maximum distance of any vertex in it from the root. In fact, we show here that such a

**Theorem 3.** *[8] The Petri net C=*(*P*, *T*, *I*−, *I*+, *μ*0) *constructed in theorem 2 is the only minimal Crisp Petri net and the underlying graph of its reachability tree is isomorphic to the star* ↓ *K*1,2*<sup>n</sup>*−1*, where '*↓*' indicates the fact that arcs of the reachability tree of C are oriented downward from its root*

*Proof.* The existence of *C* has already been established in Theorem 2. We will establish here

+(*pi*, *tj*)

obtained by the rule

in the first step itself.

take place after that step.

net will be called *optimal*.

Hence, the result follows by the PMI.

1-safe Petri net has a unique structure.

*which is the center of K*1,2*<sup>n</sup>*−1*.*

**6. Uniqueness of minimal crisp Petri net**

the uniqueness of *C*. Suppose there exists a Petri net

are

once.

*μ*�

(*pi*) = *<sup>μ</sup>*0(*pi*) <sup>−</sup> *<sup>I</sup>*

Toward this end, define a map *ψ* : *P*� ∪ *T*� −→ *P* ∪ *T* satisfying *ψ*(*p*� *i* ) = *pi* and *ψ*(*t*� *i* ) = *ti*. Clearly, *ψ* is a bijection. We shall now show that it preserves the directed adjacency of *C*� onto *C*. For this, consider any isomorphism *ϕ* : *M*(*C*� , *<sup>μ</sup>*0) −→ *<sup>M</sup>*(*C*, *<sup>μ</sup>*0) from the reachability set *M*(*R*(*C*� , *μ*0)) of *C*� onto the reachability set of *C*; this has the property that

$$\mathcal{A}(\mu^0, \mu^i) \in \mathcal{A}(\mathcal{R}(\mathbb{C}', \mu^0)) \Leftrightarrow (\varphi(\mu^0), \varphi(\mu^i)) \in \mathcal{A}(\mathcal{R}(\mathbb{C}, \mu^0)),\tag{1}$$

where A(*D*) denotes the set of arcs of any digraph *D* (in this case, *D* is the reachability graph of the corresponding Petri net).

Let (*p*� *i* , *t*� *j* ) be an arc in *C*� , we will show then that (*ψ*(*p*� *i* ), *ψ*(*t*� *j* )) is an arc in *C*. Suppose, on the contrary (*ψ*(*p*� *i* ), *ψ*(*t*� *j* )) = (*pi*, *tj*) is not an arc in *C*. This implies in *C* that the marking vector *μ<sup>i</sup>* whose *i th* component is zero does not get generated by firing *tj* or when *t*• *<sup>j</sup>* = ∅ the marking vector obtained by firing *tj* is repeated. The latter case does not arise due to the hypothesis that every marking vector is generated exactly once in *C*. But, then the former statement implies *ϕ*(*μ*0) does not form the arc (*ϕ*(*μ*0), *ϕ*(*μ<sup>i</sup>* )) in *R*(*C*, *μ*0) and hence, from (1), it follows that (*μ*0, *μ<sup>i</sup>* ) does not form an arc in the reachability tree *R*(*C*� , *μ*0). This is a contradiction to our assumption that *C*� generates all the binary *n*-vectors exactly once. Similarly, one can arrive at a contradiction by assuming (*ψ*(*t*� *j* ), *ψ*(*p*� *i* )) is not an arc in *C*. Thus, *C*� ∼= *C* follows, because the choice of the arcs (*p*� *i* , *t* � *j* ) and (*t* � *j* , *p*� *i* ) was arbitrary in each case.
