Counting polynomial roots in Isabelle/HOL: A formal proof of the Budan-Fourier theorem

Authors
Li, W 
Paulson, LC 

Loading...
Thumbnail Image
Type
Conference Object
Change log
Abstract

Many problems in computer algebra and numerical analysis can be reduced to counting or approximating the real roots of a polynomial within an interval. Existing verified root-counting procedures in major proof assistants are mainly based on the classical Sturm theorem, which only counts distinct roots.

In this paper, we have strengthened the root-counting ability in Isabelle/HOL by first formally proving the Budan-Fourier theorem. Subsequently, based on Descartes' rule of signs and Taylor shift, we have provided a verified procedure to efficiently over-approximate the number of real roots within an interval, counting multiplicity. For counting multiple roots exactly, we have extended our previous formalisation of Sturm's theorem. Finally, we combine verified components in the developments above to improve our previous certified complex-root-counting procedures based on Cauchy indices. We believe those verified routines will be crucial for certifying programs and building tactics.

Publication Date
2019
Online Publication Date
2019-01-14
Acceptance Date
2018-11-27
Keywords
formal verification, theorem proving, Isabelle, the Budan-Fourier theorem, Descartes' rule of signs, counting polynomial roots
Journal Title
CPP 2019 - Proceedings of the 8th ACM SIGPLAN International Conference on Certified Programs and Proofs, Co-located with POPL 2019
Journal ISSN
0707-9141
Volume Title
Publisher
ACM
Sponsorship
European Research Council (742178)
ERC Advanced Grant ALEXANDRIA (Project 742178)