### Abstract

We formalize the Berlekamp-Zassenhaus algorithm for factoring square-free integer polynomials in Isabelle/HOL. We further adapt an existing formalization of Yun’s square-free factorization algorithm to integer polynomials, and thus provide an efficient and certified factorization algorithm for arbitrary univariate polynomials.

The algorithm first performs a factorization in the prime field GF(p) and then performs computations in the integer ring modulo p^k, where both p and k are determined at runtime. Since a natural modeling of these structures via dependent types is not possible in Isabelle/HOL, we formalize the whole algorithm using Isabelle’s recent addition of local type definitions.

Through experiments we verify that our algorithm factors polynomials of degree 100 within seconds.

### License

BSD License

### Topics

- Mathematics/Algebra

### Session Berlekamp_Zassenhaus

- Finite_Field
- Arithmetic_Record_Based
- Finite_Field_Record_Based
- Matrix_Record_Based
- More_Missing_Multiset
- Unique_Factorization
- Unique_Factorization_Poly
- Poly_Mod
- Poly_Mod_Finite_Field
- Karatsuba_Multiplication
- Polynomial_Record_Based
- Poly_Mod_Finite_Field_Record_Based
- Chinese_Remainder_Poly
- Berlekamp_Type_Based
- Distinct_Degree_Factorization
- Finite_Field_Factorization
- Finite_Field_Factorization_Record_Based
- Hensel_Lifting
- Hensel_Lifting_Type_Based
- Berlekamp_Hensel
- Square_Free_Int_To_Square_Free_GFp
- Suitable_Prime
- Degree_Bound
- Mahler_Measure
- Factor_Bound
- Sublist_Iteration
- Reconstruction
- Code_Abort_Gcd
- Berlekamp_Zassenhaus
- Gcd_Finite_Field_Impl
- Square_Free_Factorization_Int
- Factorize_Int_Poly
- Factorize_Rat_Poly

### Depends on

- Efficient Mergesort
- Polynomial Factorization
- Polynomial Interpolation
- Haskell’s Show Class in Isabelle/HOL
- Subresultants

### Used by

- Perfect Fields
- Hardness of Lattice Problems
- CRYSTALS-Kyber
- Number Theoretic Transform
- Fisher’s Inequality: Linear Algebraic Proof Techniques for Combinatorics
- A verified algorithm for computing the Smith normal form of a matrix
- A verified LLL algorithm
- Linear Recurrences
- Algebraic Numbers in Isabelle/HOL

### Auto-related entries

- Extension of Types-To-Sets
- A verified algorithm for computing the Smith normal form of a matrix
- A verified factorization algorithm for integer polynomials with polynomial complexity

## Cite

×

Berlekamp_Zassenhaus-AFP

    @article{Berlekamp_Zassenhaus-AFP,
      author  = {Jose Divasón and Sebastiaan J. C. Joosten and René Thiemann and Akihisa Yamada},
      title   = {The Factorization Algorithm of Berlekamp and Zassenhaus},
      journal = {Archive of Formal Proofs},
      month   = {October},
      year    = {2016},
      note    = {\url{https://isa-afp.org/entries/Berlekamp_Zassenhaus.html},
                 Formal proof development},
      ISSN    = {2150-914x},
    }

Download

## Download

× Download latest

Older releases:

- Sep 13, 2023 : Isabelle2023
- Oct 27, 2022 : Isabelle2022
- Dec 14, 2021 : Isabelle2021-1
- Feb 23, 2021 : Isabelle2021
- Apr 18, 2020 : Isabelle2020
- Jun 11, 2019 : Isabelle2019
- Sep 7, 2018 : Isabelle2018
- Aug 16, 2018 : Isabelle2018
- Oct 10, 2017 : Isabelle2017
- Dec 17, 2016 : Isabelle2016-1