CHAD for expressive total languages
Publication date
2023-04
Editors
Advisors
Supervisors
Document Type
Article
Metadata
Show full item recordCollections
License
cc_by
Abstract
We show how to apply forward and reverse mode Combinatory Homomorphic Automatic Differentiation (CHAD) (Vákár (2021). ESOP, 607–634; Vákár and Smeding (2022). ACM Transactions on Programming Languages and Systems 44 (3) 20:1–20:49.) to total functional programming languages with expressive type systems featuring the combination of • tuple types; • sum types; • inductive types; • coinductive types; • function types. We achieve this by analyzing the categorical semantics of such types in Σ-types (Grothendieck constructions) of suitable categories. Using a novel categorical logical relations technique for such expressive type systems, we give a correctness proof of CHAD in this setting by showing that it computes the usual mathematical derivative of the function that the original program implements. The result is a principled, purely functional and provably correct method for performing forward- and reverse-mode automatic differentiation (AD) on total functional programming languages with expressive type systems.
Keywords
(Co)monadicity, Artin gluing, Automatic differentiation, Cartesian closed categories, Coalgebras, Coinductive types, Comma categories, Creation of initial algebras, Denotational semantics, Dependently typed languages, Exponentiability, Extensive categories, Extensive indexed categories, Fibered categories, Free cocompletion under coproducts, Grothendieck construction, Inductive types, Initial algebra semantics, Linear types, Logical relations, Polynomial functors, Program transformations, Programming languages, Scientific computing, Software correctness, Type systems, Variant types, Mathematics (miscellaneous), Computer Science Applications
Citation
Nunes, F L & Vákár, M 2023, 'CHAD for expressive total languages', Mathematical Structures in Computer Science, vol. 33, no. 4-5, PII S096012952300018X, pp. 311–426. https://doi.org/10.1017/S096012952300018X