{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,18]],"date-time":"2026-04-18T22:55:55Z","timestamp":1776552955290,"version":"3.51.2"},"publisher-location":"Cham","reference-count":21,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783031384981","type":"print"},{"value":"9783031384998","type":"electronic"}],"license":[{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2023,9,2]],"date-time":"2023-09-02T00:00:00Z","timestamp":1693612800000},"content-version":"vor","delay-in-days":244,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2023]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>This paper describes anti-unification algorithms for computing least general generalizations of two expressions in a functional programming language with recursive let. First, by exploring a semantic approach to the problem, we argue for an improvement of the technique used in previous papers which avoids infinite chains of properly descending generalizations. Second, we present a (non-deterministic) nominal general anti-unification algorithm applicable to general expressions, which is complete, terminating and requires polynomial time. Third, we propose a specialized anti-unification algorithm applicable to two or more garbage-free ground expressions that produces a single least general generalization in polynomial time, and which can also exploit further semantically correct equivalences. Our results have potential applications in finding clones in functional programs.<\/jats:p>","DOI":"10.1007\/978-3-031-38499-8_26","type":"book-chapter","created":{"date-parts":[[2023,9,1]],"date-time":"2023-09-01T23:03:25Z","timestamp":1693609405000},"page":"456-473","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["Towards Fast Nominal Anti-unification of\u00a0Letrec-Expressions"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-1825-0097","authenticated-orcid":false,"given":"Manfred","family":"Schmidt-Schau\u00df","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1959-8730","authenticated-orcid":false,"given":"Daniele","family":"Nantes-Sobrinho","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2023,9,2]]},"reference":[{"issue":"1\u20133","key":"26_CR1","doi-asserted-by":"publisher","first-page":"95","DOI":"10.1016\/S0168-0072(01)00104-X","volume":"117","author":"ZM Ariola","year":"2002","unstructured":"Ariola, Z.M., Blom, S.: Skew confluence and the lambda calculus with letrec. Ann. Pure Appl. Log. 117(1\u20133), 95\u2013168 (2002). https:\/\/doi.org\/10.1016\/S0168-0072(01)00104-X","journal-title":"Ann. Pure Appl. Log."},{"key":"26_CR2","doi-asserted-by":"crossref","unstructured":"Babai, L.: Graph isomorphism in quasipolynomial time (2016). http:\/\/arxiv.org\/abs\/1512.03547v2","DOI":"10.1145\/2897518.2897542"},{"key":"26_CR3","doi-asserted-by":"publisher","unstructured":"Baumgartner, A., Kutsia, T., Levy, J., Villaret, M.: Nominal anti-unification. In: Fern\u00e1ndez, M. (ed.) 26th International Conference on Rewriting Techniques and Applications, RTA 2015. LIPIcs, Warsaw, Poland, 29 June\u20131 July 2015, vol. 36, pp. 57\u201373. Schloss Dagstuhl - Leibniz-Zentrum f\u00fcr Informatik (2015). https:\/\/doi.org\/10.4230\/LIPIcs.RTA.2015.57. http:\/\/www.dagstuhl.de\/dagpub\/978-3-939897-85-9","DOI":"10.4230\/LIPIcs.RTA.2015.57"},{"issue":"2","key":"26_CR4","doi-asserted-by":"publisher","first-page":"293","DOI":"10.1007\/s10817-016-9383-3","volume":"58","author":"A Baumgartner","year":"2016","unstructured":"Baumgartner, A., Kutsia, T., Levy, J., Villaret, M.: Higher-order pattern anti-unification in linear time. J. Autom. Reason. 58(2), 293\u2013310 (2016). https:\/\/doi.org\/10.1007\/s10817-016-9383-3","journal-title":"J. Autom. Reason."},{"issue":"5","key":"26_CR5","doi-asserted-by":"publisher","first-page":"283","DOI":"10.1016\/j.jcss.2009.10.003","volume":"76","author":"C Calv\u00e8s","year":"2010","unstructured":"Calv\u00e8s, C., Fern\u00e1ndez, M.: Matching and alpha-equivalence check for nominal terms. J. Comput. Syst. Sci. 76(5), 283\u2013301 (2010)","journal-title":"J. Comput. Syst. Sci."},{"key":"26_CR6","doi-asserted-by":"publisher","unstructured":"Cerna, D.M., Kutsia, T.: Anti-unification and generalization: a survey. https:\/\/doi.org\/10.48550\/arXiv.2302.00277","DOI":"10.48550\/arXiv.2302.00277"},{"key":"26_CR7","unstructured":"Haskell: Haskell, an advanced, purely functional programming language (2019). www.haskell.org"},{"key":"26_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"104","DOI":"10.1007\/978-3-642-11503-5_10","volume-title":"Practical Aspects of Declarative Languages","author":"H Li","year":"2010","unstructured":"Li, H., Thompson, S.: Similar code detection and elimination for erlang programs. In: Carro, M., Pe\u00f1a, R. (eds.) PADL 2010. LNCS, vol. 5937, pp. 104\u2013118. Springer, Heidelberg (2010). https:\/\/doi.org\/10.1007\/978-3-642-11503-5_10"},{"key":"26_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"85","DOI":"10.1007\/3-540-48919-3_8","volume-title":"Coordinatio Languages and Models","author":"A Moran","year":"1999","unstructured":"Moran, A., Sands, D., Carlsson, M.: Erratic fudgets: a semantic theory for an embedded coordination language. In: Ciancarini, P., Wolf, A.L. (eds.) COORDINATION 1999. LNCS, vol. 1594, pp. 85\u2013102. Springer, Heidelberg (1999). https:\/\/doi.org\/10.1007\/3-540-48919-3_8"},{"key":"26_CR10","doi-asserted-by":"publisher","unstructured":"Pfenning, F.: Unification and anti-unification in the calculus of constructions. In: Proceedings of the Sixth Annual Symposium on Logic in Computer Science (LICS 1991), Amsterdam, The Netherlands, 15\u201318 July 1991, pp. 74\u201385. IEEE Computer Society (1991). https:\/\/doi.org\/10.1109\/LICS.1991.151632","DOI":"10.1109\/LICS.1991.151632"},{"issue":"1","key":"26_CR11","doi-asserted-by":"publisher","first-page":"57","DOI":"10.1145\/2893582.2893594","volume":"3","author":"A Pitts","year":"2016","unstructured":"Pitts, A.: Nominal techniques. ACM SIGLOG News 3(1), 57\u201372 (2016). https:\/\/doi.org\/10.1145\/2893582.2893594","journal-title":"ACM SIGLOG News"},{"issue":"1","key":"26_CR12","first-page":"153","volume":"5","author":"GD Plotkin","year":"1970","unstructured":"Plotkin, G.D.: A note on inductive generalization. Mach. Intell. 5(1), 153\u2013163 (1970)","journal-title":"Mach. Intell."},{"key":"26_CR13","first-page":"135","volume":"5","author":"JC Reynolds","year":"1970","unstructured":"Reynolds, J.C.: Transformational systems and algebraic structure of atomic formulas. Mach. Intell. 5, 135\u2013151 (1970)","journal-title":"Mach. Intell."},{"key":"26_CR14","doi-asserted-by":"crossref","unstructured":"Sabel, D., Schmidt-Schau\u00df, M.: A contextual semantics for concurrent haskell with futures. In: Schneider-Kamp, P., Hanus, M. (eds.) Proceedings of the 13th ACM PPDP 2011, pp. 101\u2013112. ACM (2011)","DOI":"10.1145\/2003476.2003492"},{"key":"26_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"292","DOI":"10.1007\/3-540-44685-0_20","volume-title":"CONCUR 2001 \u2014 Concurrency Theory","author":"D Sangiorgi","year":"2001","unstructured":"Sangiorgi, D., Walker, D.: On barbed equivalences in $$\\pi $$-calculus. In: Larsen, K.G., Nielsen, M. (eds.) CONCUR 2001. LNCS, vol. 2154, pp. 292\u2013304. Springer, Heidelberg (2001). https:\/\/doi.org\/10.1007\/3-540-44685-0_20"},{"issue":"3","key":"26_CR16","first-page":"247","volume":"185","author":"M Schmidt-Schau\u00df","year":"2022","unstructured":"Schmidt-Schau\u00df, M., Kutsia, T., Levy, J., Villaret, M., Kutz, Y.D.K.: Nominal unification and matching of higher order expressions with recursive let. Fund. Inform. 185(3), 247\u2013283 (2022)","journal-title":"Fund. Inform."},{"key":"26_CR17","doi-asserted-by":"publisher","unstructured":"Schmidt-Schau\u00df, M., Nantes-Sobrinho, D.: Nominal anti-unification with atom-variables. In: Felty, A.P. (ed.) 7th FSCD 2022. LIPIcs, Haifa, Israel, vol. 228, pp. 7:1\u20137:22. Schloss Dagstuhl - Leibniz-Zentrum f\u00fcr Informatik (2022). https:\/\/doi.org\/10.4230\/LIPIcs.FSCD.2022.7","DOI":"10.4230\/LIPIcs.FSCD.2022.7"},{"key":"26_CR18","unstructured":"Schmidt-Schau\u00df, M., Rau, C., Sabel, D.: Algorithms for extended alpha-equivalence and complexity. In: van Raamsdonk, F. (ed.) 24th RTA 2013. LIPIcs, vol. 21, pp. 255\u2013270. Schloss Dagstuhl (2013)"},{"issue":"04","key":"26_CR19","doi-asserted-by":"publisher","first-page":"503","DOI":"10.1017\/S0956796807006624","volume":"18","author":"M Schmidt-Schau\u00df","year":"2008","unstructured":"Schmidt-Schau\u00df, M., Sch\u00fctz, M., Sabel, D.: Safety of N\u00f6cker\u2019s strictness analysis. J. Funct. Program. 18(04), 503\u2013551 (2008). https:\/\/doi.org\/10.1017\/S0956796807006624","journal-title":"J. Funct. Program."},{"issue":"3","key":"26_CR20","doi-asserted-by":"publisher","first-page":"312","DOI":"10.1016\/0022-0000(88)90010-4","volume":"37","author":"U Sch\u00f6ning","year":"1988","unstructured":"Sch\u00f6ning, U.: Graph isomorphism is in the low hierarchy. J. Comput. Syst. Sci. 37(3), 312\u2013323 (1988)","journal-title":"J. Comput. Syst. Sci."},{"issue":"3","key":"26_CR21","doi-asserted-by":"publisher","first-page":"93","DOI":"10.1145\/1113439.1113452","volume":"39","author":"SM Watt","year":"2005","unstructured":"Watt, S.M.: Algebraic generalization. SIGSAM Bull. 39(3), 93\u201394 (2005). https:\/\/doi.org\/10.1145\/1113439.1113452","journal-title":"SIGSAM Bull."}],"container-title":["Lecture Notes in Computer Science","Automated Deduction \u2013 CADE 29"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-38499-8_26","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,9,1]],"date-time":"2023-09-01T23:06:07Z","timestamp":1693609567000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-38499-8_26"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023]]},"ISBN":["9783031384981","9783031384998"],"references-count":21,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-38499-8_26","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023]]},"assertion":[{"value":"2 September 2023","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"CADE","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Automated Deduction","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Rome","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Italy","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2023","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"1 July 2023","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"4 July 2023","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"29","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"cade2023","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/easyconferences.eu\/cade2023\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"77","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"28","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"5","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"36% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"6","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}