Abstract
We formalize algebraic numbers in Isabelle/HOL. Our development serves as a verified implementation of algebraic operations on real and complex numbers. We moreover provide algorithms that can identify all the real or complex roots of rational polynomials, and two implementations to display algebraic numbers, an approximative version and an injective precise one. We obtain verified Haskell code for these operations via Isabelle’s code generator. The development combines various existing formalizations such as matrices, Sturm’s theorem, and polynomial factorization, and it includes new formalizations about bivariate polynomials, unique factorization domains, resultants and subresultants.
Original language | English |
---|---|
Pages (from-to) | 363-389 |
Number of pages | 27 |
Journal | Journal of automated reasoning |
Volume | 64 |
Early online date | 9 Dec 2018 |
DOIs | |
Publication status | Published - Mar 2020 |
Externally published | Yes |
Keywords
- Algebraic numbers
- Real algebraic geometry
- Resultants
- deal
- Theorem proving