{"id":"https://openalex.org/W4245933182","doi":"https://doi.org/10.1145/2103656.2103673","title":"Recursive proofs for inductive tree data-structures","display_name":"Recursive proofs for inductive tree data-structures","publication_year":2012,"publication_date":"2012-01-24","ids":{"openalex":"https://openalex.org/W4245933182","doi":"https://doi.org/10.1145/2103656.2103673"},"language":"en","primary_location":{"id":"doi:10.1145/2103656.2103673","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2103656.2103673","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","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":"Parthasarathy Madhusudan","raw_affiliation_strings":["University of Illinois at Urbana-Champaign, Urbana, IL, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Illinois at Urbana-Champaign, Urbana, IL, USA","institution_ids":["https://openalex.org/I157725225"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5041566154","display_name":"Xiaokang Qiu","orcid":"https://orcid.org/0000-0001-9476-7349"},"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":"Xiaokang Qiu","raw_affiliation_strings":["University of Illinois at Urbana-Champaign, Urbana, IL, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Illinois at Urbana-Champaign, Urbana, IL, USA","institution_ids":["https://openalex.org/I157725225"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5006183595","display_name":"Andrei \u0218tef\u0103nescu","orcid":"https://orcid.org/0000-0002-1970-314X"},"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":"Andrei Stefanescu","raw_affiliation_strings":["University of Illinois at Urbana-Champaign, Urbana, IL, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Illinois at Urbana-Champaign, Urbana, IL, USA","institution_ids":["https://openalex.org/I157725225"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":8.4034,"has_fulltext":false,"cited_by_count":36,"citation_normalized_percentile":{"value":0.97632934,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"123","last_page":"136"},"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.9998000264167786,"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.9998000264167786,"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.9993000030517578,"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/T10260","display_name":"Software Engineering Research","score":0.9915000200271606,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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.7738921046257019},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.6926702260971069},{"id":"https://openalex.org/keywords/separation-logic","display_name":"Separation logic","score":0.6574862599372864},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.6129003763198853},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5842255353927612},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.5815345048904419},{"id":"https://openalex.org/keywords/recursion","display_name":"Recursion (computer science)","score":0.552889347076416},{"id":"https://openalex.org/keywords/heap","display_name":"Heap (data structure)","score":0.5442062616348267},{"id":"https://openalex.org/keywords/tree","display_name":"Tree (set theory)","score":0.522063672542572},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.466445654630661},{"id":"https://openalex.org/keywords/tree-structure","display_name":"Tree structure","score":0.44070619344711304},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.4307122230529785},{"id":"https://openalex.org/keywords/trie","display_name":"Trie","score":0.4154907166957855},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.213038831949234}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7738921046257019},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.6926702260971069},{"id":"https://openalex.org/C173856430","wikidata":"https://www.wikidata.org/wiki/Q3257964","display_name":"Separation logic","level":2,"score":0.6574862599372864},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.6129003763198853},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5842255353927612},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5815345048904419},{"id":"https://openalex.org/C168773036","wikidata":"https://www.wikidata.org/wiki/Q264164","display_name":"Recursion (computer science)","level":2,"score":0.552889347076416},{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.5442062616348267},{"id":"https://openalex.org/C113174947","wikidata":"https://www.wikidata.org/wiki/Q2859736","display_name":"Tree (set theory)","level":2,"score":0.522063672542572},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.466445654630661},{"id":"https://openalex.org/C163797641","wikidata":"https://www.wikidata.org/wiki/Q2067937","display_name":"Tree structure","level":3,"score":0.44070619344711304},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.4307122230529785},{"id":"https://openalex.org/C190290938","wikidata":"https://www.wikidata.org/wiki/Q387015","display_name":"Trie","level":3,"score":0.4154907166957855},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.213038831949234},{"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},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","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/2103656.2103673","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2103656.2103673","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":18,"referenced_works":["https://openalex.org/W1503421880","https://openalex.org/W1552505815","https://openalex.org/W1568427190","https://openalex.org/W1606177908","https://openalex.org/W1979619055","https://openalex.org/W2030101147","https://openalex.org/W2045388381","https://openalex.org/W2105588192","https://openalex.org/W2108611287","https://openalex.org/W2130162474","https://openalex.org/W2146079376","https://openalex.org/W2147650421","https://openalex.org/W2162315884","https://openalex.org/W2171313158","https://openalex.org/W4238367836","https://openalex.org/W4246191294","https://openalex.org/W4246219036","https://openalex.org/W7029321148"],"related_works":["https://openalex.org/W88442946","https://openalex.org/W4296607663","https://openalex.org/W4290679430","https://openalex.org/W1481101394","https://openalex.org/W2406489341","https://openalex.org/W4283582377","https://openalex.org/W2594835963","https://openalex.org/W3102946249","https://openalex.org/W4200161726","https://openalex.org/W62586952"],"abstract_inverted_index":{"We":[0,85],"develop":[1],"logical":[2],"mechanisms":[3],"and":[4,46,54,80,90,108,139],"procedures":[5],"to":[6,72,82],"facilitate":[7],"the":[8,61,64,68,113],"verification":[9],"of":[10,14,33,48,123],"full":[11,102],"functional":[12,103],"properties":[13],"inductive":[15],"tree":[16,95,127],"data-structures":[17,128],"using":[18,52,77],"recursion":[19],"that":[20,70,92],"are":[21],"sound,":[22],"incomplete,":[23],"but":[24],"terminating.":[25],"Our":[26],"contribution":[27],"rests":[28],"in":[29,112],"a":[30,41,55,120],"new":[31],"extension":[32],"first-order":[34],"logic":[35],"with":[36],"recursive":[37,49,75],"definitions":[38],"called":[39],"Dryad,":[40,53],"syntactical":[42],"restriction":[43],"on":[44,63,126],"pre-":[45,107],"post-conditions":[47],"imperative":[50],"programs":[51],"systematic":[56],"methodology":[57,88,117],"for":[58,118],"accurately":[59],"unfolding":[60],"footprint":[62],"heap":[65],"uncovered":[66],"by":[67],"program":[69],"leads":[71],"finding":[73],"simple":[74],"proofs":[76],"formula":[78],"abstraction":[79],"calls":[81],"SMT":[83],"solvers.":[84],"evaluate":[86],"our":[87],"empirically":[89],"show":[91],"several":[93],"complex":[94],"data-structure":[96],"algorithms":[97,125],"can":[98],"be":[99],"checked":[100],"against":[101],"specifications":[104],"automatically,":[105],"given":[106],"post-conditions.":[109],"This":[110],"results":[111],"first":[114],"automatic":[115],"terminating":[116],"proving":[119],"wide":[121],"variety":[122],"annotated":[124],"correct,":[129],"including":[130],"max-heaps,":[131],"treaps,":[132],"red-black":[133],"trees,":[134,136],"AVL":[135],"binomial":[137],"heaps,":[138],"B-trees.":[140]},"counts_by_year":[{"year":2025,"cited_by_count":3},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":2},{"year":2017,"cited_by_count":3},{"year":2016,"cited_by_count":5},{"year":2015,"cited_by_count":6},{"year":2014,"cited_by_count":6},{"year":2013,"cited_by_count":7}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
