Network Models from Petri Nets with Catalysts

Petri networks and network models are two frameworks for the compositional design of systems of interacting entities. Here we show how to combine them using the concept of a"catalyst": an entity that is neither destroyed nor created by any process it engages in. In a Petri net, a place is a catalyst if its in-degree equals its out-degree for every transition. We show how a Petri net with a chosen set of catalysts gives a network model. This network model maps any list of catalysts from the chosen set to the category whose morphisms are all the processes enabled by this list of catalysts. Applying the Grothendieck construction, we obtain a category fibered over the category whose objects are lists of catalysts. This category has as morphisms all processes enabled by some list of catalysts. While this category has a symmetric monoidal structure that describes doing processes in parallel, its fibers also have premonoidal structures that describe doing one process and then another while reusing the catalysts.


Introduction
Petri nets are a widely studied formalism for describing collections of entities of different types, and how they turn into other entities [9,18].Network models are a formalism for designing and tasking networks of agents [2,16].Here we combine the two.This is worthwhile because while both formalisms involve networks, they serve different functions, and are in some sense complementary.
A Petri net can be drawn as a bipartite directed graph with vertices of two kinds: 'places', drawn as circles below, and 'transitions' drawn as squares: In applications to chemistry, places are also called 'species'.When we run a Petri net, we start by placing a finite number of 'tokens' in each place: This is called a 'marking'.Then we repeatedly change the marking using the transitions.For example, the above marking can change to this: Thus, the places represent different types of entity, and the transitions describe ways that one collection of entities of specified types can turn into another such collection.
Network models serve a different function than Petri nets: they are a general tool for working with networks of many kinds.Mathematically a network model is a lax symmetric monoidal functor G : S(C) → Cat, where S(C) is the free strict symmetric monoidal category on a set C. Elements of C represent different kinds of 'agents'.Unlike in a Petri net, we do not usually consider processes where these agents turn into other agents.Instead, we wish to study everything that can be done with a fixed collection of agents.Any object x ∈ S(C) is of the form c 1 ⊗ • • • ⊗ c n for some c i ∈ C; thus, it describes a collection of agents of various kinds.The functor G maps this object to a category G(x) that describes everything that can be done with this collection of agents.
In many examples considered so far, G(x) is a category whose morphisms are graphs whose nodes are agents of types c 1 , . . ., c n .Composing these morphisms corresponds to 'overlaying' graphs.Network models of this sort let us design networks where the nodes are agents and the edges are communication channels or shared commitments.In our first paper the operation of overlaying graphs was always commutative [2].Subsequently we introduced a more general noncommutative overlay operation [16].This lets us design networks where each agent has a limit on how many communication channels or commitments it can handle; the noncommutativity allows us to take a 'first come, first served' approach to resolving conflicting commitments.
Here we take a different tack: we instead take G(x) to be a category whose morphisms are processes that the given collection of agents, x, can carry out.Composition of morphisms corresponds to carrying out first one process and then another.
This idea meshes well with Petri net theory, because any Petri net P determines a symmetric monoidal category F P whose morphisms are processes that can be carried out using this Petri net.More precisely, the objects in F P are markings of P , and the morphisms are sequences of ways to change these markings using transitions, e.g.: Given a Petri net, then, how do we construct a network model G : S(C) → Cat, and in particular, what is the set C? In a network model the elements of C represent different kinds of agents.In the simplest scenario, these agents persist in time.Thus, it is natural to take C to be some set of 'catalysts'.In chemistry, a reaction may require a catalyst to proceed, but it neither increases nor decrease the amount of this catalyst present.For a Petri net, 'catalysts' are species that are neither increased nor decreased in number by any transition.For example, species a is a catalyst in the following Petri net, so we outline it in red: but neither b nor c is a catalyst.The transition τ 1 requires one token of type a as input to proceed, but it also outputs one token of this type, so the total number of such tokens is unchanged.Similarly, the transition τ 2 requires no tokens of type a as input to proceed, and it also outputs no tokens of this type, so the total number of such tokens is unchanged.
In Theorem 9 we prove that given any Petri net P , and any subset C of the catalysts of P , there is a network model G : S(C) → Cat.An object x ∈ S(C) says how many tokens of each catalyst are present; G(x) is then the subcategory of F P where the objects are markings that have this specified amount of each catalyst, and morphisms are processes going between these.
From the functor G : S(C) → Cat we can construct a category G by 'gluing together' all the categories G(x) using the Grothendieck construction.Because G is symmetric monoidal we can use an enhanced version of this construction to make G into a symmetric monoidal category [15].The tensor product in G describes doing processes 'in parallel'.The category G is similar to F P , but it is better suited to applications where agents each have their own 'individuality', because F P is actually a commutative monoidal category, where permuting agents has no effect at all, while G is not so degenerate.In Theorem 12 we make this precise by more concretely describing G as a symmetric monoidal category, and clarifying its relation to F P .
There are no morphisms between an object of G(x) and an object of G(x ) unless x ∼ = x , since no transitions can change the amount of catalysts present.The category F P is thus a 'disjoint union', or more precisely a coproduct, of subcategories F P i where i, an element of free commutative monoid on C, specifies the amount of each catalyst present.The tensor product on F P has the property that tensoring an object in F P i with one in F P j gives an object in F P i+j , and similarly for morphisms.
However, in Prop.15 we show that each subcategory F P i also has its own tensor product, which describes doing one process and then another while reusing catalyst tokens.This tensor product makes F P i into a 'premonoidal category'-an interesting generalization of a monoidal category which we recall.Finally, in Theorem 17 we show that these monoidal structures define a lift of the functor G : S(C) → Cat to a functor Ĝ : S(C) → PreMonCat, where PreMonCat is the category of strict premonoidal categories.

