Boolean Petri Nets

Petri net is a graphical tool invented by Carl Adam Petri [13]. These are used for describing, designing and studying discrete event-driven dynamical systems that are characterized as being concurrent, asynchronous, distributed, parallel, random and/or nondeterministic. As a graphical tool, Petri net can be used for planning and designing a system with given objectives, more practically effective than flowcharts and block diagrams. As a mathematical tool, it enables one to set up state equations, algebraic equations and other mathematical models which govern the behavior of discrete dynamical systems. Still, there is a drawback inherent in representing discrete event-systems. They suffer from the state explosion problem as what will happen when a system is highly populated, i.e., initial state consists of a large number of places that are nonempty. This phenomenon may lead to an exponential growth of its reachability graph. This makes us to study the safe systems. The aim of this chapter is to present some basic results on 1-safe Petri nets that generate the elements of a Boolean hypercube as marking vectors. Complete Boolean hypercube is the most popular interconnection network with many attractive and well known properties such as regularity, symmetry, strong connectivity, embeddability, recursive construction, etc. For brevity, we shall call a 1-safe Petri net that generates all the binary n-vectors as marking vectors a Boolean Petri net. Boolean Petri nets are not only of theoretical interest but also are of practical importance, required in practice to construct control systems [1]. In this chapter, we will consider the problems of characterizing the class of Boolean Petri nets as also the class of crisp Boolean Petri nets, viz., the Boolean Petri nets that generate all the binary n-vectors exactly once. We show the existence of a disconnected Boolean Petri net whose reachability tree is homomorphic to the n-dimensional complete lattice Ln. Finally, we observe that characterizing a Boolean Petri net is rather intricate.


Introduction
Petri net is a graphical tool invented by Carl Adam Petri [13]. These are used for describing, designing and studying discrete event-driven dynamical systems that are characterized as being concurrent, asynchronous, distributed, parallel, random and/or nondeterministic. As a graphical tool, Petri net can be used for planning and designing a system with given objectives, more practically effective than flowcharts and block diagrams. As a mathematical tool, it enables one to set up state equations, algebraic equations and other mathematical models which govern the behavior of discrete dynamical systems. Still, there is a drawback inherent in representing discrete event-systems. They suffer from the state explosion problem as what will happen when a system is highly populated, i.e., initial state consists of a large number of places that are nonempty. This phenomenon may lead to an exponential growth of its reachability graph. This makes us to study the safe systems. The aim of this chapter is to present some basic results on 1-safe Petri nets that generate the elements of a Boolean hypercube as marking vectors. Complete Boolean hypercube is the most popular interconnection network with many attractive and well known properties such as regularity, symmetry, strong connectivity, embeddability, recursive construction, etc. For brevity, we shall call a 1-safe Petri net that generates all the binary n-vectors as marking vectors a Boolean Petri net. Boolean Petri nets are not only of theoretical interest but also are of practical importance, required in practice to construct control systems [1]. In this chapter, we will consider the problems of characterizing the class of Boolean Petri nets as also the class of crisp Boolean Petri nets, viz., the Boolean Petri nets that generate all the binary n-vectors exactly once. We show the existence of a disconnected Boolean Petri net whose reachability tree is homomorphic to the n-dimensional complete lattice L n . Finally, we observe that characterizing a Boolean Petri net is rather intricate.
We begin by showing that a 1-safe Star Petri net S n [5], with |P| = n and |T| = n + 1, having a central transition, is a Boolean Petri net; here, P is the set of its places and T is the set of its transitions. Often, it is desirable to have a crisp Boolean Petri net because one may possibly explore for existence of certain sequences of enabled transitions to fire toward initiating and completing a prescribed process that uses specified nodes of the Boolean lattice.
For example, in the design of generalized switches such as those used to control automatic machines [1], suppose that we have a sequence of n terminals each of which can be either at a prescribed low-voltage (denoted by zero '0') or at a prescribed high-voltage (denoted by unity, '1'). It is required to arrange them so that every one of the 2 n sequences of n bits, corresponding to the 2 n binary n-tuples, can appear on the terminals [1]. Now that Q n , the binary n-cube, is known to be Hamiltonian (in the sense that there exists an all-vertex covering cycle) one can design a "Hamiltonian switch" using a crisp Boolean Petri net that triggers operation of a machine exactly once after 2 n successive switching moves along the prescribed Hamiltonian cycle in Q n . The 'switch design' may be imagined to be an arbitrary connected graph of order 2 n , where connection between a pair (u, v) of nodes would mean that v is to be the terminal that needs to be turned on after the terminal corresponding to u (which may or may not be in an active state depending on the machine design). Therefore, a good characterization of such Boolean Petri nets is needed. This problem is still open. Many specific classes of such 1-safe Petri nets have been found [5][6][7]. Also, many fundamental issues regarding Boolean Petri nets emerge from this study.

Preliminaries
To keep this chapter self-contained as far as possible, we present some of the necessary definitions and concepts. For standard terminology and notation on Petri net theory and graph theory, we refer the reader to Peterson [12] and Harary [3], respectively. In this chapter, we shall adopt the definition of Jenson [4] for Petri nets: (e) ∀ p ∈ P, ∃t ∈ T : I − (p, t) = 0 or I + (p, t) = 0 and ∀t ∈ T, ∃p ∈ P : I − (p, t) = 0 or I + (p, t) = 0, (f) μ 0 : P → N is the initial marking.
In fact, I − (p, t) and I + (p, t) represent the number of arcs from p to t and t to p respectively, and some times referred to a 'flow relations'. I − , I + and μ 0 can be viewed as matrices of size |P| × |T|, |P| × |T| and |P| × 1, respectively.
The quadruple (P, T, I − , I + ) in the definition of the Petri net is called the Petri net structure. The Petri net graph is a representation of the Petri net structure, which is essentially a bipartite directed multigraph, in which any pair of symmetric arcs (p i , t j ) and (t j , p i ) is called a self-loop.
As in many standard books (e.g., see [14]), Petri net is a particular kind of directed graph [3], together with an initial marking μ 0 . The underlying graph of a Petri net is a directed, weighted, bipartite graph consisting of two kinds of nodes, called places and transitions, where arcs are either from a place to a transition or from a transition to a place. No two of the same kind being adjacent. Hence, Petri nets have a well known graphical representation in which transitions are represented as boxes and places as circles with directed arcs interconnecting places and transitions, to represent the flow relations. The initial marking is represented by placing a token, shown as a black dot, in the circle representing a place p i , whenever μ 0 (p i ) = 1, 1 ≤ i ≤ n = |P|. In general, a marking μ is a mapping μ : P −→ N. A marking μ can hence be represented as a vector μ ∈ N n , n = |P|, such that the i th component of μ is the value μ(p i ), viz., the number of tokens placed at p i .

