Verifying Numerical Methods with Isabelle/HOL
Dustin Bryant, Jonathan Julian Huerta y Munive, and Simon Foster

TL;DR
This paper introduces a framework in Isabelle/HOL for verifying numerical algorithms, enabling formal correctness proofs and code generation for reliable scientific computing.
Contribution
It presents a user-friendly specification language, automated proof support, and extensions to formal mathematics libraries for verifying numerical methods.
Findings
Successfully verified bisection and fixed-point iteration methods.
Generated executable code from verified specifications.
Enhanced Isabelle/HOL libraries with derivatives and Taylor's theorem.
Abstract
Modern machine learning pipelines are built on numerical algorithms. Reliable numerical methods are thus a prerequisite for trustworthy machine learning and cyber-physical systems. Therefore, we contribute a framework for verified numerical methods in Isabelle/HOL based on ITrees. Our user-friendly specification language enables the direct declaration of numerical programs that can be annotated with variants and invariants for reasoning about correctness specifications. The generated verification conditions can be discharged via automated proof methods and lemmas from the HOL-Analysis library. The ITrees foundation interacts with Isabelle's code generator to export source code. This provides an end-to-end path from formal specifications with machine-checked guarantees to executable sources. We illustrate the process of modelling numerical methods and demonstrate the effectiveness of the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Logic, programming, and type systems · Security and Verification in Computing
