🤖 AI Summary
Formalizing guarded iteration is challenging in restriction categories lacking coproducts, as standard approaches rely on coproduct-based trace operators or parameterized iteration.
Method: We introduce the *Kleene wand*, a novel binary operator that characterizes the controlled repeated application of a morphism (X o X) to a morphism (X o A) with disjoint domains, yielding (X o A).
Contribution/Results: This constitutes the first axiomatization of guarded iteration in restriction categories without coproducts. Crucially, we establish an equivalence between the Kleene wand and trace operators on coproducts: in extensive restriction categories, a Kleene wand exists if and only if a trace operator does. Consequently, the Kleene wand serves as a coproduct-free alternative to parameterized iteration or trace-based iteration, providing a new foundational axiomatization for iteration. This advances the interface between Kleene algebra semantics and restriction category theory, broadening their applicability to settings where coproducts are unavailable or unnatural.
📝 Abstract
This paper introduces Kleene wands, which capture guarded iteration in restriction categories. A Kleene wand is a binary operator which takes in two maps, an endomorphism $X o X$ and a map ${X o A}$, which are disjoint and and produces a map $X o A$. This map is interpreted as iterating the endomorphism until it lands in the domain of definition of the second map, which plays the role of a guard. In a setting with infinite disjoint joins, there is always a canonical Kleene wand given by realizing this intuition. We call a restriction category with a Kleene wand an itegory. To provide further evidence that Kleene wands capture iteration, we explain how Kleene wands are deeply connected to trace operators on coproducts, which are already well-known of categorifying iteration. We show that for an extensive restriction category, to have a Kleene wand is equivalent to having a trace operator on the coproduct. This suggests, therefore, that Kleene wands can be used to replace parametrized iteration operators or trace operators in a setting without coproducts.