{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,16]],"date-time":"2026-07-16T12:47:39Z","timestamp":1784206059009,"version":"3.55.0"},"reference-count":22,"publisher":"Association for Computing Machinery (ACM)","issue":"5","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGPLAN Not."],"published-print":{"date-parts":[[2005,5]]},"abstract":"<jats:p>We reformulate the Korf-Eppstein method for automatic inversion of\nfirst-order functional programs using a structural operational\nsemantics and compare it with the program inversion method\ndescribed by Gries. We analyze the method and suggest possible\nextensions. The method is noteworthy in that it was used to\nconstruct the first automatic program inverter described in the\nliterature. The key features of the Korf-Eppstein method are the\nsimultaneous inversion of an injective system of functions, an\nequation-oriented transformation, and the use of postcondition\ninference heuristics.<\/jats:p>","DOI":"10.1145\/1071221.1071222","type":"journal-article","created":{"date-parts":[[2005,11,14]],"date-time":"2005-11-14T18:08:27Z","timestamp":1131991707000},"page":"8-17","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":31,"title":["Revisiting an automatic program inverter for Lisp"],"prefix":"10.1145","volume":"40","author":[{"given":"Robert","family":"Gl\u00fcck","sequence":"first","affiliation":[{"name":"University of Copenhagen, Copenhagen, Denmark"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Masahiko","family":"Kawabe","sequence":"additional","affiliation":[{"name":"Waseda University, Tokyo, Japan"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2005,5]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"T. \u00c6","author":"Abramov S. M.","year":"2002"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1147\/rd.176.0525"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/312009.312079"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380170703"},{"key":"e_1_2_1_5_1","volume-title":"Proceedings, LNCS 2076","author":"Buhrman H.","year":"2001"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1016\/0167-6423(90)90042-C"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1016\/0004-3702(81)90014-X"},{"key":"e_1_2_1_8_1","first-page":"54","article-title":"Program inversion. In F. L. Bauer, M. Broy (eds.), Program Construction: International Summer School","volume":"69","author":"Dijkstra E. W.","year":"1978","journal-title":"LNCS"},{"key":"e_1_2_1_9_1","volume-title":"International Joint Conference on Artificial Intelligence (IJCAI-85)","author":"Eppstein D.","year":"1985"},{"key":"e_1_2_1_10_1","volume-title":"Addison-Wesley","author":"Feynman R. P.","year":"1996"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/321420.321422"},{"key":"e_1_2_1_12_1","first-page":"246","article-title":"A program inverter for a functional language with equality and constructors. In A. Ohori (ed.), Programming Languages and Systems. Proceedings","volume":"2895","author":"Gl\u00fcck R.","year":"2003","journal-title":"LNCS"},{"key":"e_1_2_1_13_1","first-page":"291","article-title":"Derivation of deterministic inverse programs based on LR parsing. In Y. Kameyama, P. J. Stuckey (eds.), Functional and Logic Programming. Proceedings","volume":"2998","author":"Gl\u00fcck R.","year":"2004","journal-title":"LNCS"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/777388.777391"},{"key":"e_1_2_1_15_1","volume-title":"Texts and Monographs in Computer Science. Springer-Verlag","author":"Gries D.","year":"1981"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1014007.1014025"},{"key":"e_1_2_1_17_1","volume-title":"International Joint Conference on Artificial Intelligence (IJCAI-81)","author":"Korf R. E.","year":"1981"},{"key":"e_1_2_1_18_1","first-page":"209","article-title":"Inverting functions as folds. In E. A. Boiten, B. M\u00f6ller (eds.), Mathematics of Program Construction. Proceedings","volume":"2386","author":"Mu S.-C.","year":"2002","journal-title":"LNCS"},{"key":"e_1_2_1_19_1","first-page":"289","article-title":"An injective language for reversible computation. In D. Kozen (ed.), Mathematics of Program Construction. Proceedings","volume":"3125","author":"Mu S.-C.","year":"2004","journal-title":"LNCS"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.5555\/1030818.1030932"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.5555\/646234.682540"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(91)90026-E"}],"container-title":["ACM SIGPLAN Notices"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1071221.1071222","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T16:11:37Z","timestamp":1672243897000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1071221.1071222"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2005,5]]},"references-count":22,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2005,5]]}},"alternative-id":["10.1145\/1071221.1071222"],"URL":"https:\/\/doi.org\/10.1145\/1071221.1071222","relation":{},"ISSN":["0362-1340","1558-1160"],"issn-type":[{"value":"0362-1340","type":"print"},{"value":"1558-1160","type":"electronic"}],"subject":[],"published":{"date-parts":[[2005,5]]},"assertion":[{"value":"2005-05-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}