• Elena Di Lavore and Xiaoyan Li, Linear logic flavoured composition of Petri nets, *The n-Category Café*, 27 July 2020.

It’s worth comparing this paper:

• Uffe Engberg and Glynn Winskel, Petri nets as models of linear logic, in *Colloquium on Trees in Algebra and Programming*, Springer, Berlin, 1990, pp. 147–161.

Engberg and Winskel get a model of linear logic—or to be precise, a ‘commutative quantale’—by taking the category you get from a *single* Petri net as in item 1) and massaging it a bit.

Is there a reason we can’t do a similar “downset” construction directly on the monoidal category? (I think it would give a distributive monoidal category or something similar.) Quantales have a cool name, but in general it’s better to use categories than posets whenever possible.

I replied:

]]>Downsets are to posets as

presheavesare to categories!A poset is a Bool-enriched category and a downset is a Bool-functor just as a presheaf on a category is a functor

To see this, notice that given a poset a Bool-functor is a map from to truth values such that if true and q ≤ p then true. So, the subset of where equals true is a downset… and conversely, any downset gives a Bool-functor

So, when we form the poset of all downsets in , it’s the Bool-enriched version of forming the category of all presheaves on a category . Both are examples of a general ‘cocompletion’ process.

The category of presheaves on a category is the free cocomplete category on . The poset of downsets of (ordered by inclusion) is the free cocomplete poset on

A cocomplete poset is one that has all colimits. But this just says every subset has a least upper bound, also known as its

join. A cocomplete poset is also called asuplattice.There’s a category SupLat of suplattices, where morphisms are order-preserving maps that preserve least upper bounds (= colimits = joins):

Taking the poset of all downsets is the left adjoint of the forgetful functor SupLat Poset.

There’s a tensor product of suplattices, and a quantale is just a monoid object in (SupLat, ⊗).

There’s a tensor product of cocomplete categories, and a pseudomonoid in (complete categories, ⊗) is what I call a

2-rig. A 2-rig is a monoidal category with colimits, where tensoring with any object (on either the left or right) preserves colimits.So yeah, we don’t have to descend to the world of posets. Any Petri net gives a commutative monoidal category, and the category of presheaves on that is a commutative 2-rig!

I started out writing a version where I front-loaded all the abstract math and only illustrated it with sandwiches at the end. Then I realized that the sandwiches should come first, as an appetizer. Mathematicians tend to write in a top-down way, but it’s often easier to understand bottom-up.

If I hadn’t made that edit, you probably wouldn’t have caught that typo! Thanks—I’ll fix it now!

]]>possible typo: “then x is also in the set” -> “then y is also in the set”

]]>Glad you liked it. It came as a little revelation to me.

]]>Why is every greatest lower bound an example of a least upper bound? That’s the key.

(Hint: think about the word “greatest” in the phrase “greatest lower bound”.)

]]>