{"id":"https://openalex.org/W2082517951","doi":"https://doi.org/10.1007/s10990-011-9065-0","title":"A lean specification for GADTs: system F with first-class equality proofs","display_name":"A lean specification for GADTs: system F with first-class equality proofs","publication_year":2010,"publication_date":"2010-06-01","ids":{"openalex":"https://openalex.org/W2082517951","doi":"https://doi.org/10.1007/s10990-011-9065-0","mag":"2082517951"},"language":"en","primary_location":{"id":"doi:10.1007/s10990-011-9065-0","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10990-011-9065-0","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10990-011-9065-0.pdf","source":{"id":"https://openalex.org/S4210228303","display_name":"LISP and Symbolic Computation","issn_l":"0892-4635","issn":["0892-4635","1573-0557"],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"cc-by-nc","license_id":"https://openalex.org/licenses/cc-by-nc","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Higher-Order and Symbolic Computation","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://link.springer.com/content/pdf/10.1007/s10990-011-9065-0.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5084561244","display_name":"Arie Middelkoop","orcid":null},"institutions":[{"id":"https://openalex.org/I193662353","display_name":"Utrecht University","ror":"https://ror.org/04pp8hn57","country_code":"NL","type":"education","lineage":["https://openalex.org/I193662353"]}],"countries":["NL"],"is_corresponding":true,"raw_author_name":"Arie Middelkoop","raw_affiliation_strings":["Department of Information and Computing Sciences, Universiteit Utrecht, Utrecht, Netherlands","Department of Information and Computing Sciences, Universiteit Utrecht Utrecht, Netherlands"],"affiliations":[{"raw_affiliation_string":"Department of Information and Computing Sciences, Universiteit Utrecht, Utrecht, Netherlands","institution_ids":["https://openalex.org/I193662353"]},{"raw_affiliation_string":"Department of Information and Computing Sciences, Universiteit Utrecht Utrecht, Netherlands","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5053655087","display_name":"Atze Dijkstra","orcid":"https://orcid.org/0000-0003-2906-3067"},"institutions":[{"id":"https://openalex.org/I193662353","display_name":"Utrecht University","ror":"https://ror.org/04pp8hn57","country_code":"NL","type":"education","lineage":["https://openalex.org/I193662353"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Atze Dijkstra","raw_affiliation_strings":["Department of Information and Computing Sciences, Universiteit Utrecht, Utrecht, Netherlands","Department of Information and Computing Sciences, Universiteit Utrecht Utrecht, Netherlands"],"affiliations":[{"raw_affiliation_string":"Department of Information and Computing Sciences, Universiteit Utrecht, Utrecht, Netherlands","institution_ids":["https://openalex.org/I193662353"]},{"raw_affiliation_string":"Department of Information and Computing Sciences, Universiteit Utrecht Utrecht, Netherlands","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5060098926","display_name":"S. Doaitse Swierstra","orcid":"https://orcid.org/0000-0001-6758-4280"},"institutions":[{"id":"https://openalex.org/I193662353","display_name":"Utrecht University","ror":"https://ror.org/04pp8hn57","country_code":"NL","type":"education","lineage":["https://openalex.org/I193662353"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"S. Doaitse Swierstra","raw_affiliation_strings":["Department of Information and Computing Sciences, Universiteit Utrecht, Utrecht, Netherlands","Department of Information and Computing Sciences, Universiteit Utrecht Utrecht, Netherlands"],"affiliations":[{"raw_affiliation_string":"Department of Information and Computing Sciences, Universiteit Utrecht, Utrecht, Netherlands","institution_ids":["https://openalex.org/I193662353"]},{"raw_affiliation_string":"Department of Information and Computing Sciences, Universiteit Utrecht Utrecht, Netherlands","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5084561244"],"corresponding_institution_ids":["https://openalex.org/I193662353"],"apc_list":null,"apc_paid":null,"fwci":0.451,"has_fulltext":true,"cited_by_count":4,"citation_normalized_percentile":{"value":0.73393538,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":"23","issue":"2","first_page":"145","last_page":"166"},"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.9995999932289124,"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.9995999932289124,"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.9990000128746033,"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"}},{"id":"https://openalex.org/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9944999814033508,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/programming-language","display_name":"Programming language","score":0.8035571575164795},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7637170553207397},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.649008572101593},{"id":"https://openalex.org/keywords/abstract-data-type","display_name":"Abstract data type","score":0.6176896691322327},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5712158679962158},{"id":"https://openalex.org/keywords/specification-language","display_name":"Specification language","score":0.5455621480941772},{"id":"https://openalex.org/keywords/data-type","display_name":"Data type","score":0.5299723148345947},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.521181046962738},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.45831817388534546},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.44772791862487793},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.17851898074150085},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.1312372088432312}],"concepts":[{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8035571575164795},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7637170553207397},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.649008572101593},{"id":"https://openalex.org/C175971053","wikidata":"https://www.wikidata.org/wiki/Q827335","display_name":"Abstract data type","level":2,"score":0.6176896691322327},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5712158679962158},{"id":"https://openalex.org/C201677973","wikidata":"https://www.wikidata.org/wiki/Q1209840","display_name":"Specification language","level":2,"score":0.5455621480941772},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.5299723148345947},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.521181046962738},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.45831817388534546},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.44772791862487793},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.17851898074150085},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.1312372088432312},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1007/s10990-011-9065-0","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10990-011-9065-0","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10990-011-9065-0.pdf","source":{"id":"https://openalex.org/S4210228303","display_name":"LISP and Symbolic Computation","issn_l":"0892-4635","issn":["0892-4635","1573-0557"],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"cc-by-nc","license_id":"https://openalex.org/licenses/cc-by-nc","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Higher-Order and Symbolic Computation","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1007/s10990-011-9065-0","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10990-011-9065-0","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10990-011-9065-0.pdf","source":{"id":"https://openalex.org/S4210228303","display_name":"LISP and Symbolic Computation","issn_l":"0892-4635","issn":["0892-4635","1573-0557"],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"cc-by-nc","license_id":"https://openalex.org/licenses/cc-by-nc","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Higher-Order and Symbolic Computation","raw_type":"journal-article"},"sustainable_development_goals":[{"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9","score":0.6399999856948853}],"awards":[],"funders":[{"id":"https://openalex.org/F4320308943","display_name":"Microsoft Research","ror":"https://ror.org/00d0nc645"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2082517951.pdf","grobid_xml":"https://content.openalex.org/works/W2082517951.grobid-xml"},"referenced_works_count":20,"referenced_works":["https://openalex.org/W33416941","https://openalex.org/W1489195191","https://openalex.org/W1514370277","https://openalex.org/W1550049051","https://openalex.org/W1566576475","https://openalex.org/W1827112781","https://openalex.org/W1941412300","https://openalex.org/W1961135409","https://openalex.org/W1967061556","https://openalex.org/W2003127764","https://openalex.org/W2033174346","https://openalex.org/W2049240102","https://openalex.org/W2125690388","https://openalex.org/W2140647971","https://openalex.org/W2154390633","https://openalex.org/W2154717882","https://openalex.org/W2158778600","https://openalex.org/W2165533952","https://openalex.org/W2166129645","https://openalex.org/W2407908224"],"related_works":["https://openalex.org/W2097802575","https://openalex.org/W1718424146","https://openalex.org/W4205791794","https://openalex.org/W1996169556","https://openalex.org/W4213129642","https://openalex.org/W624617926","https://openalex.org/W4237938900","https://openalex.org/W4255297603","https://openalex.org/W570188923","https://openalex.org/W3160380091"],"abstract_inverted_index":{"Generalized":[0],"Algebraic":[1,8],"Data":[2,9],"Types":[3,10],"are":[4],"a":[5,62,72,77,97,116],"generalization":[6],"of":[7,27,108,133,147,156],"with":[11,137],"additional":[12],"type":[13,45,90],"equality":[14,139],"constraints.":[15],"These":[16,48],"found":[17],"their":[18],"use":[19],"in":[20,57,68,110,154],"many":[21],"functional":[22],"programs,":[23],"including":[24],"the":[25,100,106,127,144],"development":[26],"embedded":[28],"domain":[29],"specific":[30],"programming":[31],"languages":[32,111],"and":[33,43,59,86],"generic":[34],"programming.":[35],"Recently,":[36],"several":[37],"authors":[38],"published":[39],"novel":[40],"inference":[41,91],"algorithms":[42],"corresponding":[44],"system":[46],"specifications.":[47,70],"approaches":[49],"tend":[50],"to":[51,61,83,94,150],"be":[52],"more":[53,117],"algorithmic":[54],"than":[55],"declarative":[56],"nature,":[58],"tied":[60],"given":[63],"compiler":[64],"infrastructure.":[65],"This":[66,141],"results":[67],"complex":[69,78],"For":[71],"language":[73,87,128],"implementor,":[74],"adopting":[75],"such":[76],"approach":[79],"is":[80,92,102],"hard,":[81],"due":[82],"conflicting":[84],"infrastructure":[85],"features.":[88],"Similarly,":[89],"difficult":[93],"comprehend":[95],"for":[96,125],"programmer":[98],"when":[99],"specification":[101,124,142],"complex.":[103],"To":[104],"make":[105],"integration":[107],"GADTs":[109],"easier,":[112],"we":[113],"thus":[114],"need":[115],"orthogonal":[118,123],"specification.":[119],"We":[120],"present":[121],"an":[122],"GADTs:":[126],"System":[129,134],"F":[130,135],"\u223c,":[131],"consisting":[132],"augmented":[136],"first-class":[138],"proofs.":[140],"exploits":[143],"Church":[145],"encoding":[146],"data":[148],"types":[149],"describe":[151],"GADT":[152],"matches":[153],"terms":[155],"conventional":[157],"lambda":[158],"abstractions.":[159]},"counts_by_year":[{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2012,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
