Generating certified code from formal proofs: a case study in homological algebra

We apply current theorem proving technology to certified code in the domain of abstract algebra. More concretely, based on a formal proof of the Basic Perturbation Lemma (a central result in homological algebra) in the prover Isabelle/HOL, we apply various code generation techniques, which lead to c...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Formal aspects of computing 2010-03, Vol.22 (2), p.193-213
Hauptverfasser: Aransay, Jesús, Ballarin, Clemens, Rubio, Julio
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 213
container_issue 2
container_start_page 193
container_title Formal aspects of computing
container_volume 22
creator Aransay, Jesús
Ballarin, Clemens
Rubio, Julio
description We apply current theorem proving technology to certified code in the domain of abstract algebra. More concretely, based on a formal proof of the Basic Perturbation Lemma (a central result in homological algebra) in the prover Isabelle/HOL, we apply various code generation techniques, which lead to certified implementations of the associated algorithm in ML. In the formal proof, algebraic structures occurring in the Basic Perturbation Lemma are represented in a way, which is not directly amenable to code generation with the available tools. Interestingly, this representation is required in the proof, while for the algorithm simpler data structures are sufficient. Our approach is to establish a link between the non-executable setting of the proof and the executable representation in the algorithm, which is to be generated. This correspondence is established within the logical framework of Isabelle/HOL—that is, it is formally proved correct. The generated code is applied to and illustrated with a number of examples.
doi_str_mv 10.1007/s00165-009-0120-0
format Article
fullrecord <record><control><sourceid>proquest_hal_p</sourceid><recordid>TN_cdi_hal_primary_oai_HAL_hal_00534928v1</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>743591983</sourcerecordid><originalsourceid>FETCH-LOGICAL-c424t-be882f93d541ed04772823c91ed2f96356fa0223de3ed0a85d0464d05e3bd2ee3</originalsourceid><addsrcrecordid>eNp1kU1Lw0AQhhdRsFZ_gLfFi3iIzn7kY72Voq1QEEHB27JNJmlKkq27idB_75aIguBpmNnnnY99CblkcMsA0jsPwJI4AlARMA4RHJEJk0JEXKn3YzIBJWQUgxSn5Mz7baBjxdiEvCywQ2f6uqtojq6vyxoLmtsCaelsS0vrWtPQnbO29PfU0Nx4pL4fij2tO7qxrW1sVeeBMU2Fa2fOyUlpGo8X33FK3h4fXufLaPW8eJrPVlEuueyjNWYZL5UoYsmwAJmmPOMiVyEJ5UTESWmAc1GgCM8miwOTyAJiFOuCI4opuRn7bkyjd65ujdtra2q9nK30oQYQC6l49skCez2y4Y6PAX2v29rn2DSmQzt4nUoRvkNlIpBXf8itHVwXDtEcwlIJU2mA2AjlznrvsPyZz0Af7NCjHWEFpQ92aAgaPmp8YLsK3W_j_0Vf5bmLVA</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>203566197</pqid></control><display><type>article</type><title>Generating certified code from formal proofs: a case study in homological algebra</title><source>SpringerLink Journals</source><source>Elektronische Zeitschriftenbibliothek - Frei zugängliche E-Journals</source><creator>Aransay, Jesús ; Ballarin, Clemens ; Rubio, Julio</creator><creatorcontrib>Aransay, Jesús ; Ballarin, Clemens ; Rubio, Julio</creatorcontrib><description>We apply current theorem proving technology to certified code in the domain of abstract algebra. More concretely, based on a formal proof of the Basic Perturbation Lemma (a central result in homological algebra) in the prover Isabelle/HOL, we apply various code generation techniques, which lead to certified implementations of the associated algorithm in ML. In the formal proof, algebraic structures occurring in the Basic Perturbation Lemma are represented in a way, which is not directly amenable to code generation with the available tools. Interestingly, this representation is required in the proof, while for the algorithm simpler data structures are sufficient. Our approach is to establish a link between the non-executable setting of the proof and the executable representation in the algorithm, which is to be generated. This correspondence is established within the logical framework of Isabelle/HOL—that is, it is formally proved correct. The generated code is applied to and illustrated with a number of examples.</description><identifier>ISSN: 0934-5043</identifier><identifier>EISSN: 1433-299X</identifier><identifier>DOI: 10.1007/s00165-009-0120-0</identifier><identifier>CODEN: FACME5</identifier><language>eng</language><publisher>London: Springer-Verlag</publisher><subject>Computer Science ; Math Applications in Computer Science ; Original Article ; Theory of Computation</subject><ispartof>Formal aspects of computing, 2010-03, Vol.22 (2), p.193-213</ispartof><rights>British Computer Society 2009</rights><rights>British Computer Society 2010</rights><rights>Distributed under a Creative Commons Attribution 4.0 International License</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c424t-be882f93d541ed04772823c91ed2f96356fa0223de3ed0a85d0464d05e3bd2ee3</citedby><cites>FETCH-LOGICAL-c424t-be882f93d541ed04772823c91ed2f96356fa0223de3ed0a85d0464d05e3bd2ee3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://link.springer.com/content/pdf/10.1007/s00165-009-0120-0$$EPDF$$P50$$Gspringer$$H</linktopdf><linktohtml>$$Uhttps://link.springer.com/10.1007/s00165-009-0120-0$$EHTML$$P50$$Gspringer$$H</linktohtml><link.rule.ids>230,314,776,780,881,27903,27904,41467,42536,51297</link.rule.ids><backlink>$$Uhttps://hal.science/hal-00534928$$DView record in HAL$$Hfree_for_read</backlink></links><search><creatorcontrib>Aransay, Jesús</creatorcontrib><creatorcontrib>Ballarin, Clemens</creatorcontrib><creatorcontrib>Rubio, Julio</creatorcontrib><title>Generating certified code from formal proofs: a case study in homological algebra</title><title>Formal aspects of computing</title><addtitle>Form Asp Comp</addtitle><description>We apply current theorem proving technology to certified code in the domain of abstract algebra. More concretely, based on a formal proof of the Basic Perturbation Lemma (a central result in homological algebra) in the prover Isabelle/HOL, we apply various code generation techniques, which lead to certified implementations of the associated algorithm in ML. In the formal proof, algebraic structures occurring in the Basic Perturbation Lemma are represented in a way, which is not directly amenable to code generation with the available tools. Interestingly, this representation is required in the proof, while for the algorithm simpler data structures are sufficient. Our approach is to establish a link between the non-executable setting of the proof and the executable representation in the algorithm, which is to be generated. This correspondence is established within the logical framework of Isabelle/HOL—that is, it is formally proved correct. The generated code is applied to and illustrated with a number of examples.</description><subject>Computer Science</subject><subject>Math Applications in Computer Science</subject><subject>Original Article</subject><subject>Theory of Computation</subject><issn>0934-5043</issn><issn>1433-299X</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2010</creationdate><recordtype>article</recordtype><sourceid>BENPR</sourceid><recordid>eNp1kU1Lw0AQhhdRsFZ_gLfFi3iIzn7kY72Voq1QEEHB27JNJmlKkq27idB_75aIguBpmNnnnY99CblkcMsA0jsPwJI4AlARMA4RHJEJk0JEXKn3YzIBJWQUgxSn5Mz7baBjxdiEvCywQ2f6uqtojq6vyxoLmtsCaelsS0vrWtPQnbO29PfU0Nx4pL4fij2tO7qxrW1sVeeBMU2Fa2fOyUlpGo8X33FK3h4fXufLaPW8eJrPVlEuueyjNWYZL5UoYsmwAJmmPOMiVyEJ5UTESWmAc1GgCM8miwOTyAJiFOuCI4opuRn7bkyjd65ujdtra2q9nK30oQYQC6l49skCez2y4Y6PAX2v29rn2DSmQzt4nUoRvkNlIpBXf8itHVwXDtEcwlIJU2mA2AjlznrvsPyZz0Af7NCjHWEFpQ92aAgaPmp8YLsK3W_j_0Vf5bmLVA</recordid><startdate>20100301</startdate><enddate>20100301</enddate><creator>Aransay, Jesús</creator><creator>Ballarin, Clemens</creator><creator>Rubio, Julio</creator><general>Springer-Verlag</general><general>Association for Computing Machinery</general><general>Springer Verlag</general><scope>AAYXX</scope><scope>CITATION</scope><scope>3V.</scope><scope>7SC</scope><scope>7XB</scope><scope>8AL</scope><scope>8AO</scope><scope>8FD</scope><scope>8FE</scope><scope>8FG</scope><scope>8FK</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>ARAPS</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>GNUQQ</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K7-</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>M0N</scope><scope>P5Z</scope><scope>P62</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>Q9U</scope><scope>1XC</scope><scope>VOOES</scope></search><sort><creationdate>20100301</creationdate><title>Generating certified code from formal proofs: a case study in homological algebra</title><author>Aransay, Jesús ; Ballarin, Clemens ; Rubio, Julio</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c424t-be882f93d541ed04772823c91ed2f96356fa0223de3ed0a85d0464d05e3bd2ee3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2010</creationdate><topic>Computer Science</topic><topic>Math Applications in Computer Science</topic><topic>Original Article</topic><topic>Theory of Computation</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Aransay, Jesús</creatorcontrib><creatorcontrib>Ballarin, Clemens</creatorcontrib><creatorcontrib>Rubio, Julio</creatorcontrib><collection>CrossRef</collection><collection>ProQuest Central (Corporate)</collection><collection>Computer and Information Systems Abstracts</collection><collection>ProQuest Central (purchase pre-March 2016)</collection><collection>Computing Database (Alumni Edition)</collection><collection>ProQuest Pharma Collection</collection><collection>Technology Research Database</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>ProQuest Central (Alumni) (purchase pre-March 2016)</collection><collection>ProQuest Central (Alumni Edition)</collection><collection>ProQuest Central UK/Ireland</collection><collection>Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>ProQuest Central Student</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Computer Science Collection</collection><collection>Computer Science Database</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><collection>Computing Database</collection><collection>Advanced Technologies &amp; Aerospace Database</collection><collection>ProQuest Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><collection>ProQuest Central Basic</collection><collection>Hyper Article en Ligne (HAL)</collection><collection>Hyper Article en Ligne (HAL) (Open Access)</collection><jtitle>Formal aspects of computing</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Aransay, Jesús</au><au>Ballarin, Clemens</au><au>Rubio, Julio</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Generating certified code from formal proofs: a case study in homological algebra</atitle><jtitle>Formal aspects of computing</jtitle><stitle>Form Asp Comp</stitle><date>2010-03-01</date><risdate>2010</risdate><volume>22</volume><issue>2</issue><spage>193</spage><epage>213</epage><pages>193-213</pages><issn>0934-5043</issn><eissn>1433-299X</eissn><coden>FACME5</coden><abstract>We apply current theorem proving technology to certified code in the domain of abstract algebra. More concretely, based on a formal proof of the Basic Perturbation Lemma (a central result in homological algebra) in the prover Isabelle/HOL, we apply various code generation techniques, which lead to certified implementations of the associated algorithm in ML. In the formal proof, algebraic structures occurring in the Basic Perturbation Lemma are represented in a way, which is not directly amenable to code generation with the available tools. Interestingly, this representation is required in the proof, while for the algorithm simpler data structures are sufficient. Our approach is to establish a link between the non-executable setting of the proof and the executable representation in the algorithm, which is to be generated. This correspondence is established within the logical framework of Isabelle/HOL—that is, it is formally proved correct. The generated code is applied to and illustrated with a number of examples.</abstract><cop>London</cop><pub>Springer-Verlag</pub><doi>10.1007/s00165-009-0120-0</doi><tpages>21</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0934-5043
ispartof Formal aspects of computing, 2010-03, Vol.22 (2), p.193-213
issn 0934-5043
1433-299X
language eng
recordid cdi_hal_primary_oai_HAL_hal_00534928v1
source SpringerLink Journals; Elektronische Zeitschriftenbibliothek - Frei zugängliche E-Journals
subjects Computer Science
Math Applications in Computer Science
Original Article
Theory of Computation
title Generating certified code from formal proofs: a case study in homological algebra
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-28T01%3A33%3A44IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_hal_p&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Generating%20certified%20code%20from%20formal%20proofs:%20a%20case%20study%20in%20homological%20algebra&rft.jtitle=Formal%20aspects%20of%20computing&rft.au=Aransay,%20Jes%C3%BAs&rft.date=2010-03-01&rft.volume=22&rft.issue=2&rft.spage=193&rft.epage=213&rft.pages=193-213&rft.issn=0934-5043&rft.eissn=1433-299X&rft.coden=FACME5&rft_id=info:doi/10.1007/s00165-009-0120-0&rft_dat=%3Cproquest_hal_p%3E743591983%3C/proquest_hal_p%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=203566197&rft_id=info:pmid/&rfr_iscdi=true