Definition 2.
Let C = (P, T, I − , I + , μ) be a Petri net. A transition t ∈ T is said to be enabled at μ if and only if I − (p, t) ≤ μ(p), ∀p ∈ P. An enabled transition may or may not 'fire' (depending on whether or not the event actually takes place). After firing at μ, the new marking μ is given by the rule We say that t fires at μ to yield μ (or, that t fires μ to μ ), and we write μ t −→ μ , whence μ is said to be directly reachable from μ. Hence, it is clear, what is meant by a sequence like which simply represents the fact that the transitions t 1 , t 2 , t 3 , . . . , t k have been successively fired to transform the initial marking μ 0 into the terminal marking μ k . The whole of this sequence of transformations is also written in short as μ 0 σ −→ μ k , where σ = t 1 , t 2 , t 3 , . . . , t k is called the corresponding firing sequence.
A marking μ is said to be reachable from μ 0 , if there exists a firing sequence of transitions which successively fire to reach the state μ from μ 0 . The set of all markings of a Petri net C reachable from a given marking μ is denoted by M(C, μ) and, together with the arcs of the form μ i t r −→ μ j , represents what in standard terminology is called the reachability graph of the Petri net C, denoted by R(C, μ 0 ). In particular, if the reachability graph has no semicycle then it is called the reachability tree of the Petri net.
A place in a Petri net is safe if the number of tokens in that place never exceeds one. A Petri net is safe if all its places are safe.
The preset of a transition t is the set of all input places to t, i.e., • t={p ∈ P : I − (p, t) > 0}. The postset of t is the set of all output places from t, i.e., t • ={p ∈ P : I + (p, t) > 0}. Similarly, p s preset and postset are • p={t ∈ T : I + (p, t) > 0} and p • ={t ∈ T : I − (p, t) > 0}, respectively. Definition 3. Let C = (P, T, I − , I + , μ 0 ) be a Petri net with |P| = n and |T| = m, the incidence matrix I = [a ij ] is an n × m matrix of integers and its entries are given by is the number of arcs from transition t j to its output place p i and a − ij =I − (p i , t j ) is the number of arcs from place p i to its output transition t j i.e., in other words, I = I + − I − .

