{"id":"https://openalex.org/W2162315884","doi":"https://doi.org/10.1145/1706299.1706325","title":"Decision procedures for algebraic data types with abstractions","display_name":"Decision procedures for algebraic data types with abstractions","publication_year":2010,"publication_date":"2010-01-17","ids":{"openalex":"https://openalex.org/W2162315884","doi":"https://doi.org/10.1145/1706299.1706325","mag":"2162315884"},"language":"en","primary_location":{"id":"doi:10.1145/1706299.1706325","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1706299.1706325","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"http://infoscience.epfl.ch/record/139532","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5085041656","display_name":"Philippe Suter","orcid":null},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Philippe Suter","raw_affiliation_strings":["Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne, Lausanne, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne, Lausanne, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5043236771","display_name":"Mirco Dotta","orcid":null},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Mirco Dotta","raw_affiliation_strings":["Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne, Lausanne, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne, Lausanne, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5008699657","display_name":"Viktor Kun\u010dak","orcid":"https://orcid.org/0000-0001-7044-9522"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Viktor Kuncak","raw_affiliation_strings":["Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne, Lausanne, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne, Lausanne, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":21.9088,"has_fulltext":false,"cited_by_count":109,"citation_normalized_percentile":{"value":0.99493542,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"199","last_page":"210"},"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/T10142","display_name":"Formal Methods in Verification","score":0.9994999766349792,"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/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9980000257492065,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/decidability","display_name":"Decidability","score":0.7021939158439636},{"id":"https://openalex.org/keywords/abstract-data-type","display_name":"Abstract data type","score":0.6834564208984375},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.6097874045372009},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.5822973847389221},{"id":"https://openalex.org/keywords/homomorphism","display_name":"Homomorphism","score":0.5274417996406555},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.5239572525024414},{"id":"https://openalex.org/keywords/data-type","display_name":"Data type","score":0.4868258833885193},{"id":"https://openalex.org/keywords/universal-algebra","display_name":"Universal algebra","score":0.4787387251853943},{"id":"https://openalex.org/keywords/algebraic-operation","display_name":"Algebraic operation","score":0.4753674864768982},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.46193185448646545},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.44651758670806885},{"id":"https://openalex.org/keywords/term","display_name":"Term (time)","score":0.444749653339386},{"id":"https://openalex.org/keywords/algebraic-number","display_name":"Algebraic number","score":0.4428473114967346},{"id":"https://openalex.org/keywords/completeness","display_name":"Completeness (order theory)","score":0.4203651249408722},{"id":"https://openalex.org/keywords/discrete-mathematics","display_name":"Discrete mathematics","score":0.4197620153427124},{"id":"https://openalex.org/keywords/algebraic-specification","display_name":"Algebraic specification","score":0.41801512241363525},{"id":"https://openalex.org/keywords/algebra-over-a-field","display_name":"Algebra over a field","score":0.40000593662261963},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.3730189800262451},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3523682653903961},{"id":"https://openalex.org/keywords/formal-specification","display_name":"Formal specification","score":0.13866135478019714},{"id":"https://openalex.org/keywords/pure-mathematics","display_name":"Pure mathematics","score":0.11658963561058044}],"concepts":[{"id":"https://openalex.org/C153269930","wikidata":"https://www.wikidata.org/wiki/Q430001","display_name":"Decidability","level":2,"score":0.7021939158439636},{"id":"https://openalex.org/C175971053","wikidata":"https://www.wikidata.org/wiki/Q827335","display_name":"Abstract data type","level":2,"score":0.6834564208984375},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.6097874045372009},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5822973847389221},{"id":"https://openalex.org/C4042151","wikidata":"https://www.wikidata.org/wiki/Q215111","display_name":"Homomorphism","level":2,"score":0.5274417996406555},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5239572525024414},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.4868258833885193},{"id":"https://openalex.org/C188971069","wikidata":"https://www.wikidata.org/wiki/Q1636734","display_name":"Universal algebra","level":3,"score":0.4787387251853943},{"id":"https://openalex.org/C136003732","wikidata":"https://www.wikidata.org/wiki/Q3854337","display_name":"Algebraic operation","level":3,"score":0.4753674864768982},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.46193185448646545},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.44651758670806885},{"id":"https://openalex.org/C61797465","wikidata":"https://www.wikidata.org/wiki/Q1188986","display_name":"Term (time)","level":2,"score":0.444749653339386},{"id":"https://openalex.org/C9376300","wikidata":"https://www.wikidata.org/wiki/Q168817","display_name":"Algebraic number","level":2,"score":0.4428473114967346},{"id":"https://openalex.org/C17231256","wikidata":"https://www.wikidata.org/wiki/Q5156540","display_name":"Completeness (order theory)","level":2,"score":0.4203651249408722},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.4197620153427124},{"id":"https://openalex.org/C2777691520","wikidata":"https://www.wikidata.org/wiki/Q4724019","display_name":"Algebraic specification","level":3,"score":0.41801512241363525},{"id":"https://openalex.org/C136119220","wikidata":"https://www.wikidata.org/wiki/Q1000660","display_name":"Algebra over a field","level":2,"score":0.40000593662261963},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.3730189800262451},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3523682653903961},{"id":"https://openalex.org/C116253237","wikidata":"https://www.wikidata.org/wiki/Q1437424","display_name":"Formal specification","level":2,"score":0.13866135478019714},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"score":0.11658963561058044},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":6,"locations":[{"id":"doi:10.1145/1706299.1706325","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1706299.1706325","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.157.7911","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.157.7911","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://lara.epfl.ch/~kuncak/papers/SuterETAL10DecisionProceduresforAlgebraicDataTypesAbstractions.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.172.9870","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.172.9870","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://infoscience.epfl.ch/record/139532/files/OnDecisionProceduresForAlgebraicDataTypesWithAbstractions.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.216.5273","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.216.5273","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://lara.epfl.ch/~kuncak/papers/SuterETAL09DecisionProceduresforAlgebraicData.pdf","raw_type":"text"},{"id":"pmh:oai:infoscience.epfl.ch:139532","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/139532","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Text"},{"id":"pmh:oai:infoscience.epfl.ch:146527","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/146527","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Text"}],"best_oa_location":{"id":"pmh:oai:infoscience.epfl.ch:139532","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/139532","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Text"},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/16","score":0.8100000023841858,"display_name":"Peace, Justice and strong institutions"}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":78,"referenced_works":["https://openalex.org/W59103672","https://openalex.org/W122118143","https://openalex.org/W205696660","https://openalex.org/W1026721552","https://openalex.org/W1480909796","https://openalex.org/W1489527380","https://openalex.org/W1493089824","https://openalex.org/W1502368951","https://openalex.org/W1507902915","https://openalex.org/W1529441891","https://openalex.org/W1537084112","https://openalex.org/W1541825597","https://openalex.org/W1545681762","https://openalex.org/W1549008998","https://openalex.org/W1556480840","https://openalex.org/W1567479568","https://openalex.org/W1573267491","https://openalex.org/W1578967579","https://openalex.org/W1607550340","https://openalex.org/W1608714802","https://openalex.org/W1731421159","https://openalex.org/W1747570770","https://openalex.org/W1767788337","https://openalex.org/W1871671368","https://openalex.org/W1959256509","https://openalex.org/W1964783683","https://openalex.org/W1970945363","https://openalex.org/W1979619055","https://openalex.org/W1988441831","https://openalex.org/W1993370765","https://openalex.org/W1996302019","https://openalex.org/W2014986236","https://openalex.org/W2028685566","https://openalex.org/W2029214188","https://openalex.org/W2045255985","https://openalex.org/W2056350513","https://openalex.org/W2056554620","https://openalex.org/W2082963442","https://openalex.org/W2100738443","https://openalex.org/W2102913701","https://openalex.org/W2103658959","https://openalex.org/W2105045857","https://openalex.org/W2110050316","https://openalex.org/W2113171605","https://openalex.org/W2115134174","https://openalex.org/W2117402063","https://openalex.org/W2118155805","https://openalex.org/W2119717320","https://openalex.org/W2120926795","https://openalex.org/W2123828382","https://openalex.org/W2123995178","https://openalex.org/W2124704329","https://openalex.org/W2134829074","https://openalex.org/W2135322712","https://openalex.org/W2137475629","https://openalex.org/W2138164781","https://openalex.org/W2147650421","https://openalex.org/W2147832077","https://openalex.org/W2152922041","https://openalex.org/W2153131284","https://openalex.org/W2162120832","https://openalex.org/W2164778826","https://openalex.org/W2181289644","https://openalex.org/W2278706878","https://openalex.org/W2293770661","https://openalex.org/W2295923951","https://openalex.org/W2296725671","https://openalex.org/W2574677321","https://openalex.org/W2911838076","https://openalex.org/W3022449549","https://openalex.org/W3023216518","https://openalex.org/W4244488020","https://openalex.org/W4253606798","https://openalex.org/W4285719527","https://openalex.org/W6629352142","https://openalex.org/W6630371703","https://openalex.org/W6680258913","https://openalex.org/W6828535928"],"related_works":["https://openalex.org/W1995925686","https://openalex.org/W2236973669","https://openalex.org/W2052771056","https://openalex.org/W659360897","https://openalex.org/W4232887165","https://openalex.org/W570188923","https://openalex.org/W1575859112","https://openalex.org/W3160075825","https://openalex.org/W1990912204","https://openalex.org/W3160380091"],"abstract_inverted_index":{"We":[0],"describe":[1],"a":[2,63,87,93,103,116,119],"family":[3,58],"of":[4,54,77,108,118,130],"decision":[5,10,56,79],"procedures":[6],"that":[7,71],"extend":[8],"the":[9,73,82,128,134],"procedure":[11,57,80],"for":[12],"quantifier-free":[13],"constraints":[14],"on":[15,68],"recursive":[16,24],"algebraic":[17,36],"data":[18,37,89,99],"types":[19],"(term":[20,32],"algebras)":[21],"to":[22,102],"support":[23],"abstraction":[25,28,69],"functions.":[26],"Our":[27],"functions":[29,70],"are":[30],"catamorphisms":[31],"algebra":[33],"homomorphisms)":[34],"mapping":[35],"type":[38],"values":[39,41],"into":[40],"in":[42,106,133],"other":[43],"decidable":[44],"theories":[45],"(e.g.":[46],"sets,":[47,109],"multisets,":[48,110],"lists,":[49,111],"integers,":[50],"booleans).":[51],"Each":[52],"instance":[53],"our":[55,78],"is":[59],"sound;":[60],"we":[61],"identify":[62],"widely":[64],"applicable":[65],"many-to-one":[66],"condition":[67],"implies":[72],"completeness.":[74],"Complete":[75],"instances":[76],"include":[81],"following":[83],"correctness":[84],"statements:":[85],"1)":[86],"functional":[88],"structure":[90,100],"implementation":[91],"satisfies":[92],"recursively":[94],"specified":[95,135],"invariant,":[96],"2)":[97],"such":[98],"conforms":[101],"contract":[104],"given":[105],"terms":[107],"sizes,":[112],"or":[113],"heights,":[114],"3)":[115],"transformation":[117],"formula":[120],"(or":[121],"lambda":[122],"term)":[123],"abstract":[124],"syntax":[125],"tree":[126],"changes":[127],"set":[129],"free":[131],"variables":[132],"way.":[136]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":3},{"year":2021,"cited_by_count":8},{"year":2020,"cited_by_count":4},{"year":2019,"cited_by_count":4},{"year":2018,"cited_by_count":5},{"year":2017,"cited_by_count":5},{"year":2016,"cited_by_count":9},{"year":2015,"cited_by_count":8},{"year":2014,"cited_by_count":10},{"year":2013,"cited_by_count":16},{"year":2012,"cited_by_count":11}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
