{"id":"https://openalex.org/W2145575901","doi":"https://doi.org/10.1017/s0956796810000158","title":"Formal polytypic programs and proofs","display_name":"Formal polytypic programs and proofs","publication_year":2010,"publication_date":"2010-07-01","ids":{"openalex":"https://openalex.org/W2145575901","doi":"https://doi.org/10.1017/s0956796810000158","mag":"2145575901"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796810000158","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796810000158","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/AFAB9C723CCC9D4118727BC0C8CEDF63/S0956796810000158a.pdf/div-class-title-formal-polytypic-programs-and-proofs-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/AFAB9C723CCC9D4118727BC0C8CEDF63/S0956796810000158a.pdf/div-class-title-formal-polytypic-programs-and-proofs-div.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5073059987","display_name":"Wendy Verbruggen","orcid":null},"institutions":[{"id":"https://openalex.org/I204442077","display_name":"Trinity College","ror":"https://ror.org/019dhar59","country_code":"CA","type":"education","lineage":["https://openalex.org/I204442077"]},{"id":"https://openalex.org/I205274468","display_name":"Trinity College Dublin","ror":"https://ror.org/02tyrky19","country_code":"IE","type":"education","lineage":["https://openalex.org/I205274468"]}],"countries":["CA","IE"],"is_corresponding":true,"raw_author_name":"WENDY VERBRUGGEN","raw_affiliation_strings":["School of Computer Science and Statistics Trinity College Dublin, College Green, Ireland (e-mail:","Computer science dapartment, trinity college dublin, college green, dublin 2, ireland (e-mail: wendyverbruggen@gmail.com)#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Computer Science and Statistics Trinity College Dublin, College Green, Ireland (e-mail:","institution_ids":["https://openalex.org/I205274468","https://openalex.org/I204442077"]},{"raw_affiliation_string":"Computer science dapartment, trinity college dublin, college green, dublin 2, ireland (e-mail: wendyverbruggen@gmail.com)#TAB#","institution_ids":["https://openalex.org/I205274468"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5090965060","display_name":"Edsko de Vries","orcid":"https://orcid.org/0000-0003-3979-3397"},"institutions":[{"id":"https://openalex.org/I204442077","display_name":"Trinity College","ror":"https://ror.org/019dhar59","country_code":"CA","type":"education","lineage":["https://openalex.org/I204442077"]},{"id":"https://openalex.org/I205274468","display_name":"Trinity College Dublin","ror":"https://ror.org/02tyrky19","country_code":"IE","type":"education","lineage":["https://openalex.org/I205274468"]}],"countries":["CA","IE"],"is_corresponding":false,"raw_author_name":"EDSKO DE VRIES","raw_affiliation_strings":["School of Computer Science and Statistics Trinity College Dublin, College Green, Ireland (e-mail:","Computer science dapartment, trinity college dublin, college green, dublin 2, ireland (e-mail: wendyverbruggen@gmail.com)#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Computer Science and Statistics Trinity College Dublin, College Green, Ireland (e-mail:","institution_ids":["https://openalex.org/I205274468","https://openalex.org/I204442077"]},{"raw_affiliation_string":"Computer science dapartment, trinity college dublin, college green, dublin 2, ireland (e-mail: wendyverbruggen@gmail.com)#TAB#","institution_ids":["https://openalex.org/I205274468"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5112487843","display_name":"Arthur Hughes","orcid":null},"institutions":[{"id":"https://openalex.org/I204442077","display_name":"Trinity College","ror":"https://ror.org/019dhar59","country_code":"CA","type":"education","lineage":["https://openalex.org/I204442077"]},{"id":"https://openalex.org/I205274468","display_name":"Trinity College Dublin","ror":"https://ror.org/02tyrky19","country_code":"IE","type":"education","lineage":["https://openalex.org/I205274468"]}],"countries":["CA","IE"],"is_corresponding":false,"raw_author_name":"ARTHUR HUGHES","raw_affiliation_strings":["School of Computer Science and Statistics Trinity College Dublin, College Green, Ireland (e-mail:","Computer science dapartment, trinity college dublin, college green, dublin 2, ireland (e-mail: wendyverbruggen@gmail.com)#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Computer Science and Statistics Trinity College Dublin, College Green, Ireland (e-mail:","institution_ids":["https://openalex.org/I205274468","https://openalex.org/I204442077"]},{"raw_affiliation_string":"Computer science dapartment, trinity college dublin, college green, dublin 2, ireland (e-mail: wendyverbruggen@gmail.com)#TAB#","institution_ids":["https://openalex.org/I205274468"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5073059987"],"corresponding_institution_ids":["https://openalex.org/I204442077","https://openalex.org/I205274468"],"apc_list":null,"apc_paid":null,"fwci":2.3339,"has_fulltext":true,"cited_by_count":5,"citation_normalized_percentile":{"value":0.90110123,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":96},"biblio":{"volume":"20","issue":"3-4","first_page":"213","last_page":"270"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.996999979019165,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9926999807357788,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.9234945774078369},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8174370527267456},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.6973921656608582},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6152937412261963},{"id":"https://openalex.org/keywords/proof-assistant","display_name":"Proof assistant","score":0.514947235584259},{"id":"https://openalex.org/keywords/lemma","display_name":"Lemma (botany)","score":0.5112836360931396},{"id":"https://openalex.org/keywords/function","display_name":"Function (biology)","score":0.49485844373703003},{"id":"https://openalex.org/keywords/recursion","display_name":"Recursion (computer science)","score":0.4631141722202301},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.43177276849746704},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.10035461187362671}],"concepts":[{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.9234945774078369},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8174370527267456},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.6973921656608582},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6152937412261963},{"id":"https://openalex.org/C203265346","wikidata":"https://www.wikidata.org/wiki/Q11387554","display_name":"Proof assistant","level":3,"score":0.514947235584259},{"id":"https://openalex.org/C2777759810","wikidata":"https://www.wikidata.org/wiki/Q149316","display_name":"Lemma (botany)","level":3,"score":0.5112836360931396},{"id":"https://openalex.org/C14036430","wikidata":"https://www.wikidata.org/wiki/Q3736076","display_name":"Function (biology)","level":2,"score":0.49485844373703003},{"id":"https://openalex.org/C168773036","wikidata":"https://www.wikidata.org/wiki/Q264164","display_name":"Recursion (computer science)","level":2,"score":0.4631141722202301},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.43177276849746704},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.10035461187362671},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C46757340","wikidata":"https://www.wikidata.org/wiki/Q43238","display_name":"Poaceae","level":2,"score":0.0},{"id":"https://openalex.org/C78458016","wikidata":"https://www.wikidata.org/wiki/Q840400","display_name":"Evolutionary biology","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1017/s0956796810000158","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796810000158","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/AFAB9C723CCC9D4118727BC0C8CEDF63/S0956796810000158a.pdf/div-class-title-formal-polytypic-programs-and-proofs-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},{"id":"pmh:http://www.rian.ie/89787/","is_oa":true,"landing_page_url":"http://hdl.handle.net/2262/57119","pdf_url":null,"source":{"id":"https://openalex.org/S4306400033","display_name":"Arrow@dit (Dublin Institute of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I115570527","host_organization_name":"Dublin Institute of Technology","host_organization_lineage":["https://openalex.org/I115570527"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-sa","license_id":"https://openalex.org/licenses/cc-by-nc-sa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Verbruggen, W, De Vries, E, Hughes, A, Formal polytypic programs and proofs, JOURNAL OF FUNCTIONAL PROGRAMMING, 20, 2010, 213-270","raw_type":"Journal article"}],"best_oa_location":{"id":"doi:10.1017/s0956796810000158","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796810000158","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/AFAB9C723CCC9D4118727BC0C8CEDF63/S0956796810000158a.pdf/div-class-title-formal-polytypic-programs-and-proofs-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"sustainable_development_goals":[{"score":0.6399999856948853,"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9"}],"awards":[],"funders":[{"id":"https://openalex.org/F4320320842","display_name":"Irish Research Council for Science, Engineering and Technology","ror":"https://ror.org/051xex213"},{"id":"https://openalex.org/F4320320847","display_name":"Science Foundation Ireland","ror":"https://ror.org/0271asj38"},{"id":"https://openalex.org/F4320321056","display_name":"Irish Research Council","ror":"https://ror.org/051xex213"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2145575901.pdf","grobid_xml":"https://content.openalex.org/works/W2145575901.grobid-xml"},"referenced_works_count":51,"referenced_works":["https://openalex.org/W9594217","https://openalex.org/W120129473","https://openalex.org/W200726789","https://openalex.org/W1487721031","https://openalex.org/W1488210308","https://openalex.org/W1494217319","https://openalex.org/W1501408037","https://openalex.org/W1511916234","https://openalex.org/W1520174560","https://openalex.org/W1522681403","https://openalex.org/W1535521146","https://openalex.org/W1552909716","https://openalex.org/W1553511155","https://openalex.org/W1578113853","https://openalex.org/W1580128549","https://openalex.org/W1597282693","https://openalex.org/W1604825170","https://openalex.org/W1751016442","https://openalex.org/W1768450951","https://openalex.org/W1775764070","https://openalex.org/W1834021050","https://openalex.org/W1846463844","https://openalex.org/W1964211642","https://openalex.org/W1977955863","https://openalex.org/W1986402635","https://openalex.org/W2009259962","https://openalex.org/W2014836228","https://openalex.org/W2048306076","https://openalex.org/W2058137890","https://openalex.org/W2074746292","https://openalex.org/W2088735483","https://openalex.org/W2093896470","https://openalex.org/W2095625219","https://openalex.org/W2110317952","https://openalex.org/W2117477507","https://openalex.org/W2135642511","https://openalex.org/W2137236134","https://openalex.org/W2140647971","https://openalex.org/W2147643247","https://openalex.org/W2154390633","https://openalex.org/W2154717882","https://openalex.org/W2158523001","https://openalex.org/W2167268698","https://openalex.org/W2296612922","https://openalex.org/W2407587926","https://openalex.org/W2568721247","https://openalex.org/W2785690991","https://openalex.org/W2911802384","https://openalex.org/W2911818219","https://openalex.org/W4285719527","https://openalex.org/W6637699856"],"related_works":["https://openalex.org/W2112263414","https://openalex.org/W1602185604","https://openalex.org/W3004782279","https://openalex.org/W2028779182","https://openalex.org/W4242678340","https://openalex.org/W2140654465","https://openalex.org/W2913635267","https://openalex.org/W2792461873","https://openalex.org/W2886472010","https://openalex.org/W3135839603"],"abstract_inverted_index":{"Abstract":[0],"The":[1,107],"aim":[2],"of":[3],"our":[4],"work":[5],"is":[6,116,163],"to":[7,10,23,101,121,134,149],"be":[8,56,74,99],"able":[9],"do":[11,154],"fully":[12],"formal,":[13],"machine-verified":[14],"proofs":[15,86,115,123,156],"over":[16],"Generic":[17,166],"Haskell-style":[18],"polytypic":[19,29,41,85,96,110,114,142],"programs.":[20],"In":[21],"order":[22],"achieve":[24],"this":[25],"goal,":[26],"we":[27,83,146],"embed":[28],"programming":[30],"in":[31,104,157,165],"the":[32,105,128,141],"proof":[33,97],"assistant":[34],"Coq":[35,48],"and":[36,52,72,90,112,125,153],"provide":[37,91],"an":[38],"infrastructure":[39],"for":[40,137],"proofs.":[42],"Polytypic":[43,66],"functions":[44,67,111,152],"are":[45,68],"reified":[46],"within":[47],"as":[49,76,80,87],"a":[50,60,88,92,95,158],"datatype":[51,89,103],"they":[53,132,139],"can":[54,73,98],"then":[55],"specialized":[57,100],"by":[58],"applying":[59],"dependently":[61],"typed":[62],"term":[63],"specialization":[64],"function.":[65],"thus":[69],"first-class":[70],"citizens":[71],"passed":[75],"arguments":[77],"or":[78],"returned":[79],"results.":[81],"Likewise,":[82],"reify":[84],"lemma":[93],"that":[94,131,161],"any":[102],"universe.":[106],"correspondence":[108],"between":[109],"their":[113],"very":[117],"clear:":[118],"programmers":[119],"need":[120,133],"give":[122,135],"for,":[124,127],"only":[126],"same":[129],"cases":[130],"instances":[136],"when":[138],"define":[140],"function":[143],"itself.":[144],"Finally,":[145],"discuss":[147],"how":[148],"write":[150],"(co)recursive":[151,155],"similar":[159],"way":[160],"recursion":[162],"handled":[164],"Haskell.":[167]},"counts_by_year":[{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":2}],"updated_date":"2026-05-04T08:30:34.212998","created_date":"2025-10-10T00:00:00"}
