Verifying a Minimalist Reverse-Mode AD Library [article]

Paulo Emílio de Vilhena, François Pottier
2021 arXiv   pre-print
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
more » ... (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.
arXiv:2112.07292v1 fatcat:a3kexzvubfek7l2ivcqpdkm5nu