SAT · JUL 18 · 10:00 · MUDD 26

Monoidal Differential Turing Categories

Isaiah B. Hilsenrath

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 dA:!AA!A, 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 T, called the universal object, a family of application morphisms :T!BC, and a family of functions λ:Hom(A!B,C)Hom(A,T) such that the following diagrams commute:

T!BCTA!BDA.λ(f)id!Bfgλ((gid!B);f)λ(f)

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 T 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.

← Back to program