Formalisation of the computation of the echelon form of a matrix in Isabelle/HOL

In this contribution we present a formalised algorithm in the Isabelle/HOL proof assistant to compute echelon forms, and, as a consequence, characteristic polynomials of matrices. We have proved its correctness over Bézout domains, but its executability is only guaranteed over Euclidean domains, suc...

Descripción completa

Detalles Bibliográficos
Autores: Aransay, J. [0000-0002-4079-8307], Divasón, J. [0000-0002-5173-128X]
Tipo de recurso: artículo
Estado:Versión publicada
Fecha de publicación:2016
País:España
Institución:Universidad de La Rioja (UR)
Repositorio:RIUR. Repositorio Institucional de la Universidad de La Rioja
OAI Identifier:oai:portal.dialnet.es:doc/5bbc687bb750603269e809af
Acceso en línea:https://investigacion.unirioja.es/documentos/5bbc687bb750603269e809af
Access Level:acceso abierto
Palabra clave:Isabelle/HOL
Linear algebra
Theorem proving
Verified code generation
Descripción
Sumario:In this contribution we present a formalised algorithm in the Isabelle/HOL proof assistant to compute echelon forms, and, as a consequence, characteristic polynomials of matrices. We have proved its correctness over Bézout domains, but its executability is only guaranteed over Euclidean domains, such as the integer ring and the univariate polynomials over a field. This is possible since the algorithm has been parameterised by a (possibly non-computable) operation that returns the Bézout coefficients of a pair of elements of a ring. The echelon form is also used to compute determinants and inverses of matrices. As a by-product, some algebraic structures have been implemented (principal ideal domains, Bézout domains, etc.). In order to improve performance, the algorithm has been refined to immutable arrays inside of Isabelle and code can be generated to functional languages as well. © 2016, British Computer Society.