### Abstract

Based on existing libraries for polynomial interpolation and matrices,
we formalized several factorization algorithms for polynomials, including
Kronecker's algorithm for integer polynomials,
Yun's square-free factorization algorithm for field polynomials, and
Berlekamp's algorithm for polynomials over finite fields.
By combining the last one with Hensel's lifting,
we derive an efficient factorization algorithm for the integer polynomials,
which is then lifted for rational polynomials by mechanizing Gauss' lemma.
Finally, we assembled a combined factorization algorithm for rational polynomials,
which combines all the mentioned algorithms and additionally uses the explicit formula for roots
of quadratic polynomials and a rational root test.

As side products, we developed division algorithms for polynomials over integral domains, as well as primality-testing and prime-factorization algorithms for integers.

### License

### Topics

### Session Polynomial_Factorization

- Missing_List
- Missing_Multiset
- Precomputation
- Order_Polynomial
- Explicit_Roots
- Dvd_Int_Poly
- Missing_Polynomial_Factorial
- Gauss_Lemma
- Prime_Factorization
- Rational_Root_Test
- Kronecker_Factorization
- Polynomial_Divisibility
- Fundamental_Theorem_Algebra_Factorized
- Square_Free_Factorization
- Gcd_Rat_Poly
- Rational_Factorization

### Depends on

- Abstract Rewriting
- Light-weight Containers
- Gauss-Jordan Algorithm and Its Applications
- Executable Matrix Operations on Matrices of Arbitrary Dimensions
- Mutually Recursive Partial Functions
- Polynomial Interpolation
- Haskell’s Show Class in Isabelle/HOL
- Computing N-th Roots using the Babylonian Method
- Vector Spaces

### Used by

- Fisher’s Inequality: Linear Algebraic Proof Techniques for Combinatorics
- Amicable Numbers
- A Formalization of Knuth–Bendix Orders
- Gaussian Integers
- Power Sum Polynomials
- A Verified Functional Implementation of Bachmair and Ganzinger’s Ordered Resolution Prover
- Dirichlet Series
- Linear Recurrences
- Subresultants
- The Factorization Algorithm of Berlekamp and Zassenhaus
- Perron-Frobenius Theorem for Spectral Radius Analysis
- Matrices, Jordan Normal Forms, and Spectral Radius Theory