Petri Nets
A Petri net generates a symmetric monoidal category whose objects are tensor products of species and whose morphisms are built from the transitions by repeatedly taking composites and tensor products.There is a long line of work on this topic starting with the papers of Meseguer-Montanari [14] and Engberg-Winskel [7], both dating to roughly 1990.It continues to this day, because the issues involved are surprisingly subtle [6,13,[20][21][22][23].In particular, there are various kinds of symmetric monoidal categories to choose from.Following our work with Master [3] we use 'commutative' monoidal categories.These are just commutative monoid objects in Cat, so their associator: their left and right unitor: and even their braiding: are all identity morphisms.While every symmetric monoidal category is equivalent to one with trivial associator and unitors, this ceases to be true if we also require the braiding to be trivial.However, it seems that Petri nets most naturally serve to present symmetric monoidal categories of this very strict sort.Thus, we shall describe a functor from the category of Petri nets to the category of commutative monoidal categories, which we call CMC: To begin, let CMon be the category of commutative monoids and monoid homomorphisms.There is a forgetful functor from CMon to Set that sends commutative monoids to their underlying sets and monoid homomorphisms to their underlying functions.It has a left adjoint N : Set → CMon sending any set X to the free commutative monoid on X.An element a ∈ N[X] is formal linear combination of elements of X: a where the coefficients a x are natural numbers and all but finitely many are zero.The set X naturally includes in N[X], and for any function f : is the unique monoid homomorphism that extends f .We often abuse language and use N[X] to mean the underlying set of the free commutative monoid on X.

Definition 1.
A Petri net is a pair of functions of the following form: We call T the set of transitions, S the set of places or species, s the source function, and t the target function.We call an element of N[S] a marking of the Petri net.
For example, in this Petri net: The term 'species' is used in applications of Petri nets to chemistry.Since the concept of 'catalyst' also arose in chemistry, we henceforth use the term 'species' rather than 'places'.

Definition 2.
A Petri net morphism from the Petri net P to the Petri net P is a pair of functions (f : T → T , g : S → S ) such that the following diagrams commute: Petri denote the category of Petri nets and Petri net morphisms with composition defined by

Definition 3. A commutative monoidal category is a commutative monoid object in (Cat, ×).
Let CMC denote the category of commutative monoid objects in (Cat, ×).
More concretely, a commutative monoidal category is a strict monoidal category for which a ⊗ b = b ⊗ a for all pairs of objects and all pairs of morphisms, and the braid isomorphism a ⊗ b → b ⊗ a is the identity map.
Every Petri net P = (s, t : T → N[S]) gives rise to a commutative monoidal category F P as follows.We take the commutative monoid of objects Ob(F P ) to be the free commutative monoid on S. We construct the commutative monoid of morphisms Mor(F P ) as follows.First we generate morphisms recursively: • for every transition τ ∈ T we include a morphism τ : s(τ ) → t(τ ); • for any object a we include a morphism 1 a : a → a; • for any morphisms f : a → b and g : a → b we include a morphism denoted f + g : a + a → b + b to serve as their tensor product; • for any morphisms f : a → b and g : b → c we include a morphism g • f : a → c to serve as their composite.
Then we quotient by an equivalence relation on morphisms that imposes the laws of a commutative monoidal category, obtaining the commutative monoid Mor(F P ).
Similarly, morphisms between Petri nets give morphisms between their commutative monoidal categories.Given a Petri net morphism we define the functor F (f, g) : F P → F P to be N[g] on objects, and on morphisms to be the unique map extending f that preserves identities, composition, and the tensor product.This functor is strict symmetric monoidal.
Proposition 4.There is a functor F : Petri → CMC defined as above.
Proof.This is straightforward; the proof that F is a left adjoint is harder [13], but we do not need this here.

Catalysts
One thinks of a transition τ of a Petri net as a process that consumes the source species s(τ ) and produces the target species t(τ ).An example of something that can be represented by a Petri net is a chemical reaction network [1,4].Indeed, this is why Carl Petri originally invented them.A 'catalyst' in a chemical reaction is a species that is necessary for the reaction to occur, or helps lower the activation energy for reaction, but is neither increased nor depleted by the reaction.We use a modest generalization of this notion, defining a catalyst in a Petri net to be a species that is neither increased nor depleted by any transition in the Petri net.Given a Petri net s, t : T → N[S], recall that for any marking a ∈ N[S] we have for certain coefficients a x ∈ N. Thus, for any transition τ of a Petri net, s(τ ) x is the coefficient of the place x in the source of τ , while t(τ ) x is its coefficient in the target of τ .Suppose we have a Petri net with catalysts (P, C).Recall that the set of objects of F P is the free commutative monoid N[C].We have a natural isomorphism We write for the projection.Given any object a ∈ F P , π C (a) says how many catalysts of each species in C occur in a.Thus, F P is the coproduct of all the subcategories F P i : F P i as categories.The subcategories F P i are not generally monoidal subcategories because if a, b ∈ F P and a + b is their tensor product then and similarly for morphisms.Thus, we can think of F P as a commutative monoidal category 'graded' by N[C].But note we are free to reinterpret any process as using a greater amount of various catalysts, by tensoring it with identity morphism on this additional amount of catalysts.That is, given any morphism in F P i , we can always tensor it with the identity on j to get a morphism in F P i+j .
Since N[C] is a commutative monoid we can think of it as a commutative monoidal category with only identity morphisms, and we freely do this in what follows.Network models rely on a similar but less trivial way of constructing a symmetric monoidal category from a set C. Namely, for any set C there is a category S(C) for which: • Objects are formal expressions of the form When n = 0 we write this expression as I.
• There exist morphisms f : only if m = n, and in that case a morphism is a permutation σ ∈ S n such that c σ(i) = c i for all i = 1, . . ., n.
• Composition is the usual composition of permutations.
In short, an object of S(C) is a list of catalysts, possibly empty, and allowing repetitions.A morphism is a permutation that maps one list to another list.As shown in [2, Prop.17], S(C) is the free strict symmetric monoidal category on the set C. There is thus a strict symmetric monoidal functor and sending every morphism to an identity morphism.This can also be seen directly.In what follows, we use this functor p to construct a lax symmetric monoidal functor G : S(C) → Cat, where Cat is made symmetric monoidal using its cartesian product.given by the tensor product in F P , and the map φ : 1 → F P 0 sending the unique object of the terminal category 1 ∈ Cat to the unit for the tensor product in F P , which is the object 0 ∈ F P 0 .
Proof.Recall that G is the composite of p : S(C) → N[C] and H : N[C] → Cat.The functor p is strict symmetric monoidal.The functor p is strict symmetric monoidal.One can check that the functor H becomes lax symmetric monoidal if we equip it with the lax structure map given by the tensor product in F P , and the map 1 → F P 0 sending the unique object of 1 ∈ Cat to the unit for the tensor product in F P , namely 0 ∈ N[S] = Ob(F P ).Composing the lax symmetric monoidal functor H and with the strict symmetric monoidal functor p, we obtain the lax symmetric monoidal functor G described in the theorem statement.
In our previous paper [2], a C-colored network model was defined to be a lax symmetric monoidal functor from S(C) to Cat.Species a and b are catalysts, and the rest are not.We thus can take C = {a, b} and obtain a Petri net with catalysts (P, C), which in turn gives a Petri network model G : S(C) → Cat.We outline catalyst species in red, and also draw the edges connecting them to transitions in red.
Here is one possible interpretation of this Petri net.Tokens in c represent people at a base on land, tokens in d are people at the shore, and tokens in e are people on a nearby island.Tokens in a represent jeeps, each of which can carry two people at a time from the base to the shore and then return to the base.Tokens in b represent boats that carry one person at a time from the shore to the island and then return.
Let us examine the effect of the functor G : S(C) → Cat on various objects of S(C).The object a ∈ S(C) describes a situation where there is one jeep present but no boats.The category G(a) is isomorphic to F X, where X is this Petri net:

That is, people can go from the base to the shore in pairs, but they cannot go to the island. Similarly, the object b describes a situation with one boat present but no jeeps, and the category G(b) is isomorphic to F Y , where Y is this Petri net:
Now people can only go from the shore to the island, one at a time.That this defines a functor is clear; the surprising part is that it is an isomorphism.One might have thought that the presence of a second boat would enable one to carry out a given task in more different ways.Indeed, while this is true in real life, the category F P is commutative monoidal, so tokens of the same species have no 'individuality': permuting them has no effect.There is thus, for example, no difference between the following two morphisms in F P b+b : • using one boat to transport one person from the base to shore and another boat to transport another person, and • using one boat to transport first one person and then another.
It is useful to draw morphisms in F P as string diagrams, since such diagrams serve as a general notation for morphisms in monoidal categories [12].For expository treatments, see [5,24].The rough idea is that objects of a monoidal category are drawn as labelled wires, and a morphism f :

drawn as a box with m wires coming in on top and n wires coming out at the bottom. Composites of morphisms are drawn by attaching output wires of one morphism
to input wires of another, while tensor products of morphisms are drawn by setting pictures side by side.In symmetric monoidal categories, the braiding is drawn as a crossing of wires.The rules governing string diagrams let us manipulate them while not changing the morphisms they denote.In the case of symmetric monoidal categories, these rules are well known [12,24].For commutative monoidal categories there is one additional rule: This says both that x ⊗ y = y ⊗ x and that the braiding σ x,y : x ⊗ y → y ⊗ x is the identity.
Here is the string diagram notation for the equation we mentioned between two morphisms in We draw the object b (standing for a boat) in red to emphasize that it serves as a catalyst.At left we are first using one boat to transport one person from the base to shore, and then using another boat to transport another person.At right we are using the same boat to transport first one person and then another, while another boat stands by and does nothing.These morphisms are equal because they differ only by the presence of the braiding σ b,b : b + b → b + b in the left hand side, and this is an identity morphism.
The above example illustrates an important point: in the commutative monoidal category F P , permuting catalyst tokens has no effect.Next we construct a symmetric monoidal category G in which permuting such tokens has a nontrivial effect.One reason for wanting this is that in applications, the catalyst tokens may represent agents with their own individuality.For example, when directing a boat to transport a person from base to shore, we need to say which boat should do this.For this we need a symmetric monoidal category that gives the catalyst tokens a nontrivial braiding.
To create this category, we use the symmetric monoidal Grothendieck construction [15].Given any symmetric monoidal category X and any lax symmetric monoidal functor F : X → Cat, this construction gives a symmetric monoidal category F equipped with a functor (indeed an opfibration) F → X.In our previous work [2] we used this construction to build an operad from any network model, whose operations are ways to assemble larger networks from smaller ones.Now this construction has a new significance.
Starting from a Petri network model G : S(C) → Cat, the symmetric monoidal Grothendieck construction gives a symmetric monoidal category G in which: • an object is a pair (x, a) where x ∈ S(C) and a ∈ F P p(x) .
• a morphism from (x, a) to (x , a ) is a pair (σ, f ) where σ : x → x is a morphism in S(C) and f : a → a is a morphism in F P .
• the tensor product is computed componentwise: in particular, the tensor product of objects (x, a) and (x , a ) is (x ⊗ x , a + a ).
• the associators, unitors and braiding are also computed componentwise (and hence are trivial in the second component, since F P is a commutative monoidal category).
The functor G → S(C) simply sends each pair to its first component.This is simpler than one typically expects from the Grothendieck construction.There are two main reasons: first, G maps every morphism in S(C) to an identity morphism in Cat, and second, the lax structure map for G is simply the tensor product in F P .However, this construction still has an important effect: it makes the process of switching two tokens of the same catalyst species into a nontrivial morphism in G.More formally, we have: Proof.One can read this off from the description of G given above.
The difference between G and F P is that the former category keeps track of processes where catalyst tokens are permuted, while the latter category treats them as identity morphisms.In the terminology of Glabbeek and Plotkin, G implements the 'individual token philosophy' on catalysts, in which permuting tokens of the same catalyst is regarded as having a nontrivial effect [11].By contrast, F P implements the 'collective token philosophy', where all that matters is the number of tokens of each catalyst, and permuting them has no effect.
There is a map from G to F P that forgets the individuality of the catalyst tokens.A morphism in G is a pair (σ, f ) where σ : x → x is a morphism in S(C) and f : a → a is a morphism in F P with a ∈ G(x), a ∈ G(x ).There is a symmetric monoidal functor G → F P that discards this extra information, mapping (σ, f ) to f .The symmetric monoidal Grothendieck construction also gives a symmetric monoidal functor and this maps (σ, f ) to σ.This functor is an opfibration on general grounds [15].because the braiding of catalyst species in G is nontrivial.This says that in G we consider these two processes as different: • using one boat to transport one person from the base to shore and another boat to transport another person, and • using one boat to transport first one person and then another.because these morphisms differ only by two people on the shore switching place before they board the boats, and the braiding of non-catalyst species is the identity.In short, the G construction implements the individual token philosophy only for catalyst tokens; tokens of other species are governed by the collective token philosophy.

Premonoidal Categories
We have seen that for a Petri net P , a choice of catalysts C lets us write the category F P as a coproduct of subcategories F P i , one for each possible amount i ∈ N[C] of the catalysts.The subcategory F P i is only a monoidal subcategory when i = 0. Indeed, only F P 0 contains the monoidal unit of F P .However, we shall see that each subcategory F P i can be given the structure of a premonoidal category, as defined by Power and Robinson [19].We motivate our use of this structure by describing two failed attempts to make F P i into a monoidal category.Given two morphisms in F P i we typically cannot carry out these two processes simultaneously, because of the limited availability of catalysts.But we can do first one and then the other.For example, imagine that two people are trying to walk through a doorway, but the door is only wide enough for one person to walk through.The door is a resource that is not depleted by its use, and thus a catalyst.Both people can use the door, but not at the same time: they must make an arbitrary choice of who goes first.
We can attempt to define a tensor product on F P i using this idea.Fix some amount of catalysts i ∈ N[C].Objects of F P i are of the form i + a with a ∈ N[S − C].On objects we define The unit object for ⊗ i is therefore i + 0, or simply i.For morphisms The tensor product f ⊗ i f = (f + 1 b ) • (1 a + f ) of morphisms in F P i involves an arbitrary choice: namely, the choice to do f first.This is perhaps clearer if we draw this morphism as a string diagram in F P .If instead we choose to do f first, we can define a tensor product i ⊗ which is the same on objects but given on morphisms by Unfortunately, neither of these tensor products makes F P i into a monoidal category!Each makes the set of objects Ob(F P i ) and the set of morphisms Mor(F P i ) into a monoid in such a way that the source and target maps s, t : Mor(F P i ) → Ob(F P i ), as well as the identity-assigning map i : Ob(F P i ) → Mor(F P i ), are monoid homomorphisms.The problem is that neither obeys the interchange law, so neither of these tensor products defines a functor from F P i × F P i to F P i .For example, ( The other tensor product suffers from the same problem.
What is going on here?It turns out that F P i is a 'strict premonoidal category'.While these structures first arose in computer science [19], they are also mathematically natural, for the following reason.There are only two symmetric monoidal closed structures on Cat, up to isomorphism [8].One is the the cartesian product.The other is the 'funny tensor product' [25].A monoid in Cat with its cartesian product is a strict monoidal category, but a monoid in Cat with its funny tensor product is a strict premonoidal category.The funny tensor product C D of categories C and D is defined as the following pushout in Cat: Here C 0 is the subcategory of C consisting of all the objects and only identity morphisms, i : C 0 → C is the inclusion, and similarly for j : D 0 → D. Thus, given morphisms f : x → y in C and f : x → y in C, the category C D in contains a square of the form but in general this square does not commute, unlike the corresponding square in C × D. but this square may not commute.There are thus two candidates for a morphism from x x to y y .When these always agree, we can make C monoidal by setting f f equal to either (and thus both) of these candidates.We shall give F P i a strict premonoidal structure where these two candidates do not agree: one is f ⊗ i f while the other is f i ⊗ f .This explains the meaning of these two failed attempts to give F P i a monoidal structure.Thanks to the description of C C as a pushout, to know the tensor product in a strict premonoidal category C it suffices to know x y, x f and f y for all objects x, y and morphisms f of C. (Here we find it useful to write x f for 1 x f and f y for f 1 y .)In the case at hand, we define i : F P i F P i → F P i on objects by setting (i + a) i (i + a ) = i + a + a for all a, a ∈ N[S − C], while for morphisms Proposition 15.The tensor product i makes F P i into a strict premonoidal category.
Proof.This can be checked directly, but this is also a special case of a construction in Power and Robinson's paper on premonoidal categories [19,Ex. 3.4].They describe a construction, sometimes called 'linear state passing' [17], that takes any object i in any symmetric monoidal category C and yields a premonoidal category C i where objects are of the form i ⊗ c for c ∈ C and morphisms are morphisms in C of the form f : i ⊗ c → i ⊗ c .We are considering the special case where C = F P , and because F P is commutative monoidal the resulting premonoidal category is strict: all the coherence isomorphisms are identities.
Finally, we show that the tensor products i on the categories F P i let us lift our network model G from Cat to the category of strict premonoidal categories.Definition 16.Let PreMonCat be the category of strict premonoidal categories and strict premonoidal functors, meaning functors between strict premonoidal categories that strictly preserve the tensor product.Let U : PreMonCat → Cat denote the forgetful functor which sends a strict premonoidal category to its underlying category.Proof.Since G sends each morphism in S(C) to an identity functor, so must Ĝ.

Conclusions
A couple of mathematical questions arise naturally from this work.First, is there a string diagram calculus for premonoidal categories, like that for monoidal categories but omitting the interchange law?This is hinted at in the work of Jeffrey [10], but ideally there would be a theorem justifying the use of such string diagrams just as Joyal and Street [12] justified the use of planar progressive string diagrams for monoidal categories.We could then omit the red lines in our string diagrams and treat the resulting diagrams as describing morphisms in premonoidal categories.Second, is there a monoidal functor from (Cat, ) to (Cat, ×)?If so, we could turn a strict premonoidal category into a strict monoidal category just by applying this functor.Ideally this would impose the interchange law on the tensor product, forcing all squares of the form to commute.This could be useful in applications where we do not care which of two processes uses a catalyst first.

Definition 7 .
Given a Petri net with catalysts (P, C) and any i ∈ N[C], let F P i be the full subcategory of F P whose objects are objects a ∈ F P with π C (a) = i.Morphisms in F P i describe processes that the Petri net can carry out with a specific fixed amount of every catalyst.Since no transition in P creates or destroys any catalyst, if f : a → b is a morphism in F P then π C (a) = π C (b).

Proposition 8 .
Given a Petri net with catalysts (P, C), there exists a unique functor G : S(C) → Cat sending each object x ∈ S(C) to the category F P p(x) and each morphism in S(C) to an identity functor.Proof.The uniqueness is clear.For existence, note that since N[C] has only identity morphisms there is a functor H : N[C] → Cat sending each object x ∈ N[C] to the category F P p(x) .If we compose H with the functor p : S(C) → N[C] described above we obtain the functor G. Theorem 9.The functor G : S(C) → Cat becomes lax symmetric monoidal with the lax structure map Φ x,y : F P p(x) × F P p(y) → F P p(x⊗y) Volume 1 Issue 4 ISSN 2631-4444

Definition 10 .Example 11 .
We call the C-colored network model G : S(C) → Cat of Theorem 9 the Petri network model associated to the Petri net with catalysts (P, C).The following Petri net P has species S = {a, b, c, d, e} and transitions T = {τ 1 , τ 2 }:

Volume 1 2
Issue 4 ISSN 2631-4444 The object a ⊗ b ∈ S(C) describes a situation with one jeep and one boat.The category G(a ⊗ b) is isomorphic to F Z for this Petri net Z: Now people can go from the base to the shore in pairs and also go from the shore to the island one at a time.Surprisingly, an object x ∈ S(C) with additional jeeps and/or boats always produces a category G(x) that is isomorphic to one of the three just shown: G(a), G(b) and G(a ⊗ b).For example, consider the object b ⊗ b ∈ S(C), where there are two boats present but no jeeps.There is an isomorphism of categories − + b : G(b) → G(b ⊗ b) defined as follows.Recall that G(b) = F P b and G(b ⊗ b) = F P b+b , where F P b and F P b+b are subcategories of F P .The functor − + b : F P b → F P b+b sends each object x ∈ F P b to the object x + b, and sends each morphism f : x → y in F P b to the morphism 1 b + f : b + x → b + y.

Theorem 12 .
If G : S(C) → Cat is the Petri network model associated to the Petri net with catalysts (P, C), then G is equivalent, as a symmetric monoidal category, to the full subcategory of S(C) × F P whose objects are those of the form (x, a) with x ∈ S(C) and a ∈ F P p(x) .Volume 1 Issue 4 ISSN 2631-4444

Example 13 .
Let (P, C) be the Petri net with catalysts in Ex. 11, and G : S(C) → Cat the resulting Petri network model.In G the following two morphisms are not equal:

Definition 14 .
A strict premonoidal category is a category C equipped with a functor : C C → C that obeys the associative law and an object I ∈ C that serves as a left and right unit for .Given two morphisms f : x → y, f : x → y in a strict premonoidal category C we obtain a square Accepted in Compositionality on 2019-11-26.Click on the title to verify.Volume 1 Issue 4 ISSN 2631-4444

Theorem 17 .
The network model G : S(C) → Cat lifts to a functor Ĝ : S(C) → PreMonCat: x) = F P p(x) with the strict premonoidal structure described in Prop.15.