๐ค AI Summary
This study addresses the theoretical challenges of proving the correctness of automatic differentiation (AD) and constructing free categorical structures in higher-order typed languages. By treating programming languages as freely generated structures through categorical semantics, the proposed approach leverages Cartesian closed categories, Grothendieck constructions, and forward- and reverse-mode AD techniques to develop structure-preserving program transformations, with particular emphasis on differentiating higher-order and recursive languages. The contributions include novel mathematical results such as free distributive and extensive categories, the establishment of a dialogue mechanism between abstract theory and computational practice, and the formalization of an AD theoretical foundation guided by categorical semantics. Ultimately, this work enables reliable and practical program transformations for automatic differentiation.
๐ Abstract
This version contains the introduction and conclusion of my PhD thesis, "Freely Generated Categorical Structures and Automatic Differentiation", together with its English and Dutch summaries. The full thesis consists of an introductory chapter, six joint research papers, and a concluding chapter, developed during my PhD studies at Utrecht University under the supervision of Gabriele Keller and Matthijs Vรกkรกr. The research papers are available separately and are not reproduced here.
The introduction presents the scope of the thesis, explains the contributions of the six papers and their connections, and introduces the categorical foundations of our approach. The guiding idea is that programming languages, viewed as freely generated categorical structures, provide a principled setting for constructing structure-preserving program transformations and proving their correctness. Automatic differentiation supplies the central application: we study forward- and reverse-mode differentiation for expressive typed languages, including higher-order functions, recursive types, iteration and partiality. The semantic requirements of these transformations also motivate independent mathematical results on free distributive and extensive categories, cartesian closedness, and Grothendieck constructions.
The conclusion brings these contributions together, discusses their limitations, and outlines further directions. Throughout, the thesis develops a dialogue between theory and practice: categorical semantics guides the construction of reliable and practically useful program transformations, while the demands of computation lead to new categorical structures and results.