We formalized three algorithms for polynomial interpolation over arbitrary fields: Lagrange's explicit expression, the recursive algorithm of Neville and Aitken, and the Newton interpolation in combination with an efficient implementation of divided differences. Variants of these algorithms for integer polynomials are also available, where sometimes the interpolation can fail; e.g., there is no linear integer polynomial p such that p(0) = 0 and p(2) = 1. Moreover, for the Newton interpolation for integer polynomials, we proved that all intermediate results that are computed during the algorithm must be integers. This admits an early failure detection in the implementation. Finally, we proved the uniqueness of polynomial interpolation.
The development also contains improved code equations to speed up the division of integers in target languages.
- A First Complete Algorithm for Real Quantifier Elimination in Isabelle/HOL
- The Theorem of Three Circles
- Formal Puiseux Series
- Gauss Sums and the Pólya–Vinogradov Inequality
- Count the Number of Complex Roots
- Expressiveness of Deep Learning
- The Factorization Algorithm of Berlekamp and Zassenhaus
- Polynomial Factorization
- The Sturm-Tarski Theorem