A verified LLL algorithm

 

Title: A verified LLL algorithm
Authors: Jose Divasón, Sebastiaan Joosten, René Thiemann and Akihisa Yamada (ayamada /at/ trs /dot/ cm /dot/ is /dot/ nagoya-u /dot/ ac /dot/ jp)
Submission date: 2018-02-02
Abstract: The Lenstra-Lenstra-Lovász basis reduction algorithm, also known as LLL algorithm, is an algorithm to find a basis with short, nearly orthogonal vectors of an integer lattice. Thereby, it can also be seen as an approximation to solve the shortest vector problem (SVP), which is an NP-hard problem, where the approximation quality solely depends on the dimension of the lattice, but not the lattice itself. The algorithm also possesses many applications in diverse fields of computer science, from cryptanalysis to number theory, but it is specially well-known since it was used to implement the first polynomial-time algorithm to factor polynomials. In this work we present the first mechanized soundness proof of the LLL algorithm to compute short vectors in lattices. The formalization follows a textbook by von zur Gathen and Gerhard.
BibTeX:
@article{LLL_Basis_Reduction-AFP,
  author  = {Jose Divasón and Sebastiaan Joosten and René Thiemann and Akihisa Yamada},
  title   = {A verified LLL algorithm},
  journal = {Archive of Formal Proofs},
  month   = feb,
  year    = 2018,
  note    = {\url{http://isa-afp.org/entries/LLL_Basis_Reduction.html},
            Formal proof development},
  ISSN    = {2150-914x},
}
License: BSD License
Depends on: Algebraic_Numbers, Berlekamp_Zassenhaus, Perron_Frobenius
Used by: LLL_Factorization