Show simple item record

dc.contributor.authorHUGHES, ARTHUR PAULen
dc.contributor.authorDE VRIES, EDSKOen
dc.date.accessioned2011-06-20T14:00:59Z
dc.date.available2011-06-20T14:00:59Z
dc.date.issued2010en
dc.date.submitted2010en
dc.identifier.citationVerbruggen, W, De Vries, E, Hughes, A, Formal polytypic programs and proofs, JOURNAL OF FUNCTIONAL PROGRAMMING, 20, 2010, 213-270en
dc.identifier.otherYen
dc.descriptionPUBLISHEDen
dc.description.abstractThe aim of our work is to be able to do fully formal, machine-verified proofs over Generic Haskell-style polytypic programs. In order to achieve this goal, we embed polytypic programming in the proof assistant Coq and provide an infrastructure for polytypic proofs. Polytypic functions are reified within Coq as a datatype and they can then be specialized by applying a dependently typed term specialization function. Polytypic functions are thus first-class citizens and can be passed as arguments or returned as results. Likewise, we reify polytypic proofs as a datatype and provide a lemma that a polytypic proof can be specialized to any datatype in the universe. The correspondence between polytypic functions and their polytypic proofs is very clear: programmers need to give proofs for, and only for, the same cases that they need to give instances for when they define the polytypic function itself. Finally, we discuss how to write (co)recursive functions and do (co)recursive proofs in a similar way that recursion is handled in Generic Haskell.en
dc.format.extent213-270en
dc.language.isoenen
dc.relation.ispartofseriesJOURNAL OF FUNCTIONAL PROGRAMMINGen
dc.relation.ispartofseries20en
dc.rightsYen
dc.subjectComputer Scienceen
dc.subjectgeneric programmingen
dc.titleFormal polytypic programs and proofsen
dc.typeJournal Articleen
dc.type.supercollectionscholarly_publicationsen
dc.type.supercollectionrefereed_publicationsen
dc.identifier.peoplefinderurlhttp://people.tcd.ie/devrieeen
dc.identifier.peoplefinderurlhttp://people.tcd.ie/aphughesen
dc.identifier.rssinternalid73722en
dc.identifier.rssurihttp://dx.doi.org/10.1017/S0956796810000158en
dc.identifier.urihttp://hdl.handle.net/2262/57119


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record