Show simple item record

Files in this item

Thumbnail

Item metadata

dc.contributor.authorSlama, Franck
dc.contributor.authorBrady, Edwin Charles
dc.contributor.editorGeuvers, Herman
dc.contributor.editorEngland, Matthew
dc.contributor.editorHasan, Osman
dc.contributor.editorRabe, Florian
dc.contributor.editorTeschke, Olaf
dc.date.accessioned2017-07-18T14:30:11Z
dc.date.available2017-07-18T14:30:11Z
dc.date.issued2017
dc.identifier250039705
dc.identifier364c78c5-b4d9-4465-89ae-9cae497abb91
dc.identifier85025128999
dc.identifier000441207700004
dc.identifier.citationSlama , F & Brady , E C 2017 , Automatically proving equivalence by type-safe reflection . in H Geuvers , M England , O Hasan , F Rabe & O Teschke (eds) , Intelligent Computer Mathematics : 10th International Conference, CICM 2017, Edinburgh, UK, July 17-21, 2017, Proceedings . Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence) , vol. 10383 (LNCS) , Springer , Cham , pp. 40-55 , 10th Conference on Intelligent Computer Mathematics (CICM 2017) , Edinburgh , United Kingdom , 17/07/17 . https://doi.org/10.1007/978-3-319-62075-6_4en
dc.identifier.citationconferenceen
dc.identifier.isbn9783319620749
dc.identifier.isbn9783319620756
dc.identifier.issn0302-9743
dc.identifier.otherORCID: /0000-0002-9734-367X/work/58054942
dc.identifier.urihttps://hdl.handle.net/10023/11247
dc.descriptionWe are also grateful for the support of the Scottish Informatics and Computer Science Alliance (SICSA) and EPSRC grant EP/N024222/1.en
dc.description.abstractOne difficulty with reasoning and programming with dependent types is that proof obligations arise naturally once programs become even moderately sized. For example, implementing an adder for binary numbers indexed over their natural number equivalents naturally leads to proof obligations for equalities of expressions over natural numbers. The need for these equality proofs comes, in intensional type theories, from the fact that the propositional equality enables us to prove as equal terms that are not judgementally equal, which means that the typechecker can’t always obtain equalities by reduction. As far as possible, we would like to solve such proof obligations automatically. In this paper, we show one way to automate these proofs by reflection in the dependently typed programming language Idris. We show how defining reflected terms indexed by the original Idris expression allows us to construct and manipulate proofs. We build a hierarchy of tactics for proving equivalences in semi-groups, monoids, commutative monoids, groups, commutative groups, semi-rings and rings. We also show how each tactic reuses those from simpler structures, thus avoiding duplication of code and proofs.
dc.format.extent16
dc.format.extent271970
dc.language.isoeng
dc.publisherSpringer
dc.relation.ispartofIntelligent Computer Mathematicsen
dc.relation.ispartofseriesLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence)en
dc.subjectProof automationen
dc.subjectEquivalenceen
dc.subjectEqualityen
dc.subjectProof by reflectionen
dc.subjectCorrect-by-construction softwareen
dc.subjectType-driven developmenten
dc.subjectQA75 Electronic computers. Computer scienceen
dc.subjectQA76 Computer softwareen
dc.subjectTA Engineering (General). Civil engineering (General)en
dc.subjectT-NDASen
dc.subjectBDCen
dc.subjectR2Cen
dc.subject~DC~en
dc.subject.lccQA75en
dc.subject.lccQA76en
dc.subject.lccTAen
dc.titleAutomatically proving equivalence by type-safe reflectionen
dc.typeConference itemen
dc.contributor.sponsorEPSRCen
dc.contributor.institutionUniversity of St Andrews. School of Computer Scienceen
dc.identifier.doi10.1007/978-3-319-62075-6_4
dc.identifier.grantnumberEP/N024222/1en


This item appears in the following Collection(s)

Show simple item record