Automatic Differentiation for ML-family languages: correctness via logical relations

Publication date

2022-10-14

Authors

Nunes, Fernando LucatelliISNI 0000000506808059
Vákár, Matthijs I.L.ORCID 0000-0003-4603-0523ISNI 0000000464978681

Editors

Advisors

Supervisors

Document Type

/dk/atira/pure/researchoutput/researchoutputtypes/workingpaper/preprint
Open Access logo

License

Abstract

We give a simple, direct and reusable logical relations technique for languages with recursive features and partially defined differentiable functions. We do so by working out the case of Automatic Differentiation (AD) correctness: namely, we present a proof of the dual numbers style AD macro correctness for realistic functional languages in the ML-family. We also show how this macro provides us with correct forward- and reverse-mode AD. The starting point was to interpret a functional programming language in a suitable freely generated categorical structure. In this setting, by the universal property of the syntactic categorical structure, the dual numbers AD macro and the basic $ω$-cpo-semantics arise as structure preserving functors. The proof follows, then, by a novel logical relations argument. The key to much of our contribution is a powerful monadic logical relations technique for term recursion and recursive types. It provides us with a semantic correctness proof based on a simple approach for denotational semantics, making use only of the very basic concrete model of $ω$-cpos.

Keywords

Citation

Nunes, F L & Vákár, M 2022 'Automatic Differentiation for ML-family languages: correctness via logical relations' arXiv, pp. 1-51. https://doi.org/10.48550/ARXIV.2210.07724