A Petri net gives a categorical semantics for concurrent processes. Places hold tokens, transitions consume and produce them, and a run is a morphism in a freely generated symmetric monoidal category. Reading transitions as chemical reactions turns the same picture into reaction-network dynamics, and asking for the stochastic version leads to a categorification of stochastic dynamical systems.
Nets as free monoidal categories
A Petri net presents a symmetric monoidal category whose objects are markings, the formal sums of places, and whose morphisms are firings composed in sequence and in parallel. Concurrency is the monoidal product, and a reaction
Remark. Categorifying stochastic dynamics
Making the semantics stochastic asks for a functor into a category of Markov kernels or coalgebras, so that composing firings composes the induced dynamics. Two separations organise it: slow/fast timescales and micro/macro scales, each a factorisation of the semantics functor. Memory appears not as stored state but as dynamics, namely a slow variable whose relaxation carries the past. The same net can support robust versus plastic phenotypes depending on which basins the rates favour.
Read coalgebraically, a transition system is a coalgebra for a behaviour functor. Stochastic game logic, meaning who fires next and with what payoff, then becomes reasoning about such coalgebras rather than about explicit trees, which keeps the concurrent and probabilistic content in one place.
References
- J. Meseguer & U. Montanari, “Petri Nets Are Monoids” (Information and Computation, 1990)
- J. Baez & B. Pollard, “A Compositional Framework for Reaction Networks” (2017)
- J. J. M. M. Rutten, “Universal Coalgebra: A Theory of Systems” (2000)