Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

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

Published: 01 November 2016 Publication History
  • Get Citation Alerts
  • Abstract

    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.

    References

    References

    [1]
    Aransay J, Divasón J (2014) Formalization and execution of Linear Algebra: from theorems to algorithms. In: Gupta G, Peña R (ed) Post Proceedings of the international symposium on logic-based program synthesis and transformation: LOPSTR 2013, LNCS, vol 8901. Springer, pp 01–19
    [2]
    Aransay J, Divasón J (2015) Formalisation in higher-order logic and code generation to functional languages of the Gauss–Jordan algorithm. J Funct Program 25(e9):21.
    [3]
    Aransay J, Divasón J (2015) Generalizing a Mathematical Analysis library in Isabelle/HOL. In: Havelund K, Holzmann G, Joshi R (eds) Proceedings of the seventh NASA formal methods symposium: NFM 2015
    [4]
    Adelsberger S, Hetzl S, Pollak F (2014) The Cayley–Hamilton theorem. Archive of formal proofs. Formal proof development. http://isa-afp.org/entries/Cayley_Hamilton.shtml. Accessed 30 Apr 2016
    [5]
    Bathe KJ Computational fluid and solid mechanics 2003 Amsterdam Elsevier Science
    [6]
    Borodin A, von zur Gathen J, and Hopcroft JE Fast parallel matrix and gcd computations Inf Control 1982 52 3 241-256
    [7]
    Beineke LW, Wilson RJ (2004) Topics in algebraic graph theory. Encyclopedia of mathematics and its applications. Cambridge University Press, Cambridge
    [8]
    Cano G, Cohen C, Dénès M, Mörtberg A, Siles V (2016) Formalized linear algebra over elementary divisor rings in Coq. Logical methods in computer science (Submitted)
    [9]
    Cohen C, Dénès M, Mörtberg A (2013) Refinements for Free! In: Gonthier G, Norrish M (eds) Certified programs and proofs: CPP 2013, of lecture notes in computer science, vol 8307. Springer, pp 147–162
    [10]
    Child D The essentials of factor analysis 2006 New York Bloomsbury Academic
    [11]
    Divasón J, Aransay J (2014) Gauss–Jordan algorithm and Its applications. Archive of formal proofs. Formal proof development. http://isa-afp.org/entries/Gauss_Jordan.shtml. Accessed 30 Apr 2016
    [12]
    Divasón J, Aransay J (2015) Echelon form. Archive of formal proofs. http://isa-afp.org/entries/Echelon_Form.shtml, Formal proof development. Updated version available from the AFP repository version: http://www.isa-afp.org/devel-entries/Echelon_Form.shtml. Accessed 30 Apr 2016
    [13]
    Divasón J, Aransay J (2015) QR Decomposition. Archive of formal proofs. Formal proof development. http://isa-afp.org/entries/QR_Decomposition.shtml. Accessed 30 Apr 2016
    [14]
    Dénès M (2013) Formal study of efficient algorithms in linear algebra. Ph.D. thesis, Université Nice Sophia Antipolis
    [15]
    Dénès M, Mörtberg A, Siles V (2012) A refinement-based approach to Computational Algebra in COQ. In: Beringer L, Felty A (eds) Interactive theorem proving: ITP 2012, lecture notes in computer science, vol 7406. Springer, pp 83–98
    [16]
    Eberl M (2015) A decision procedure for univariate real polynomials in Isabelle/HOL. In: Proceedings of the 2015 conference on certified programs and proofs, CPP ’15, New York, NY, USA, pp 75–83
    [17]
    Fuchs L, Salce L (2001) Modules over non-Noetherian domains. Mathematical surveys and monographs. American Mathematical Society, Providence
    [18]
    Fukunaga K (2013) Introduction to statistical pattern recognition. Computer science and scientific computing. Elsevier Science, Amsterdam
    [19]
    Gamboa R, Cowles J, Van Baalen J (2003) Using ACL2 arrays to formalise matrix algebra. In: Fourth international workshop on the ACL2 theorem prover and its applications
    [20]
    Hales T, Adams M, Bauer G, Tat Dang D, Harrison J, Le Hoang T, Kaliszyk C, Magron V, McLaughlin S, Tat Nguyen T, Quang Nguyen T, Nipkow T, Obua S, Pleso J, Rute J, Solovyev A, Hoai Thi Ta A, Tran TN, Thi Trieu D, Urban J, Khac Vu K, Zumkeller R (2015) Formal proof of the Kepler conjecture CoRR. abs/1501.02155. Accessed 30 Apr 2016
    [21]
    Haftmann F (2016) Code generation from Isabelle/HOL theories. Tutorial documentation. http://isabelle.in.tum.de/dist/Isabelle2016/doc/codegen.pdf. Accessed 30 Apr 2016
    [22]
    Haftmann F (2016) Haskell-style type classes with Isabelle/Isar. Tutorial documentation. http://isabelle.in.tum.de/dist/Isabelle2016/doc/classes.pdf. Accessed 30 Apr 2016
    [23]
    Harrison J The HOL light theory of euclidean space J Autom Reason 2013 50 2 173-190
    [24]
    Huffman B, Kunčar O (2013) Lifting and Transfer: A Modular Design for Quotients in Isabelle/HOL. In: Gonthier G, Norrish M (eds) Certified programs and proofs: CPP 2013, lecture notes in computer science, vol 8307. Springer, pp 131–146
    [25]
    Hogben J Handbook of linear algebra (discrete mathematics and its applications), 1st edn 2006 Boca Ratón Chapman & Hall/CRC
    [26]
    Jacobson N (2012) Basic algebra I, 2nd edn. Dover Books on Mathematics, Dover Publications, New York
    [27]
    Klein G, Elphinstone K, Heiser G, Andronick J, Cock D, Derrin P, Elkaduwe D, Engelhardt K, Kolanski R, Norrish M, Sewell T, Tuch H, Winwood S (2009) seL4: formal verification of an OS kernel. In: Proceedings of the ACM SIGOPS 22Nd symposium on operating systems principles, SOSP ’09. ACM, New York, pp 207–220
    [28]
    Lochbihler A, Bulwahn L (2011) Animating the formalised semantics of a Java-like Language. In: van Eekelen M, Geuvers H, Schmalz J, Wiedijk F (eds) Interactive theorem proving (ITP 2011), lecture notes in computer science, vol 6898. Springer, pp 216 – 232
    [29]
    Leon SJ (2014) Linear algebra with applications. Featured titles for linear algebra (introductory) Series. Pearson Education, New Jersey
    [30]
    Liu B, Lai HJ (2000) Matrices in combinatorics and graph theory. Network theory and applications. Springer, Berlin
    [31]
    Langville AN, Meyer CD (2011) Google’s Pagerank and beyond: the science of search engine rankings. Princeton University Press, Princeton
    [32]
    The MLton website. MLton. a whole program optimizing complier for Standard ML. http://mlton.org/. Accessed 30 Apr 2016
    [33]
    Newman M (1972) Integral matrices. Pure and applied mathematics. Elsevier Science, New York
    [34]
    Narkawicz A, Muñoz C, and Dutle A Formally-verified decision procedures for univariate polynomial computation based on Sturm’s and Tarski’s theorems J Autom Reason 2015 54 4 285-326
    [35]
    Ould Biha S (2010) Mathematical components for groups theory. Ph.D. thesis, Université Nice Sophia Antipolis
    [36]
    Pan VY Computation of approximate polynomial gcds and an extension Inf Comput 2001 167 2 71-85
    [37]
    The Poly/ML website. http://www.polyml.org/. Accessed 30 Apr 2016
    [38]
    Roman S (2007) Advanced linear algebra. Graduate texts in mathematics. Springer, Berlin
    [39]
    Rudnicki P, Schwarzweller C, and Trybulec A Commutative algebra in the Mizar system J Symbolic Comput 2001 32 1/2 143-169
    [40]
    Storjohann A (2000) Algorithms for matrix canonical forms. Ph.D. thesis, Swiss Federal Institute of Technology Zurich
    [41]
    Coquand T, Mörtberg A, and Siles V A formal proof of Sasaki–Murao algorithm J Formaliz Reason 2012 5 1 27-36
    [42]
    Thiemann R, Yamada A (2015) Matrices, Jordan normal forms, and spectral radius theory. Archive of formal proofs, August. Formal proof development. http://isa-afp.org/entries/Jordan_Normal_Form.shtml. Accessed 30 Apr 2016
    [43]
    Von Neumann J (1955) Mathematical foundations of quantum mechanics. Investigations in physics. Princeton University Press, Princeton
    [44]
    Zill D A first course in differential equations with modeling applications 2012 Boston Cengage Learning

    Cited By

    View all
    • (2022)A Formalization of the Smith Normal Form in Higher-Order LogicJournal of Automated Reasoning10.1007/s10817-022-09631-566:4(1065-1095)Online publication date: 1-Nov-2022
    • (2018)Formal analysis of the kinematic Jacobian in screw theoryFormal Aspects of Computing10.1007/s00165-018-0468-030:6(739-757)Online publication date: 1-Nov-2018
    • (2017)Using Abstract Stobjs in ACL2 to Compute Matrix Normal FormsInteractive Theorem Proving10.1007/978-3-319-66107-0_23(354-370)Online publication date: 26-Sep-2017

    Recommendations

    Reviews

    Jacques Carette

    Formalization is rapidly evolving from being highly desirable but thought too difficult to be realistic, to being quite feasible and well on its way to being expected. The raw technology of theorem provers certainly is ready. What is still evolving are the best techniques to apply, and the libraries of "basic" material to support more advanced applications. Having said that, the task is still not just pure development. Long-term reusability of formal libraries requires sufficient generality, which does not always coincide with easy executability. A careful path of compromise is needed-which is exactly what is done here. While matrix computations are well understood, preexisting work in mathematics (too abstract, so not computable) and in computer science (too low level, albeit extremely efficient, for reuse) is not helpful. A new path is needed. Here, the authors carefully lay the groundwork for parts of a verified linear algebra library in Isabelle/HOL. Then, they further document how a small network of theories (17, of which 11 are new and described here) help bridge the gap between fields and semirings in such a way that matrices over these domains have good computational and provability properties. Although the authors are aiming for verified efficient code, they really only obtain half: verified code. By using functional (also known as immutable) data structures, the resulting algorithms are much too memory hungry to be realistic. Granted, what is obtained is considerably faster than what used to be feasible for code verified in this manner-but there is a still a nontrivial gap to bridge. This is a clear, well-written paper, showing the relentless march forward of science. It's not a breakthrough, but a carefully constructed building block that can be relied on, with all choices on a twisting, not obvious route documented and justified. Online Computing Reviews Service

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Information & Contributors

    Information

    Published In

    cover image Formal Aspects of Computing
    Formal Aspects of Computing  Volume 28, Issue 6
    Nov 2016
    169 pages
    ISSN:0934-5043
    EISSN:1433-299X
    Issue’s Table of Contents

    Publisher

    Springer-Verlag

    Berlin, Heidelberg

    Publication History

    Published: 01 November 2016
    Accepted: 09 June 2016
    Received: 19 November 2015
    Published in FAC Volume 28, Issue 6

    Author Tags

    1. Theorem proving
    2. Isabelle/HOL
    3. Linear algebra
    4. Verified code generation

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)13
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 12 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)A Formalization of the Smith Normal Form in Higher-Order LogicJournal of Automated Reasoning10.1007/s10817-022-09631-566:4(1065-1095)Online publication date: 1-Nov-2022
    • (2018)Formal analysis of the kinematic Jacobian in screw theoryFormal Aspects of Computing10.1007/s00165-018-0468-030:6(739-757)Online publication date: 1-Nov-2018
    • (2017)Using Abstract Stobjs in ACL2 to Compute Matrix Normal FormsInteractive Theorem Proving10.1007/978-3-319-66107-0_23(354-370)Online publication date: 26-Sep-2017

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Full Access

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media