The category Set_* of sets and partial functions is well-known to be traced monoidal, meaning that a partial function S+U -/-> T+U can be coherently transformed into a partial function S -/-> T. This transformation is generally described in terms of an implicit procedure that must be run. We make this procedure explicit by enriching the traced category in Cat#, the symmetric monoidal category of categories and cofunctors: each hom-category has such procedures as objects, and advancement through the procedures as arrows. We also generalize to traced Kleisli categories beyond Set_*, providing a conjectural trace operator for the Kleisli category of any polynomial monad of the form t+1. The main motivation for this work is to give a formal and graphical syntax for performing sophisticated computations powered by graph rewriting, which is itself a graphical language for data transformation.
翻译:类别Set_*中的集合和偏函数被广泛认为是追踪的单子范畴,这意味着一个偏函数S + U -/-> T + U可以一致地转化为一个偏函数S -/-> T。这种转化通常是通过隐式过程来描述的。我们通过在Cat#中为追踪的范畴提供更丰富的语义,使此过程变得更加明确:每个同态范畴都有这样的过程作为对象,并且过程的推进作为箭头。我们还推广到了超越Set_*的追踪Kleisli范畴,为t+1形式的任何多项式单子范畴提供了一个猜想的追踪运算符。这项工作的主要动机是为数据转换提供一种形式化和图形语法,以便利用图形重写来进行复杂的计算。