Verifying a Minimalist Reverse-Mode AD Library

12/14/2021
by   Paulo Emílio de Vilhena, et al.
0

By exploiting a number of relatively subtle programming language features, including dynamically-allocated mutable state, first-class functions, and effect handlers, reverse-mode automatic differentiation can be implemented as a library. One outstanding question, however, is: with which logical tools can one specify what this code is expected to compute and verify that it behaves as expected? We answer this question by using a modern variant of Separation Logic to specify and verify a minimalist (but concise and elegant) reverse-mode automatic differentiation library. We view this result as an advanced exercise in program verification, with potential future applications to more realistic automatic differentiation systems.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset