Hostname: page-component-74656f9884-skzmx Total loading time: 0 Render date: 2026-11-06T00:08:18.499Z Has data issue: false hasContentIssue false

From differential linear logic to coherent differentiation

Published online by Cambridge University Press:  07 April 2026

Thomas Ehrhard*
Affiliation:
Université Paris Cité , CNRS, Inria, IRIF, F-75013, Paris, France
Rights & Permissions [Opens in a new window]

Abstract

In thise survey, we present in a unified way the categorical and syntactical settings of coherent differentiation introduced recently, which shows that the basic ideas of differential linear logic and of the differential lambda-calculus are compatible with determinism. Indeed, due to the Leibniz rule of the differential calculus, differential linear logic and the differential lambda-calculus feature an operation of addition of proofs or terms operationally interpreted as a strong form of nondeterminism. The main idea of coherent differentiation is that the summations required by differentiation can be controlled and kept deterministic, in the denotational models, as well as in the syntax and operational semantics themselves. In sharp contrast with the differential lambda-calculus, coherent differentiation indeed allows one to design differential extensions of Turing complete functional programming languages, such as PCF, endowed with a deterministic evaluation mechanism, typically implemented in a Krivine abstract machine.

Information

Type
Special Issue: Differential Structures
Copyright
© The Author(s), 2026. Published by Cambridge University Press.
Figure 0

Figure 1. Definition of the differential modification $\partial (x,M)$, by induction on $M$.

Figure 1

Figure 2. Typing rules for $\mathsf{\text{PCF}}_{\mathsf{\text{cd}}}$.

Figure 2

Figure 3. Transition rules for states – handling the access word.

Figure 3

Figure 4. Typing rules for stacks.

Figure 4

Figure 5. Transition rules for states – pushing onto the stack.

Figure 5

Figure 6. Transition rules for states – popping from the stack.

Figure 6

Figure 7. Context associated with a stack.