1-safe star Petri net is Boolean
We shall now define 1-safe star Petri net. The notion of a star is from graph theory (see [3]); it is the complete bipartite graph K 1, n which consists of exactly one vertex c, called the center, joined by a single edge cv i to the pendant vertex v i (i.e. the degree of v i is 1) for each i ∈ {1, 2, . . . , n }, n ≥ 1. A 1-safe star Petri net S n is obtained by subdividing every edge of the graph K 1,n , n ≥ 1, so that every subdividing vertex is a place node and the original vertices of K 1,n , n ≥ 1, are the (n + 1) transition nodes, (n + 1) th being the central node. Further, every arc incident to the central node is directed towards it, and every arc incident to a pendent node is directed towards the pendent node (See Figure 1 [5] The reachability tree of S n with μ 0 = (1, 1, 1, 1, . . . , 1) as the initial marking contains every binary n-vector (a 1 , a 2 , a 3 , . . . , a n ), a i ∈ {0, 1}.
Proof. We shall prove this result by using the Principle of Mathematical Induction (PMI). Clearly, the reachability tree R(S 1 , μ 0 ) of S 1 generates both the binary 1-vectors (1) and (0) as shown in Figure 2. Next, consider the 1-safe star Petri net S 2 as shown in Figure 3 and its reachability tree R(S 2 , μ 0 ) displayed in Figure 4.
It is clear from Figure 4 that R(S 2 , μ 0 ) has all the 4 = 2 2 , binary 2-vectors (a 1 , a 2 ), a 1 , a 2 ∈ {0, 1}. We can construct R(S 2 , μ 0 ) from R(S 1 , μ 0 ) as follows. Take two copies of R(S 1 , μ 0 ). In the first copy, augment each vector of R(S 1 , μ 0 ), by putting a 0 entry at the second position of every marking vector and denote the resulting labeled tree as R 0 (S 1 , μ 0 ). Similarly, in the second copy, augment each vector by putting 1 at the second position of every marking and let R 1 (S 1 , μ 0 ) be the resulting labeled tree (See Figure 5). Now, using the following steps we construct the reachability tree R(S 2 , μ 0 ) of S 2 from R 0 (S 1 , μ 0 ) and R 1 (S 1 , μ 0 ). 1. Clearly, the set of binary 2-vectors in R 0 (S 1 , μ 0 ) is disjoint with the set of those appearing in R 1 (S 1 , μ 0 ) and together they contain all the binary 2-vectors.

2.
In R 0 (S 1 , μ 0 ), transition t 2 does not satisfy the enabling condition, since I − (p i , t) ≤ μ(p i ), for each p i ∈ S 1 is violated. So, we can ignore this transition at this stage.

4.
We then augment an extra pendent node labeled y 0 joined to the new root node x 0 , labeled by the 2-vector (1, 1), by the new arc (x 0 , y 0 ) labeled as t 3 and complete this tree by firing transitions(s) at the marking vector(s) where nonzero components appear, till all the transitions become dead. Then the resulting labeled tree T * is shown in Figure 5. This has all the binary 2-vectors as its node labels, possibly with repetitions. It remains to show that it is the reachability tree R(S 2 , μ 0 ) of S 2 with 2-vector (1, 1) as its initial marking μ 0 . For this, consider an arbitrary 2-vector μ = (a 1 , 1), where a 1 ∈ {0, 1}. When transition t 2 is enabled, this yields = 1 − 1 + 0 = 0 Then, we get a new marking μ = (a 1 , 0), where a 1 ∈ {0, 1}. The marking μ is found in R 0 (S 2 , μ 0 ). If all a i 's are zero then μ is a dead marking. Hence, suppose some a i = 0. In this case, t i is enabled and in the next new marking μ , the i th component is reduced to zero. Eventually, this process will lead to a dead marking. Further, the marking vectors of the form μ = (a 1 , 0) are already obtained as a result of firing t 1 , t 2 , through some subsequences. Thus, T is indeed the reachability tree R(S 2 , μ 0 ) of S 2 . Now, we assume that the result is true for all the 1-safe star Petri nets S k having k places, k ≤ n. We will prove the result for the 1-safe star Petri net S n+1 having (n + 1) places. For this purpose, consider two copies of the reachability tree R(S n , μ 0 ) of S n . In the first copy, we extend each vector by augmenting a 0 entry at the (n + 1) th position and let R 0 (S n , μ 0 ) denote the resulting labeled tree. Next, in the second copy of R(S n , μ 0 ), we augment the entry 1 to the (n + 1) th position in every marking vector and let R 1 (S n , μ 0 ) be the resulting labeled tree. Hence, using the following steps we construct the reachability tree of the 1-safe star Petri net S n+1 having (n + 1) places.

1.
Clearly, the set of binary (n + 1)-vectors in R 0 (S n , μ 0 ) is disjoint with the set of those appearing in R 1 (S n , μ 0 ) and together they contain all the binary (n + 1)-vectors.

2.
In R 0 (S n , μ 0 ), transition t n+1 does not satisfy the enabling condition, I − (p i , t) ≤ μ(p i ), for each p i ∈ S n . So, we can ignore this transition for the moment.

4.
We then augment an extra pendent node labeled y 0 joined to the new root node x 0 , labeled by the (n + 1)-vector (1, 1, . . . , 1) by the new arc (x 0 , y 0 ) labeled as t n+2 and complete this tree by firing transition(s) at the marking vector(s) where nonzero components appear, till all the transitions become dead. In this way, the tree T * so obtained has all the binary (n + 1)-vectors as its node labels, possibly with repetitions. It remains to show that T * is indeed the reachability tree R(S n+1 , μ 0 ) of S n+1 with binary (n + 1)-vector (1, 1, 1, . . . , 1) as its initial marking μ 0 . For this, consider an arbitrary (n + 1)-vector μ = (a 1 , a 2 , a 3 , . . . , a n , 1), where a i ∈ {0, 1}, ∀ i. When transition t n+1 is enabled, this yields Then, we get a new marking μ = (a 1 , a 2 , a 3 , . . . , a n , 0), where a i ∈ {0, 1}. The marking μ is found in R 0 (S n+1 , μ 0 ). If all a i 's are zero, then μ is a dead marking. Hence, suppose some a i = 0. In this case, t i is enabled and in the next new marking μ , the i th component is reduced to zero. Eventually, this process will lead to a dead marking. Further, the marking vectors of the form μ = (a 1 , a 2 , a 3 , . . . , a n , 0) are already obtained as a result of firing t 1 , t 2 , t 3 , ...., t n through some subsequences by virtue of the induction hypothesis. Thus, T * is precisely the reachability tree R(S n+1 , μ 0 ) of S n+1 . Hence, the result follows by PMI.

Some general questions and a necessary condition
The above theorem opens not only the general problem of determining all such Petri nets but also raises the question of determining such optimal Petri nets ; for example, one can ask 1. Precisely which Petri nets produce the set of all binary n-vectors with minimum repetitions?

2.
Precisely which Petri nets produce all the binary n-vectors in the smallest possible number of steps? As pointed out, these questions could be quite important from practical application point of view.

3.
Do there exist Petri nets that generate every binary n-vector exactly once?

4.
Is it not possible to take any marking other than (1, 1, 1, · · · , 1) as an initial marking for such a Petri net?
The following proposition and theorem answer the last two questions.

Proposition 1. [6] If a Petri net is Boolean then
Proof. Suppose C = (P, T, I − , I + , μ 0 ) is a Petri net which is Boolean and μ 0 (p i ) = 1 for some p i ∈ P. By the definition of a Petri net, no place can be isolated. Therefore p i has to be connected to some t i ∈ T. Now, three cases arise for consideration: In Case 1, since the given Petri net C is safe, • t i = ∅ [2]. Therefore, ∃ p j ∈ • t i for some p j ∈ P. p j will have either one token or no token. If p j has one token then t i is enabled and hence fires. After firing of t i , p j will have no token and p i will receive one token. So, both the places cannot have one token simultaneously. Hence, we will not get the marking vector whose components are all equal to 1. Again, if p j has no token then t i cannot fire, whence p i will never receive a token, which contradicts the assumption of the case. Case 2 follows from the arguments given for Case 1 above since, in particular, p i ∈ t • i . Also, in Case 3, as in the proof of Case 1 p i ∈ • t i implies that we cannot have the marking vector whose components are all equal to 1.
Proof. We shall prove this result again by using the PMI on n = |P|.
For n = 1, we construct a Petri net C 1 as shown in Figure 6. In this Petri net C 1 , Figure 6. Petri net C 1 and R(C 1 , μ 0 ) the total number of transitions = 2 1 − 1 = 1, Total number of transitions whose post-sets having no element = 1 C 0 = 1 and this transition is t 1 . Clearly, R(C 1 , μ 0 ) of C 1 generates both the binary 1-vectors (1) and (0) as shown in Figure  6 in the first step and after this step, transition becomes dead.
Next, for n = 2, the Petri net C 2 shown in Figure 7 has two places. In C 2 , we have The total number of transitions whose post-sets have one element = 2 C 1 = 2 and these transitions are t 1 , t 2 .
The total number of transitions whose post-sets have no element = 2 C 0 = 1 and this transition is t 3 .
It is clear from Figure 7 that R(C 2 , μ 0 ) has exactly 4 = 2 2 binary 2-vectors (a 1 , a 2 ), a 1 , a 2 ∈ {0, 1} in the first step and after this step, all the transitions become dead.
We can construct R(C 2 , μ 0 ) from R(C 1 , μ 0 ) as follows: Take two copies of R(C 1 , μ 0 ). In the first copy, augment each vector of R(C 1 , μ 0 ) by the adjunction of a '0' entry at the second coordinate of every marking vector and denote the resulting labeled tree as R 0 (C 1 , μ 0 ). Similarly, in the second copy, augment each vector by the adjunction of a '1' at the second coordinate of every marking vector and let R 1 (C 1 , μ 0 ) be the resulting labeled tree (see Figure 8). Now, using Augmented reachability trees and resulting labeled tree T 2 the following steps we construct the reachability tree R( Step-1. Clearly, the binary 2-vectors in R 0 (C 1 , μ 0 ) ∪ R 1 (C 1 , μ 0 ) are all distinct and are exactly 2 2 = 4 in number.
Step-3. In R 0 (C 1 , μ 0 ), the root node (1, 0) has the marking obtained after firing of transition t 2 in C 2 . Hence, we join the root node (1, 0) of R 0 (C 1 , μ 0 ) to the root node (1, 1) of R 1 (C 1 , μ 0 ) by an arc labeled t 2 so that (1, 0) would become the 'child node' obtained by firing t 2 in C 2 . Next, we join the child node (0, 0) of R 0 (C 1 , μ 0 ) to the root node (1, 1) of R 1 (C 1 , μ 0 ) by an arc labeled t 3 so that (0, 0) would become the child node obtained by firing t 3 in C 2 . Then, the resulting labeled tree T 2 has exactly 2 2 binary 2-vectors as its set of nodes. T 2 is indeed the reachability tree of C 2 because in C 2 all the transitions t 1 , t 2 and t 3 are enabled at the initial marking (1, 1) and fire. Further, after firing of each transition, the new markings obtained by the rule are (0, 1), (1, 0) and (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 2 = 4 binary 2-vectors in the first step only.
Next, suppose this result is true for n = k. That is, C k is the 1-safe Petri net having k-places and 2 k − 1 transitions t 1 , t 2 , t 3 , · · · , generating each of the 2 k binary k-vectors exactly once and having the structure as schematically shown in Figure 9 which has the following parameters: The total number of transitions whose post-sets have k − 1 elements = k C k−1 = k C 1 = k and these transitions are t 1 , t 2 , t 3 , · · · , t k . The total number of transitions whose post-sets have The total number of transitions whose post-sets have and these transitions are t k 2 +k+2 The total number of transitions whose post-sets have one element = k C 1 = k and these transitions are The total number of transitions whose post-sets have no element = k C 0 = 1 and this transition is t 2 k −1 .
We will now prove the result for the 1-safe Petri net C k+1 having k + 1 places and t 2 k+1 − 1 transitions and having the structure shown schematically in Figure-9. For this purpose, take two copies of R(C k , μ 0 ). In the first copy, augment each vector of R(C k , μ 0 ) by the adjunction of a '0' entry at the (k + 1) th coordinate of every marking vector and denote the resulting labeled tree as R 0 (C k , μ 0 ). Similarly, in the second copy, augment each vector by the adjunction of a '1' at the (k + 1) th coordinate of every marking vector and let R 1 (C k , μ 0 ) be the resulting labeled tree. Now, using the following steps we construct the reachability tree Step-1. The induction hypothesis implies that the binary (k are all distinct and they are exactly 2 k + 2 k = 2 k+1 in number. Step-2. In R 0 (C k , μ 0 ), none of the transitions is enabled at (1, 1, 1, · · · , 0).
It is clear that the Petri net constructed above generates each of the 2 n binary n-vectors exactly once in the very first step and, hence, is the smallest number of steps because no firing will take place after that step.
Hence, the result follows by the PMI.
Hence, we shall call a Boolean Petri net crisp if it generates every binary n−vector exactly once.
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 net will be called optimal.

Uniqueness of minimal crisp Petri net
The problem of characterizing 1-safe Petri nets generating all the 2 n 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. 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 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., Now, we need to show that C ∼ = C.
Toward this end, define a map ψ : 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 , μ 0 ) −→ M(C, μ 0 ) from the reachability set M(R(C , μ 0 )) of C onto the reachability set of C; this has the property that 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 is not an arc in C. This implies in C that the marking vector μ i whose i th component is zero does not get generated by firing t j or when t • j = ∅ the marking vector obtained by firing t j 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 ), ϕ(μ i )) in R(C, μ 0 ) and hence, from (1), it follows that (μ 0 , μ i ) 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.

A Boolean Petri net whose reachability graph is homomorphic to the complete lattice
As mentioned already, Boolean Petri nets generating all the 2 n 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 L n . This makes the problem of characterizing the crisp Boolean Petri nets appear quite intricate.  (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 V i and V j are adjacent whenever there exist vertices x ∈ V i and y ∈ V j 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 π(H) ∼ = G (read as "π(H) is 'isomorphic to' G"). Theorem 4. [7] Let C n = (P, T, I − , I + , μ 0 ) be the 1-safe Petri net consisting of n connected components, each isomorphic to C := −→ . Then the reachability tree of C n is homomorphic to the n-dimensional complete lattice L n .
Proof. We prove this result by using the PMI on the number of connected components each isomorphic to C .
Let n = 1. That is, C 1 has only one connected component C , whence C 1 = C . Then, the reachability tree of C 1 is the 1-dimensional complete lattice L 1 , in which the direction of the 'link' (or, 'arc') ((1), (0)) between the two 1-dimensional marking vectors (1) and (0) is shown as the 'vertical' one, as in Figure 10. The arc ((1), (0)) in L 1 , labeled as t 1 , signifies the fact that the transition t 1 fires at (1), moving the only token out of the place p 1 resulting in the next state of the Petri net in which t 1 is 'dead' in the sense that it no longer fires at (0). Therefore, the next state of the Petri net C 1 is determined by the zero vector (0) as the marking vector of C 1 . Thus, C 1 has just two states, viz., the 'active' one represented by the 1-dimensional 'unit vector' (1) and the 'dead' one represented by the 1-dimensional zero vector (0). Hence, the entire 'dynamics' of C 1 is completely represented by L 1 . Next, consider n = 2. That is, we have the 1-safe Petri net C 2 , consisting of two connected components, each isomorphic to C as shown in Figure 11, along with its reachability tree (seen as a connected acyclic digraph) that is isomorphic to the 2-dimensional complete lattice L 2 . In C 2 , the transitions t 1 and t 2 are . Petri net C 2 and its directed reachability tree L 2 both enabled. After firing t 1 and t 2 at the node (1, 1) successively, in the first step, we get the marking vectors (0, 1) and (1, 0) respectively. Here, we fix the direction of t 2 to be 'orthogonal' to that of t 1 in L 2 . Further, at (0, 1) the transition t 2 is enabled, which fires in the same direction as in the first step giving the marking (0, 0). Subsequently, at (1, 0) transition t 1 is enabled, which fires in the same direction as in its previous step of firing giving the marking (0, 0). After this second step of firing, both the transitions t 1 and t 2 become dead at (0, 0). Thus, it is clear from Figure 11 that the reachability tree L 2 of C 2 , seen as a connected acyclic digraph, has exactly 4 = 2 2 binary vectors (a 1 , a 2 ), a 1 , a 2 ∈ {0, 1} as the marking vectors of C 2 .
We can construct L 2 tactically from L 1 as follows.
Step1. Take two copies of L 1 . In the first copy, augment each vector of L 1 by one extra coordinate position on the right by putting a 0 entry in that position and denote the resulting labeled copy of L 1 as L 0 1 . Similarly, in the second copy, augment each vector by one extra coordinate position on the right by filling it with 1 and denote the resulting labeled copy of L 1 as L 1 1 .
Step2. Take the union L 0 1 ∪ L 1 1 and augment the new 'edges' (i.e., undirected line segments) joining those pairs of nodes whose marking vectors are at unit Hamming distance from each other. Direct each of these edges from the node, represented by its marking vector, at which t 2 fires to the node whose label (i.e., marking vector) gives the result of that firing. Accordingly, label each of such arcs by the label t 2 .
Thus, the directed arcs labeled t 2 join every node of L 1 1 to exactly one node in L 0 1 in a bijective manner as shown in Figure 12. In this way, we see that the resulting discrete structure L * 2 has 4 = 2 2 nodes which correspond to 2 2 binary vectors (a 1 , a 2 ), a 1 , a 2 ∈ {0, 1}. Clearly, L * 2 is nothing but the reachability tree L 2 of C 2 , seen as a connected acyclic digraph. Next, consider  = 3. That is, we have the 1-safe Petri net C 3 consisting of three connected components each isomorphic to C * as shown in Figure 13. In C 3 , all the three transitions t 1 , t 2 , t 3 are enabled. Hence, after firing the transitions t 1 , t 2 and t 3 successively at (1, 1, 1) we get the marking vectors (0, 1, 1), (1, 0, 1) and (1, 1, 0) respectively, in first step. Right here, we fix the directions of t 1 , t 2 and t 3 so as to be orthogonal to each other. Further, at (0, 1, 1) the transitions After firing them successively we get the marking vectors (0, 0, 1) and (0, 1, 0), respectively. Subsequently, firing t 1 and t 3 at (1, 0, 1) will give the marking vectors (0, 0, 1) and (1, 0, 0) respectively, whereas the firing of t 1 and t 2 at (1, 1, 0) give the marking vectors (0, 1, 0) and (1, 0, 0). On continuing the process of firing in the next (i.e., the third) step we get the marking vector (0, 0, 0) at which no transition is enabled. So, we have the reachability tree L 3 of C 3 , which is isomorphic to the 3-dimensional complete lattice L 3 , seen as a connected acyclic digraph.
We can construct L 3 from L 2 as follows.
Step1. Take two copies of L 2 . In the first copy, augment each vector of L 2 by one extra coordinate position on the extreme right by putting a 0 entry in that position; denote the resulting labeled copy of L 2 as L 0 2 . Similarly, in the second copy, augment each vector by one extra coordinate position on the extreme right by filling it with 1; denote the resulting labeled copy of L 2 as L 1 2 .
Step2. Take the union L 0 2 ∪ L 1 2 and augment the new 'edges' (i.e., undirected line segments) joining those pairs of nodes whose marking vectors are at unit Hamming distance from each other. Direct each of these edges from the node, represented by its marking vector, at which t 3 fires, to the node whose label (i.e., marking vector) gives the result of that firing. Accordingly, label each of such arcs by the label t 3 .
Thus, the directed arcs labeled t 3 join every node of L 1 2 to exactly one node in L 0 2 in a bijective manner as shown in Figure 14. In this way, we see that the resulting discrete structure L * 3 has 8 = 2 3 nodes which correspond to 2 3 binary vectors (a 1 , a 2 , a 3 ), a 1 , a 2 , a 3 ∈ {0, 1}. Clearly, L * 3 is nothing but the reachability tree L 3 of C 3 , seen as a connected acyclic digraph. Hence, let us assume that the result is true for n = k. That is, we have the 1-safe Petri net C k consisting of k connected components each isomorphic to C * and L k is isomorphic to the reachability tree of C k , seen as a connected acyclic digraph. Now, we will prove that the result is true for n = k + 1.
Step1. Take two copies of L k . In the first copy, augment each vector of L k by one extra coordinate position on the extreme right by putting a 0 entry in that position; denote the resulting labeled copy of L k as L 0 k . Similarly, in the second copy, augment each vector by one extra coordinate position on the extreme right by filling it with 1; denote the resulting labeled copy of L k as L 1 k .
Step2. Take the union L 0 k ∪ L 1 k and augment the new 'edges' (i.e., undirected line segments) joining those pairs of nodes whose marking vectors are at unit Hamming distance from each other. Direct each of these edges from the node, represented by its marking vector, at which t k+1 fires, to the node whose label (i.e., marking vector) gives the result of that firing. Accordingly, label each of such arcs by the label t k+1 .
It is now enough to show that L k+1 is indeed isomorphic to the reachability tree of C k+1 , seen as a connected acyclic digraph. Towards this end, consider the sets A 0 = {(a 1 , a 2 , . . . , a k+1 ) : a k+1 = 0} and A 1 = {(a 1 , a 2 , . . . , a k+1 ) : a k+1 = 1} Clearly, the subdigraph induced by A 0 is 'label-isomorphic' to L 0 k whose nodes are labeled by the 2 k (k + 1)-dimensional vectors in A 0 and the subdigraph induced by A 1 is 'label-isomorphic' to L 1 k whose nodes are labeled by the 2 k (k + 1)-dimensional vectors in A 1 . Every arc in L 0 k ∪ L 1 k is labeled by one of the transitions t 1 , t 2 , . . . , t k in such a way that for any two indices i, j ∈ {1, 2, . . . , k} t i and t j are in orthogonal or parallel directions in each of L 0 k and L 1 k according to whether i = j or i = j; thus, by Step 1 and the induction hypothesis, each of the k2 k−1 arcs in L 0 k (respectively, in L 1 k ) represents one of the transitions t 1 , t 2 , . . . , t k fired in accordance with the firing rule, yielding the next state marking vector from its previous state marking vector that is at unit Hamming distance from the former. Now, by Step 2, the edges joining those pairs of nodes whose marking vectors are at unit Hamming distance from each other are directed in such a way that each of the resulting arcs represents the firing of a new transition t k+1 at the node, represented by its marking vector in the reachability tree of C k+1 , yielding the node of the reachability tree of C k+1 whose label (i.e., marking vector) gives the result of that firing. Accordingly, label each of such arcs by the label t k+1 . Since no two marking vectors in A 0 or in A 1 are interconnected by an arc labeled t k+1 in the above scheme, it follows that every arc labeled t k+1 has its initial node in A 1 and terminal node in A 0 , signifying the fact that t k+1 fires at its initial node in A 1 and yields the next state marking vector that belongs to A 0 . Further, no two of these arcs have a common node (whence we say that they are independent). Also, every node in A 1 is joined to a unique node in A 0 at Hamming distance one by an arc labeled t k+1 in a bijective way and, therefore, the number of such arcs is 2 k .
The foregoing arguments imply that L k+1 indeed represents the reachability tree of C k+1 , being a connected acyclic digraph, invoking the PMI. Now, for any arbitrary positive integer n, construct the partition π H of the reachability tree R(C n , μ 0 ) by defining its 'parts' (which are subsets of the nodes of R(C n , μ 0 )) by letting V 0 = {(1, 1, . . . , 1)} and V i = {(a 1 , a 2 , . . . , a n ) : d H ((1, 1, . . . , 1), (a 1 , a 2 , . . . , a n )) = i}, for each i ∈ {1, 2, . . . , n}, where d H (A, B) denotes the Hamming distance between the vectors A and B of the same dimension. Clearly, |V i | = n C i for each i ∈ {0, 1, 2, . . . , n}, where n C k = n! k!(n−k)! will in general denote the number of ways in which k objects can be selected out of n given objects. Now, consider the mapping η μ 0 : V(R(C n , μ 0 )) → {0, 1} n that assigns to each node u ∈ R(C n , μ 0 ) the marking vector derived by the sequence of transitions fired starting from the initial marking vector μ 0 as specified by the unique path from the root vertex u 0 whose marking vector is μ 0 . Hence, we consider the refinement π H of π H defined as follows: For each i ∈ {0, 1, 2, . . . , n} and for each (a 1 , a 2 , . . . , a n ) ∈ V i , let U i (a 1 ,a 2 ,...,a n ) = {u ∈ V(R(C n , μ 0 )) : η μ 0 (u) = (a 1 , a 2 , . . . , a n )}. Then, clearly, U i 's form a partition of the set V i for each i ∈ {0, 1, 2, . . . , n}. It may be easily verified that no two marking vectors in V i are adjacent in R(C n , μ 0 ), whence π H is a homomorphism of R(C n , μ 0 ). Further, the homomorphic image π H (R(C n , μ 0 )) ∼ = L n because (V i , V i+1 ) is an arc in L n if and only if there is an arc from a marking vector in V i to a marking vector in V i+1 in R(C n , μ 0 ). This completes the proof.
In the above theorem, we have shown that by fixing the sequence of transitions in a Petri net for firing tactfully, one can produce the complete Boolean lattice as a homomorphic image of its reachability tree. One can perhaps produce many such interesting results like, for instance, getting the vertices of a regular polyhedron in terms of marking vectors and using them for analysis of Boolean circuits with given properties. This raises another new question, viz., to characterize 1-safe Petri nets whose reachability trees have a given property P.
Note that given any 1-safe Petri net C of order n, its reachability tree R(C, μ), with an arbitrary binary n-dimensional vector μ as its root, is essentially finite (cf.: [11]) and has all its nodes labeled by the function η μ into the vertex set of the Boolean complete lattice L n , possibly with repetitions of marking vectors. Consider the Hamming distance partition π H := π H (V (R(C, μ)) of the vertex-set of R(C, μ) defined by letting V 0 = {μ} and {(a 1 , a 2 , . . . , a n ) : d H (μ, (a 1 , a 2 , . . . , a n )) = i}, for each i ∈ {1, 2, . . . }. Then, its refinement π H = {V 0 , V 1 , V 2 , . . . , V n } is a homomorphism of R(C, μ) into a connected sublattice of L n . Thus, we are lead to the problem of determining 1-safe Petri nets whose reachability trees are homomorphic to a given sublattice of L n . First of all, we have the question whether for any arbitrarily given connected sublattice L of L n there exists a 1-safe Petri net whose usual reachability tree is homomorphic to L. We have a conjecture that the answer to this question is in the affirmative.
Next, given a connected sublattice L of L n , let C n L denote the set of all 1-safe Petri nets of order n whose reachability trees are homomorphic to L. Let L n denote the set of all pairwise nonisomorphic connected sublattices of L n . Clearly, {C n L : L ∈ L n } is a partition of the set S 1 of all 1-safe Petri nets of order n. In other words, 1-safe Petri nets in any one of the sets in C n L are all 'equivalent' in the sense that the dynamics of any two of them are in accordance with the given connected sublattice L of L n ; thus, it is enough to pick any one of them so that we have an option to choose the 'required' one as per our practical constraints.

Towards characterizing Boolean Petri nets
We discuss here some necessary and sufficiency conditions for a 1-safe Petri net to be Boolean.
Proof. Suppose p ∈ t • and p / ∈ • t. Since C is 1-safe, • t = ∅ ∀ t ∈ T (see [2]). This means that there exists at least one place p i ∈ P such that p i ∈ • t. Further, since C is Boolean, μ 0 (p)=1 ∀ p ∈ P (Proposition 1) and, therefore, every transition is enabled. In particular, t is enabled. After firing of t the place p will receive 2 tokens (∵ μ (p) = μ(p) − I − (p, t) + I + (p, t)), which contradicts the fact that the Petri net is 1-safe. Hence, p ∈ t • ⇒ p ∈ • t.

Lemma 3. [9]
If a 1-safe Petri net C = (P, T, I − , I + , μ 0 ), |P| = n is Boolean then the incidence matrix I of C contains −I n , the identity matrix of order n as a submatrix.
Proof. Since C is Boolean, μ 0 (p)=1 ∀ p ∈ P (Proposition 1). Again, because of the generation of all the binary n-vectors, the vectors of the type (0, 1, · · · , 1), (1, 0, 1, · · · , 1), · · · , (1, 1, · · · , 0) each at a Hamming distance 1 from the initial marking, have also been generated. These vectors can be obtained only in the first step of firing, as shown in Lemma 2. Therefore, ∀ p i ∈ P, i = 1, 2, 3, · · · , n, there exist n distinct transitions, say t 1 ,t 2 ,t 3 ,· · · ,t n such that p i ∈ • t i and p i / ∈ t • i and hence I − (p i , t j )=1 if i=j and 0 if i = j and also I + (p i , t i ) = 0 ∀ i = 1, 2, 3, · · · , n. Since I=I + -I − , I contains −I n as a submatrix. Proof. Suppose, under the hypothesis, there does not exist any t ∈ T such that t • = ∅; i.e., t • = ∅ for every t ∈ T. Since t • = ∅, p ∈ t • for some p ∈ P. Then, by Lemma 1, p ∈ • t. Then, at p, the number of tokens remains one throughout the dynamic states of C. This implies that the vector (0, 0, · · · , 0) would never occur as a marking vector, a contradiction to the hypothesis. Therefore, the lemma follows by contraposition. Now, we will study necessary and sufficient conditions for a 1-safe Petri net that generates all the binary n-vectors as its marking vectors. Sufficiency: Given the hypothesis and conditions (1), (2) and (3), we claim that C is Boolean. Since I = I + − I − and t • = ∅, ∀ t ∈ T, I + = 0. This implies that I = −I − . Since I contains −I n as a submatrix, ∀ p i ∈ P, ∃ t i ∈ T such that p i ∈ • t i ∀ i = 1, 2, · · · , n. Also, μ 0 (p) = 1 ∀p ∈ P. Therefore, all the n transitions t 1 , t 2 , · · · , t n are enabled and fire. After firing, we get distinct n C 1 = n marking vectors whose Hamming distance is 1 from the initial marking vector. At these n new marking vectors, n − 1 transitions are enabled and give at least n C 2 distinct marking vectors, each of whose Hamming distance is 2 from the initial marking. Therefore this set of new vectors contains at least n C 2 new distinct binary n−vectors.
In general, at any stage j, 3 ≤ j ≤ n, we get a set of at least n C j new distinct binary n-vectors whose Hamming distance is j from the initial marking, which are also distinct from the sets of n C r distinct marking vectors for all r, 2 ≤ r ≤ j − 1. Therefore, at the n th stage we would have obtained at least n C 1 + n C 2 + · · · + n C n =2 n − 1 distinct binary n-vectors. Together with the initial marking (1, 1, · · · , 1), we thus see that all the 2 n binary n-vectors would have been obtained as markings vectors, possibly with repetitions. Theorem 6. [9] A 1-safe Petri net C = (P, T, I − , I + , μ 0 ), |P| = n with I − (p i , t j ) = 1 ∀ i, j is Boolean if and only if there exist at least n C r , r = 1, 2, · · · , n distinct transitions t ∈ T such that |t • | = n − r, where r is the Hamming distance of any binary n-vector from the initial marking (1, 1, · · · , 1).
Sufficiency: Since μ 0 (p) = 1 ∀p, all the transitions are enabled and fire. After firing they all become dead as I − (p i , t j ) = 1 ∀ i, j. This implies that the matrix I − is of order n × m where m ≥ 2 n − 1 and the matrix I + gets constructed as follows. By hypothesis, there are at least n C 1 = n distinct transition in C say t 1 , t 2 , · · · , t n which on firing generate all the binary n-vectors each having exactly one zero because |t • i | = n − 1 (w.l.o.g., we assume that there is no arc from t i to p i i.e., I + (p i , t i ) = 0 for i = 1, 2, · · · , n). Thus, we place the transpose of these binary n-vectors as the first n-columns in I + matrix. Next, by hypothesis, we have n C 2 distinct transitions, say t n+1 , t n+2 , · · · , tn C 2 , such that |t • j | = n − 2. Since they all become dead after firing and |t • j | = n − 2 for all n + 1 ≤ j ≤ n C 2 these must generate all the distinct binary n-vectors each having exactly two zeros. Hence, the transpose of these n C 2 vectors are placed as columns in the matrix I + immediately after the previous n = n C 1 columns. We are thus enabled by the hypothesis to construct the submatrix H of order n × (2 n − 1) of I + which contains all the 2 n − 1 distinct binary n-vectors, the last column of H being the all zero n-vector. We may augment to H the initial all-one n-vector as a column either on the extreme left or on the extreme right of H in I + . Let the so augmented submatrix of I + have more columns. That means, each one of them is a repetition of some column in H. Thus, we see that the Petri net C generates all the binary n-vectors as its marking vectors. Proof. Necessity: Suppose that the 1-safe Petri net C with an SCC covering all the places is Boolean. In part 1 of the statement of the theorem, let μ 0 (p i ) = 1 for some p i ∈ P. Then, μ 0 (p i ) = 0. Since C has an SCC, we cannot get one token in the place p i . So, we cannot get all the binary n-vectors, which is a contradiction to the hypothesis.
In part 2 of the theorem, since C generates all the binary n-vectors, we have (0, 0, · · · , 0) as a marking vector. This vector can be obtained only if there is a transition t such that t • =∅, by virtue of Lemma 4. We claim that such a transition t does not belong to Z. Suppose t ∈ Z=(p 1 , t 1 , p 2 , t 2 , p 3 , t 3 , · · · , p n−1 , t n−1 , p n , t n , p 1 ) where (p i , t i ) is a single arc in C and (t i , p i+1 ) is a symmetric arc in C. This means, t = t i for some i, 1 ≤ i ≤ n. This implies, |t • |=|t • i |=1, which is a contradiction to our assumption that t • =∅. Therefore, t does not belong to any SCC.
Sufficiency: Since μ 0 (p) = 1 ∀ p ∈ P, all the transitions belonging to Z are enabled and fire. After firing, they give n C 1 distinct binary n-vectors a 1 = (0, 1, 1, · · · , 1), a 2 = (1, 0, 1, · · · , 1), · · · , a i = (1, 1, · · · , 1, 0, 1, · · · , 1), · · · , a n = (1, 1, · · · , 1, 0), whose Hamming distance is 1 from μ 0 , since p • i ={t i−1 , t i } for i > 1 and p • 1 ={t 1 , t n }, at each of these vectors a i , exactly (n − 2) remaining transitions on Z are enabled and fire. After firing them, we get at least n C 2 distinct marking vectors each of whose Hamming distance from μ 0 is 2 because in this second stage of firing there are n(n − 2) binary n-vectors in each of which there are exactly two zeros. In the third stage, at least n C 3 distinct marking vectors are obtained by firing the above n-vectors obtained in the second stage and each of these vectors contains exactly three zeros. Continuing in this manner in the r th stage we get at least n C r distinct marking vectors, each containing exactly r zeros, by firing all the n-vectors obtained in the (r − 1) stage. Since r ranges from 1, 2, · · · , (n − 1), we thus obtain at least n C 1 + n C 2 + n C 3 +· · · + n C n−1 which is equal to 2 nn C 0 -n C n =2 n -2 distinct n-marking vectors. Since all of them are distinct from μ 0 as well as from the zero vector (0, 0, · · · , 0), which is obtained due to the hypothesis that there exists a transition t outside Z such that t • = ∅. Thus, we see that all the 2 n distinct binary n-vectors are generated by C. Lemma 5. Let C = (P, T, I − , I + , μ 0 ), |P| = n be a 1-safe Petri net with μ 0 (p) = 1 ∀ p ∈ P and let Z be an SCC that passes through all the n places. Then any Petri net C obtained from C by the deletion of any of the self loops belonging to Z generates all the binary n-vectors.
Proof. First, we note that the removal of any self-loop from C results in a Petri net C with μ 0 (p) = 1 ∀ p ∈ P and a transition t such that t • = ∅. Now, if C has an SCC Z then by Theorem 7, C is Boolean and hence there is nothing to prove. Hence, without loss of generality, we may assume that the given Petri net C has an SCC, say Z. We shall then prove the result by invoking the PMI on n = |P|. First, let n = 1. Then C does not contain any SCC and, therefore C = C. Further, it is easy to verify that C generates all the binary 1-vectors, namely (1), (0) as shown in Figure 16. Next, let n = 2. Then C contains the following fires. After firing t 2 , we get the marking vector μ 1 = (1, 0). Since t 1 fires simultaneously with t 2 , we get the marking vector μ 2 = (0, 1). At this stage, t 2 is enabled and after firing, it gives the marking vector μ 3 = (0, 0). Hence we can obtain these marking vectors procedurally by taking two marking vectors obtained in the previous case namely, (1), (0) as follows.
Step-1. Augment 1 in the second position (corresponding to the case t • 2 = ∅) in each of these vectors.
Next, take n = k ≥ 3 and assume the validity by the above procedure to get all the 2 k binary k-vectors.
Let n = k + 1. Then, apply the following procedure.
Step-II. In this case, t k+1 fires and after firing we get the marking vectors (a 1 , a 2 , · · · , a k , 0).
By the induction hypothesis, we have all the 2 k marking vectors to which Step-I has been applied to obtain the 2 k binary (k + 1)-vectors as marking vectors (because of firing at each stage), having 1 in the (k + 1) th coordinate. Further, each of these 2 k binary (k + 1)-vectors has been fired using Step-II to obtain the binary (k + 1)-vectors of the form (a 1 , a 2 , · · · , a k , 0) which are all distinct from those obtained in Step-I. Together, therefore, we have obtained 2 k + 2 k = 2 k+1 binary (k + 1)-vectors as marking vectors from C . Thus, the proof follows by PMI.

An embedding theorem and complexity
The following is a "frustration theorem" due to the negative fact it reveals, to the effect that one cannot hope to have a "forbidden subgraph characterization" of a Boolean Petri net. Theorem 8. [10]: Every 1-safe Petri net C = (P, T, I − , I + , μ 0 ), |P| = n with μ 0 (p) = 1 ∀ p ∈ P can be embedded as an induced subnet of a Boolean Petri net.
Proof. Let C = (P, T, I − , I + , μ 0 ), |P| = n be a 1-safe Petri net. If C is a Boolean Petri net then there is nothing to prove. Hence, assume that C is not a Boolean Petri net. Then, we have the following steps to obtain a Boolean Petri net C in which C is one of its induced subnets.
Step-1: First of all, find those places in C each of whose postsets has single distinct sink transitions (if the postset of a place has more than one distinct sink transitions then choose only one transition giving K 2 ). Suppose such places are p 1 , p 2 , · · · , p k , 1 ≤ k < n. If there is no sink transition in C, then augment one sink transition to each place in C.
Step-2: Augment n − k new transitions and join each of them to the remaining n − k places in C by an arc from a place to a new transition creating n − k new active transitions.
Step-3: Thus, in C we have n-copies of K 2 as its subgraph. Since μ 0 (p) = 1 ∀p ∈ P, all the transitions are enabled. Firing of n transitions forming n 'pendant transitions' will produce n C 1 distinct binary n-vectors whose Hamming distance is 1 from the initial marking vector. At these marking vectors, n − 1 transitions out of those n transitions are enabled, and after firing give at least n C 2 distinct marking vectors, each of whose Hamming distance is 2 from the initial marking.
In general at any stage j, 3 ≤ j ≤ n, we get a set of at least n C j new distinct binary n-vectors whose Hamming distance is j from the initial marking, which are also distinct from the sets of n C r distinct marking vectors for all r, 2 ≤ r ≤ j − 1. Therefore, at the n th stage we would have obtained at least n C 1 + n C 2 + · · · + n C n =2 n − 1 distinct binary n-vectors. Together with the initial marking (1, 1, · · · , 1), we thus see that all the 2 n binary n-vectors would have been obtained as marking vectors, possibly with repetitions. Thus C is Boolean. Therefore, every 1-safe Petri net C can be embedded as an induced subgraph of a Boolean Petri net.

Scope for research
Precisely which Petri nets generate all the binary n-vectors as their marking vectors, or the so-called Boolean Petri net? This has been a hotly pursued research problems. We have shown in this chapter some necessary and sufficient conditions to characterize a Boolean Petri net, containing an SCC. However, the general problem of characterizing such a 1-safe Petri net C, when C does not contain an SCC or a strong chain, is still open. A Petri net containing an SCC is strongly connected, in the graph-theoretical sense that any two nodes in it are mutually reachable. However, the converse is not true; that is, if the underlying digraph of a Petri net is strongly connected, it need not contain an SCC. So, even a characterization of strongly connected Boolean Petri net is an open problem. Further, in general, characterizing crisp Boolean Petri nets is open too. If we relax the condition on the depth of the reachability tree in our original definition of minimality of a 'minimal' crisp Boolean Petri net and require instead that the number of enabled transitions be kept at minimum possible, the reachability graphs of such Petri nets may not have their underlying graph structures isomorphic to K 1,2 n −1 , whence they would all be trees of the same order 2 n . Since they would be finite in number, determination of the structures of such Petri nets and their enumeration would be of potential practical interest. It involves orienting trees of order 2 n (in general, for theoretical purposes, trees of any order as such) that admit an orientation of their edges to make them the reachability trees of minimal 1−safe crisp Boolean Petri nets.

Concluding remarks
As pointed out, many fundamental issues regarding Boolean Petri nets emerge from the above study. For example, it is found and established that the reachability tree of a 1-safe Petri net can be homomorphically mapped on to the n-dimensional complete Boolean lattice, thereby yielding new techniques to represent the dynamics of these Petri nets. One can expect to bring out in the near future some salient features of 1-safe Petri nets in general as a part of a theory that is likely to emerge even in our work.
Following our first discovery of an infinite class of 1-safe star Petri nets that are Boolean, we came across crisp Boolean Petri nets, viz., that generate every binary n-vector as marking vector exactly once. This motivated us to move towards a characterization of such 1-safe Petri nets in general. Our work towards this end revealed to our surprise that there can be even such disconnected 1-safe Petri nets. We demonstrated the existence of a disconnected 1-safe Petri net which was obtained by removing the central transition from the star Petri net S n , whose reachability tree can be tactically represented as an n-dimensional complete lattice L n [7]. In this disconnected Petri net, the firing of transitions in a particular way (which we may regard as a 'tact' or 'strategy'), gives exactly 2 n marking vectors, repetitions occurring possibly only within a level, that can be arranged as a homomorphic image of the reachability tree of the Petri net, forming the n-dimensional complete Boolean lattice L n .
The results of this chapter can perhaps be used gainfully in many purely theoretical areas like mathematics, computer science, universal algebra and order theory, the extent and effectiveness of its utility in solving the practical problem requiring the design of multi-functional switches for the operation of certain discrete dynamical systems of common use such as washing machines and teleprinters (e.g., see [1]).