{"id":"https://openalex.org/W4387667038","doi":"https://doi.org/10.1145/3622835","title":"Complete First-Order Reasoning for Properties of Functional Programs","display_name":"Complete First-Order Reasoning for Properties of Functional Programs","publication_year":2023,"publication_date":"2023-10-16","ids":{"openalex":"https://openalex.org/W4387667038","doi":"https://doi.org/10.1145/3622835"},"language":"en","primary_location":{"id":"doi:10.1145/3622835","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622835","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622835","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3622835","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5005922328","display_name":"Adithya Murali","orcid":"https://orcid.org/0000-0002-6311-1467"},"institutions":[{"id":"https://openalex.org/I157725225","display_name":"University of Illinois Urbana-Champaign","ror":"https://ror.org/047426m28","country_code":"US","type":"education","lineage":["https://openalex.org/I157725225"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Adithya Murali","raw_affiliation_strings":["University of Illinois Urbana-Champaign, Urbana, USA"],"raw_orcid":"https://orcid.org/0000-0002-6311-1467","affiliations":[{"raw_affiliation_string":"University of Illinois Urbana-Champaign, Urbana, USA","institution_ids":["https://openalex.org/I157725225"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5063862584","display_name":"Lucas Pe\u00f1a","orcid":"https://orcid.org/0000-0002-1898-439X"},"institutions":[{"id":"https://openalex.org/I157725225","display_name":"University of Illinois Urbana-Champaign","ror":"https://ror.org/047426m28","country_code":"US","type":"education","lineage":["https://openalex.org/I157725225"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Lucas Pe\u00f1a","raw_affiliation_strings":["University of Illinois Urbana-Champaign, Urbana, USA"],"raw_orcid":"https://orcid.org/0000-0002-1898-439X","affiliations":[{"raw_affiliation_string":"University of Illinois Urbana-Champaign, Urbana, USA","institution_ids":["https://openalex.org/I157725225"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5002412544","display_name":"Ranjit Jhala","orcid":"https://orcid.org/0000-0002-1802-9421"},"institutions":[{"id":"https://openalex.org/I36258959","display_name":"University of California San Diego","ror":"https://ror.org/0168r3w48","country_code":"US","type":"education","lineage":["https://openalex.org/I36258959"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ranjit Jhala","raw_affiliation_strings":["University of California San Diego, San Diego, USA"],"raw_orcid":"https://orcid.org/0000-0002-1802-9421","affiliations":[{"raw_affiliation_string":"University of California San Diego, San Diego, USA","institution_ids":["https://openalex.org/I36258959"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5112870293","display_name":"P. Madhusudan","orcid":null},"institutions":[{"id":"https://openalex.org/I157725225","display_name":"University of Illinois Urbana-Champaign","ror":"https://ror.org/047426m28","country_code":"US","type":"education","lineage":["https://openalex.org/I157725225"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"P. Madhusudan","raw_affiliation_strings":["University of Illinois Urbana-Champaign, Urbana, USA"],"raw_orcid":"https://orcid.org/0000-0002-9782-721X","affiliations":[{"raw_affiliation_string":"University of Illinois Urbana-Champaign, Urbana, USA","institution_ids":["https://openalex.org/I157725225"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5005922328"],"corresponding_institution_ids":["https://openalex.org/I157725225"],"apc_list":null,"apc_paid":null,"fwci":0.497,"has_fulltext":true,"cited_by_count":3,"citation_normalized_percentile":{"value":0.71680449,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":96},"biblio":{"volume":"7","issue":"OOPSLA2","first_page":"1063","last_page":"1092"},"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.9986000061035156,"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.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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7011552453041077},{"id":"https://openalex.org/keywords/heuristics","display_name":"Heuristics","score":0.6628330945968628},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.6556594967842102},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.6543744206428528},{"id":"https://openalex.org/keywords/decidability","display_name":"Decidability","score":0.6309087872505188},{"id":"https://openalex.org/keywords/heuristic","display_name":"Heuristic","score":0.5656832456588745},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.5519258975982666},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5200521349906921},{"id":"https://openalex.org/keywords/quantifier","display_name":"Quantifier (linguistics)","score":0.5032588839530945},{"id":"https://openalex.org/keywords/automated-reasoning","display_name":"Automated reasoning","score":0.4839187264442444},{"id":"https://openalex.org/keywords/automated-theorem-proving","display_name":"Automated theorem proving","score":0.44112628698349},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.38486361503601074},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.2744176387786865},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.24025475978851318}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7011552453041077},{"id":"https://openalex.org/C127705205","wikidata":"https://www.wikidata.org/wiki/Q5748245","display_name":"Heuristics","level":2,"score":0.6628330945968628},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.6556594967842102},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.6543744206428528},{"id":"https://openalex.org/C153269930","wikidata":"https://www.wikidata.org/wiki/Q430001","display_name":"Decidability","level":2,"score":0.6309087872505188},{"id":"https://openalex.org/C173801870","wikidata":"https://www.wikidata.org/wiki/Q201413","display_name":"Heuristic","level":2,"score":0.5656832456588745},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.5519258975982666},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5200521349906921},{"id":"https://openalex.org/C2778523021","wikidata":"https://www.wikidata.org/wiki/Q5532504","display_name":"Quantifier (linguistics)","level":2,"score":0.5032588839530945},{"id":"https://openalex.org/C195344581","wikidata":"https://www.wikidata.org/wiki/Q2555318","display_name":"Automated reasoning","level":2,"score":0.4839187264442444},{"id":"https://openalex.org/C206880738","wikidata":"https://www.wikidata.org/wiki/Q431667","display_name":"Automated theorem proving","level":2,"score":0.44112628698349},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.38486361503601074},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2744176387786865},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.24025475978851318},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","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}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3622835","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622835","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622835","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3622835","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622835","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622835","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4387667038.pdf","grobid_xml":"https://content.openalex.org/works/W4387667038.grobid-xml"},"referenced_works_count":55,"referenced_works":["https://openalex.org/W1781094","https://openalex.org/W878043872","https://openalex.org/W1511668635","https://openalex.org/W1536511644","https://openalex.org/W1541587797","https://openalex.org/W1554432980","https://openalex.org/W1559664284","https://openalex.org/W1597068544","https://openalex.org/W1727725625","https://openalex.org/W1972956465","https://openalex.org/W1978790429","https://openalex.org/W2043416466","https://openalex.org/W2049207136","https://openalex.org/W2055477538","https://openalex.org/W2056350513","https://openalex.org/W2068523159","https://openalex.org/W2080841971","https://openalex.org/W2081629039","https://openalex.org/W2082963442","https://openalex.org/W2091723900","https://openalex.org/W2102928769","https://openalex.org/W2105505307","https://openalex.org/W2148193377","https://openalex.org/W2157200381","https://openalex.org/W2162315884","https://openalex.org/W2164778826","https://openalex.org/W2181289644","https://openalex.org/W2186501980","https://openalex.org/W2346936556","https://openalex.org/W2485416161","https://openalex.org/W2491721896","https://openalex.org/W2493946278","https://openalex.org/W2545358040","https://openalex.org/W2563639488","https://openalex.org/W2767258384","https://openalex.org/W2777169505","https://openalex.org/W2798666859","https://openalex.org/W2900560136","https://openalex.org/W2914354623","https://openalex.org/W2927725532","https://openalex.org/W2942868935","https://openalex.org/W2969873114","https://openalex.org/W3001530932","https://openalex.org/W3039412221","https://openalex.org/W3105807174","https://openalex.org/W3123689272","https://openalex.org/W3125985216","https://openalex.org/W3197196850","https://openalex.org/W4206132523","https://openalex.org/W4210917167","https://openalex.org/W4239420709","https://openalex.org/W4290457287","https://openalex.org/W4297415612","https://openalex.org/W4297780507","https://openalex.org/W4302604543"],"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/W2129253059","https://openalex.org/W1524436860","https://openalex.org/W4296274916","https://openalex.org/W1504459189"],"abstract_inverted_index":{"Several":[0],"practical":[1],"tools":[2],"for":[3,13,57],"automatically":[4],"verifying":[5],"functional":[6],"programs":[7],"(e.g.,":[8],"Liquid":[9],"Haskell":[10],"and":[11,47,66,98],"Leon":[12],"Scala":[14],"programs)":[15],"rely":[16],"on":[17,21],"a":[18,50],"heuristic":[19],"based":[20],"unrolling":[22],"recursive":[23],"function":[24],"definitions":[25],"followed":[26],"by":[27],"quantifier-free":[28,74],"reasoning":[29,58],"using":[30],"SMT":[31],"solvers.":[32],"We":[33],"uncover":[34],"foundational":[35],"theoretical":[36],"properties":[37],"of":[38,63,85],"this":[39,80],"heuristic,":[40],"revealing":[41],"that":[42,52,102],"it":[43],"can":[44],"be":[45],"generalized":[46],"formalized":[48],"as":[49],"technique":[51],"is":[53],"in":[54,79,106],"fact":[55],"complete":[56],"with":[59],"combined":[60],"First-Order":[61],"theories":[62,71],"algebraic":[64],"datatypes":[65],"background":[67,70],"theories,":[68],"where":[69],"support":[72],"decidable":[73],"reasoning.":[75],"The":[76],"theory":[77],"developed":[78],"paper":[81],"explains":[82],"the":[83,99],"efficacy":[84],"these":[86],"heuristics":[87],"when":[88,95],"they":[89,93,96],"succeed,":[90],"explain":[91],"why":[92],"fail":[94],"fail,":[97],"precise":[100],"role":[101],"user":[103],"help":[104],"plays":[105],"making":[107],"proofs":[108],"succeed.":[109]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":2}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
