Monoidal Differential Turing Categories
Joint work with: Jean-Simon Pacaud Lemay
Differential -calculus [6] is an extension of -calculus which enables one to treat differentiation of analytic functions purely syntactically. Just as simply typed -calculus is sound and complete with respect to Cartesian closed categories by the Curry-Howard-Lambek correspondence, simply typed differential -calculus is sound and complete with respect to Cartesian (closed) differential categories [3]. In [4], Cockett and Gallagher refined these ideas to provide a categorical semantics of the untyped differential -calculus, introducing the Cartesian differential Turing category with differential canonical codes. This coherently combined a Cartesian differential category with a type of category that provides a sound and complete semantics for the ordinary untyped -calculus: a (total) Turing category with canonical codes.
Now, an important source of examples of Cartesian differential categories comes from the categorical semantics of differential linear logic: monoidal differential categories [2]. Briefly, a monoidal differential category is a symmetric monoidal category with a comonad and a natural isomorphism , called the deriving transformation, that satisfies certain coherences that capture the fundamental properties of differentiation, like the product rule and chain rule. The coKleisli category of a monoidal differential category is a Cartesian differential category [1]. It is then natural to ask what is the analogue of a monoidal differential category whose coKleisli is a Cartesian differential Turing category.
In this talk, I will introduce monoidal differential Turing categories and their analogous notion of differential canonical codes. At the heart of this definition is a distinguished object , called the universal object, a family of application morphisms , and a family of functions such that the following diagrams commute:
One should think of these diagrams as defining a weak form of currying: is transposition, is evaluation which is also linear in its first argument, and behaves like a uniform exponential object. We will show that the coKleisli category of a monoidal differential Turing category (with differential canonical codes) is indeed a Cartesian differential Turing category (with differential canonical codes). We will then extend these constructions to the closely-related reverse differential setting from [5].
- [1] R.F. Blute, J.R.B. Cockett, and R.A.G. Seely, Cartesian differential categories, Theory and Applications of Categories 22 (2009), no. 23, 622–672.
- [2] R.F. Blute, J.R.B. Cockett, and R.A.G. Seely, Differential categories, Mathematical Structures in Computer Science 16 (2006), no. 6, 1049–1083.
- [3] A. Bucciarelli, T. Ehrhard, and G. Manzonetto, Categorical models for simply typed resource calculi, Electronic Notes in Theoretical Computer Science 265 (2010), 213–230, Proceedings of MFPS 2010.
- [4] J.R.B. Cockett and J. Gallagher, Categorical models of the differential-calculus, Mathematical Structures in Computer Science 29 (2019), no. 10, 1513–1555.
- [5] G. Cruttwell, J. Gallagher, J.S.P. Lemay, and D. Pronk, Monoidal reverse differential categories, Mathematical Structures in Computer Science 32 (2022), no. 10, 1313–1363.
- [6] T. Ehrhard and L. Regnier, The differential lambda-calculus, Theoretical Computer Science 309 (2003), no. 1, 1–41.