CHAD for expressive total languages

Research output: Contribution to journalArticleAcademicpeer-review

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.
Original languageEnglish
Article numberPII S096012952300018X
Pages (from-to)311–426
Number of pages116
JournalMathematical Structures in Computer Science
Volume33
Issue number4-5
DOIs
Publication statusPublished - Apr 2023

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

Fingerprint

Dive into the research topics of 'CHAD for expressive total languages'. Together they form a unique fingerprint.

Cite this