Repository logo
 

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

Accepted version
Peer-reviewed

Type

Conference Object

Change log

Authors

Li, W 
Paulson, LC 

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.

Description

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

Conference Name

CPP '19: 8th ACM SIGPLAN International Conference on Certified Programs and Proofs

Journal ISSN

0707-9141

Volume Title

Publisher

ACM
Sponsorship
European Research Council (742178)
ERC Advanced Grant ALEXANDRIA (Project 742178)