← Home
petri-net category-theory algebraic-effects tropical-geometry incidence-matrix

Structuralism, Not Objects: Dirac Deltas, Algebraic Effects, and Why C Comes First

A thread this month between Piponi, Milewski, Baez, and Anachro (Mastodon, Aug 2026) proposed a move I want to relocate. The question was how to formalize the Dirac delta. The standard answer is Schwartz: build a space of distributions, exhibit δ as an object in it, and let ∫δ(x)f(x)dx mean pairing. Piponi's alternative: don't build the object. Treat δ as a signal and the integral as its handler. ∫δ(x−a)f(x)dx is an effectful expression — the delta raises, the surrounding integral catches, and the handler's semantics is "evaluate f at a." The delta never exists as a value; it exists as a protocol between an expression and its context.

Milewski connected this to the coend notation — ∫ has been category theory's integral sign since Yoneda, and everyone has always insisted it's just notation. Baez sharpened that insistence into a condition: a coend is literally an integral when the base category carries a measure and the target's coproducts are actually sums. Finite-dimensionally, the matrix trace via Einstein summation is the worked example — the coend formula and the summation formula are the same computation, not analogous computations. The move from metaphor to theorem is a checkable hypothesis about the base.

This post is the usual functor from a thread into pflow-world: project the move into our coordinates (get), then say what structure it should carry once it lands (put).

The get: composition forces structure; objects don't

Pflow's structuralism is Piponi's move, made years before we had his vocabulary for it. We never posited a categorical gadget that "represents" a Petri net and then derived properties from the representation. The incidence matrix C is the primary object — not a model of the net, the net's content — and everything downstream is discovered to converge on it. The ODE steady state reads integers off C. The tropical eigenstructure reads the same boundary off C. The R1CS compiler rediscovers it as the uniform/non-uniform witness split. Three analyses, no shared representation object, one matrix. The structure was forced by composition, not asserted by an embedding.

The discovery order is the argument, and it's the same discipline Baez applied. The core-observer boundary — ρ = 1 core, ρ > 1 observer — was found empirically from C first, and only afterward matched to timed-event-graph and max-plus structure. We did not say "nets are tropical, therefore a boundary exists." We found the boundary, then checked whether the tropical claim was literal. That's exactly "is the coend an integral here?": not an analogy asserted up front, but a condition verified after the fact against the base you actually have. When the check passes, the analogy retires and a theorem takes its seat.

The put: is R an effect?

Here's what the Dirac framing should carry into pflow once relocated. In the zipper decomposition W(M) = 𝓛 × M × 𝓡, the left context is a value — tropical, monotone, immutable, and the comonad laws depend on that. But the right context has always sat awkwardly as a "value." 𝓡 is the predicate future: guards recomputed fresh from the marking on every step, never stored, never accumulated. We've been writing it as a component of W(M), as if the future were held.

The effect framing fits better. A guard is a signal; the step function — the counit ε : W(M) → M — is its handler. The transition doesn't consult a stored future; it raises "am I enabled?" and the context answers from the current marking. That's precisely the delta/integral split: the guard, like δ, has no free-standing denotation. It means something only under a handler, and the handler's semantics is "evaluate at the current point." The coKleisli morphism W(M) → M would then read: past as value, future as effect, present as the handler's scope.

Does this survive the comonad? Mostly, and the strain is informative. ε is unproblematic — it is the handler. The comultiplication δ : W(M) → W(W(M)) is where it pulls: re-contextualization must nest the right context, and you can't nest an effect the way you copy a value — you can only nest handlers. The pflow square argued δ is well-defined because 𝓛 is immutable; the effect reading suggests the real statement is asymmetric: δ duplicates the left context as a value and re-installs the right context as a handler stack. If that's right, W was never quite a product of three values — it's a value, a focus, and a scope.

One resonance, flagged as such: Baez's trace-as-Einstein-summation and "C is the primary object" rhyme. Both ask when a formal composition — coend, matrix product — is literally the thing it resembles (integral, sum) rather than structurally similar to it. I'm noting the rhyme, not claiming the theorem; the measure-on-the-base condition that Baez can check has no worked analogue here yet.

Open question

If R is effect-handled rather than value-held, does anything provable change at the core-observer boundary? The ρ boundary is a property of C, and C doesn't move. But R is exactly the other boundary — the contextual one, which was never in C (two boundaries) — so this question lands on the boundary that the three proofs don't quantify over. But the three convergence proofs each quantify over the right context somewhere — the ODE relaxation assumes guards are functions of the marking, the R1CS compiler reifies them as constraints. If guards are effects, "reify as constraints" is a handler implementation, and the non-uniform witness structure of observer places might be exactly the cost of handling — compression as the residue of a discharged effect. Or the reframing is just better notation for the same theorems. I don't yet know which, and the Dirac thread suggests the way to find out is not to argue the analogy but to state the condition and check the base.


Related: The Pflow Square · The Zipper Whose Hole Is a Universe · Earned Compression · The Incidence Reduction · Tropical Petri Nets

×

Follow on Mastodon