Abstract: 
We formalize the BerlekampZassenhaus algorithm for factoring
squarefree integer polynomials in Isabelle/HOL. We further adapt an
existing formalization of Yun’s squarefree 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.

BibTeX: 
@article{Berlekamp_ZassenhausAFP,
author = {Jose Divasón and Sebastiaan Joosten and René Thiemann and Akihisa Yamada},
title = {The Factorization Algorithm of Berlekamp and Zassenhaus},
journal = {Archive of Formal Proofs},
month = oct,
year = 2016,
note = {\url{https://isaafp.org/entries/Berlekamp_Zassenhaus.html},
Formal proof development},
ISSN = {2150914x},
}
