Formalisation in higher-order logic and code generation to functional languages of the Gauss-Jordan algorithm

  1. Aransay, J. 1
  2. Divasón, J. 1
  1. 1 Universidad de La Rioja
    info

    Universidad de La Rioja

    Logroño, España

    ROR https://ror.org/0553yr311

Zeitschrift:
Journal of Functional Programming

ISSN: 0956-7968

Datum der Publikation: 2015

Ausgabe: 25

Nummer: 1

Seiten: 1-21

Art: Artikel

DOI: 10.1017/S0956796815000155 SCOPUS: 2-s2.0-84993960775 WoS: WOS:000368240300002 GOOGLE SCHOLAR lock_openOpen Access editor

Andere Publikationen in: Journal of Functional Programming

Institutionelles Repository: lockOpen Access Editor

Zusammenfassung

In this paper, we present a formalisation in a proof assistant, Isabelle/HOL, of a naive version of the Gauss-Jordan algorithm, with explicit proofs of some of its applications; and, additionally, a process to obtain versions of this algorithm in two different functional languages (SML and Haskell) by means of code generation techniques from the verified algorithm. The aim of this research is not to compete with specialised numerical implementations of Gauss-like algorithms, but to show that formal proofs in this area can be used to generate usable functional programs. The obtained programs show compelling performance in comparison to some other verified and functional versions, and accomplish some challenging tasks, such as the computation of determinants of matrices of big integers and the computation of the homology of matrices representing digital images