Abstract
In this work, we present a formal proof of an algorithm to compute the Hermite normal form of a matrix based on our existing framework for the formalisation, execution, and refinement of linear algebra algorithms in Isabelle/HOL. The Hermite normal form is a well-known canonical matrix analogue of reduced echelon form of matrices over fields, but involving matrices over more general rings, such as Bézout domains. We prove the correctness of this algorithm and formalise the uniqueness of the Hermite normal form of a matrix. The succinctness and clarity of the formalisation validate the usability of the framework.
Keywords
This work has been supported by the projects MTM2014-54151-P and MTM2017-88804-P from Ministerio de Economía y Competitividad (Gobierno de España).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Archive of Formal Proofs. http://afp.sourceforge.net/
Immutable non-strict arrays in Haskell. http://hackage.haskell.org/package/array-0.5.2.0/docs/Data-Array.html
Matlab documentation. Definition of Hermite Normal Form. http://es.mathworks.com/help/symbolic/hermiteform.html#butzrp_-5
The Vector structure in SML. http://sml-family.org/Basis/vector.html
HOL interactive theorem prover (2016). https://hol-theorem-prover.org/
Aransay, J., Divasón, J.: Formalisation in higher-order logic and code generation to functional languages of the Gauss-Jordan algorithm. J. Funct. Program. 25, 22 p. (2015). https://doi.org/10.1017/S0956796815000155
Aransay, J., Divasón, J.: A formalisation in HOL of the fundamental theorem of linear algebra and its application to the solution of the least squares problem. J. Autom. Reason. 58, 509–535 (2017). https://doi.org/10.1007/s10817-016-9379-z
Aransay, J., Divasón, J.: Formalisation of the computation of the echelon form of a matrix in Isabelle/HOL. Formal Aspects Comput. 28(6), 1005–1026 (2016)
Ballarin, C.: Locales: a module system for mathematical theories. J. Autom. Reason. 52(2), 123–153 (2014)
Bradley, G.H.: Algorithms for Hermite and Smith normal matrices and linear diophantine equations. Math. Comput. 25(116), 897–907 (1971)
Cano, G., Cohen, C., Dénès, M., Mörtberg, A., Siles, V.: Formalized linear algebra over elementary divisor rings in Coq. Logical Methods Comput. Sci. 12(2) (2016)
Cohen, C., Dénès, M., Mörtberg, A.: Refinements for free!. In: Gonthier, G., Norrish, M. (eds.) CPP 2013. LNCS, vol. 8307, pp. 147–162. Springer, Cham (2013). https://doi.org/10.1007/978-3-319-03545-1_10
Cohen, H.: A Course in Computational Algebraic Number Theory. Springer, New York (1993). https://doi.org/10.1007/978-3-662-02945-9
Coquand, T., Mörtberg, A., Siles, V.: A formal proof of Sasaki-Murao algorithm. J. Formalized Reason. 5(1), 27–36 (2012)
The Coq development team. The Coq proof assistant reference manual. LogiCal Project (2018). Version 8.8.0. http://coq.inria.fr
Divasón, J.: Additional files to the Hermite normal form development (2018). http://www.unirioja.es/cu/jodivaso/Isabelle/Hermite/Hermite.html
Divasón, J., Aransay, J.: Hermite normal form. Archive of Formal Proofs, July 2015
Durán, A.J., Pérez, M., Varona, J.L.: The Misfortunes of a trio of mathematicians using computer algebra systems. Can we trust in them? Not. AMS 61(10), 1249–1252 (2014)
Gamboa, R., Cowles, J., Baalen, J.V.: Using ACL2 arrays to formalise matrix algebra. In: Fourth International Workshop on the ACL2 Theorem Prover and Its Applications (2003)
Gonthier, G.: Formal proof - the four-color theorem. Not. AMS 55(11), 1382–1393 (2008)
Hafner, J.L., McCurley, K.S.: A rigorous subexponential algorithm for computation of class groups. J. Am. Math. Soc. 2(4), 837–850 (1989)
Harrison, J.: The HOL Light theory of euclidean space. J. Autom. Reason. 50(2), 173–190 (2013)
The Haskell Programming Language (2016). http://www.haskell.org/
Huffman, B., Kunčar, O.: Lifting and transfer: a modular design for quotients in Isabelle/HOL. In: Gonthier, G., Norrish, M. (eds.) CPP 2013. LNCS, vol. 8307, pp. 131–146. Springer, Cham (2013). https://doi.org/10.1007/978-3-319-03545-1_9
Hung, M.S., Rom, W.O.: An application of the Hermite normal form in integer programming. Linear Algebra Appl. 140, 163–179 (1990)
Kaltofen, E., Krishnamoorthy, M.S., Saunders, B.D.: Fast parallel computation of Hermite and Smith forms of polynomial matrices. SIAM J. Algebraic Discrete Methods 8(4), 683–690 (1987)
Kannan, R., Bachem, A.: Polynomial algorithms for computing the Smith and Hermite normal forms of an integer matrix. SIAM J. Comput. 8(4), 499–507 (1979)
Klein , G., et al.: seL4: formal verification of an OS kernel. In: Proceedings of the 22nd ACM Symposium on Operating Systems Principles, SOSP 2009, Big Sky, Montana, USA, pp. 207–220 (2009)
Kunčar, O., Popescu, A.: From types to sets by local type definitions in higher-order logic. In: Blanchette, J.C., Merz, S. (eds.) Interactive Theorem Proving. pp, pp. 200–218. Springer International Publishing, Cham (2016)
Lambán, L., Martín-Mateos, F.J., Rubio, J., Ruiz-Reina, J.-L.: Using abstract stobjs in ACL2 to compute matrix normal forms. In: Ayala-Rincón, M., Muñoz, C.A. (eds.) ITP 2017. LNCS, vol. 10499, pp. 354–370. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66107-0_23
Li, L., Li, H., Liu, Y.: A decision algorithm for linear sentences on a PFM. Ann. Pure Appl. Logic 59, 273–286 (1993)
Li, W., Paulson, L.C.: A modular, efficient formalisation of real algebraic numbers. In: Proceedings of the 5th ACM SIGPLAN Conference on Certified Programs and Proofs, Saint Petersburg, FL, USA, 20–22 January 2016, pp. 66–75 (2016)
Lochbihler, A.: Verifying a compiler for Java threads. In: Gordon, A.D. (ed.) ESOP 2010. LNCS, vol. 6012, pp. 427–447. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-11957-6_23
Narkawicz, A., Muoz, C., Dutle, A.: Formally-verified decision procedures for univariate polynomial computation based on Sturm’s and Tarski’s theorems. J. Autom. Reason. 54(4), 285–326 (2015)
Newman, M.: Integral Matrices. Pure and Applied Mathematics. Elsevier Science, New York (1972)
Nipkow, T., Wenzel, M., Paulson, L.C. (eds.): Isabelle/HOL. A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45949-9
Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL - A Proof Assistant for Higher-Order Logic (2018). Updated version of the book with the same title and authors
Obua, S., Nipkow, T.: Flyspeck II: the basic linear programs. Ann. Math. Artif. Intell. 56(3–4), 245–272 (2009)
Paulson, L.C.: A mechanised proof of Gödel’s incompleteness theorems using nominal Isabelle. J. Autom. Reason. 55(1), 1–37 (2015)
Ramanujam, J.: Beyond unimodular transformations. J. Supercomput. 9(4), 365–389 (1995)
Rudnicki, P., Schwarzweller, C., Trybulec, A.: Commutative algebra in the Mizar system. J. Symbolic Comput. 32(1/2), 143–169 (2001)
Sternagel, C., Thiemann, R.: Executable matrix operations on matrices of arbitrary dimensions. Archive of Formal Proofs, June 2010
Storjohann, A.: Algorithms for matrix canonical forms. Ph.D. thesis, Swiss Federal Institute of Technology, Zurich (2000)
Thiemann, R., Yamada, A.: Formalizing Jordan normal forms in Isabelle/HOL. In: Proceedings of the 5th ACM SIGPLAN Conference on Certified Programs and Proofs, Saint Petersburg, FL, USA, 20–22 January 2016, pp. 88–99 (2016)
Tourloupis, V.E.: Hermite normal forms and its cryptographic applications. Master’s thesis, University of Wollongong (2013)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Divasón, J., Aransay, J. (2018). A Formal Proof of the Computation of Hermite Normal Form in a General Setting. In: Fleuriot, J., Wang, D., Calmet, J. (eds) Artificial Intelligence and Symbolic Computation. AISC 2018. Lecture Notes in Computer Science(), vol 11110. Springer, Cham. https://doi.org/10.1007/978-3-319-99957-9_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-99957-9_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-99956-2
Online ISBN: 978-3-319-99957-9
eBook Packages: Computer ScienceComputer Science (R0)