Automatic Differentiation in PCF
Not on the map. Why?
Abstract (arXiv)
We study the correctness of automatic differentiation (AD) in the context of a higher-order, Turing-complete language (PCF with real numbers), both in forward and reverse mode. Our main result is that, under mild hypotheses on the primitive functions included in the language, AD is almost everywhere correct, that is, it computes the derivative or gradient of the program under consideration except for a set of Lebesgue measure zero. Stated otherwise, there are inputs on which AD is incorrect, but the probability of randomly choosing one such input is zero. Our result is in fact more precise, in that the set of failure points admits a more explicit description: for example, in case the primitive functions are just constants, addition and multiplication, the set of points where AD fails is contained in a countable union of zero sets of non-identically-zero polynomials.
Key facts. Cited by 4 papers in the map (data through 7 Oct 2026). First posted on arXiv 6 Nov 2020.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2022: 2; 2023: 2.
4 papers.
- 2023On the Correctness of Automatic Differentiation for Neural Networks with Machine-Representable Parameterscited by 3
- 2023ωPAP Spaces: Reasoning Denotationally About Higher-Order, Recursive Probabilistic and Differentiable Programscited by 1
- 2022Combinatory Adjoints and Differentiationcited by 0
- 2022Differentiable Quantum Programming with Unbounded Loopscited by 0
- 2023ωPAP Spaces: Reasoning Denotationally About Higher-Order, Recursive Probabilistic and Differentiable Programs21 Feb 2023
- 2023On the Correctness of Automatic Differentiation for Neural Networks with Machine-Representable Parameters31 Jan 2023
- 2022Differentiable Quantum Programming with Unbounded Loops8 Nov 2022
- 2022Combinatory Adjoints and Differentiation2 Jul 2022