{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2022,10,6]],"date-time":"2022-10-06T13:11:26Z","timestamp":1665061886540},"reference-count":22,"publisher":"Cambridge University Press (CUP)","issue":"3-4","license":[{"start":{"date-parts":[[2018,8,10]],"date-time":"2018-08-10T00:00:00Z","timestamp":1533859200000},"content-version":"unspecified","delay-in-days":40,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Theory and Practice of Logic Programming"],"published-print":{"date-parts":[[2018,7]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>This paper describes how the Logic Programming System XSB combines top-down and bottom-up computation through the mechanisms of variant tabling and subsumptive tabling with abstraction, respectively.<\/jats:p><jats:p>It is well known that top-down evaluation of logical rules in Prolog has a procedural interpretation as recursive procedure invocation (Kowalski 1986). Tabling adds the intuition of short-circuiting redundant computations (Warren 1992). This paper shows how to introduce into tabled logic program evaluation a bottom-up component, whose procedural intuition is the initialization of a data structure, in which a relation is initially computed and filled, on first demand, and then used throughout the remainder of a larger computation for efficient lookup. This allows many Prolog programs to be expressed fully declaratively, programs which formerly required procedural features, such as assert, to be made efficient.<\/jats:p>","DOI":"10.1017\/s1471068418000194","type":"journal-article","created":{"date-parts":[[2018,8,10]],"date-time":"2018-08-10T09:44:17Z","timestamp":1533894257000},"page":"706-721","source":"Crossref","is-referenced-by-count":1,"title":["Top-down and Bottom-up Evaluation Procedurally Integrated"],"prefix":"10.1017","volume":"18","author":[{"given":"DAVID S.","family":"WARREN","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"56","published-online":{"date-parts":[[2018,8,10]]},"reference":[{"key":"S1471068418000194_ref14","first-page":"5","article-title":"The YAP prolog system","volume":"12","author":"Santos Costa","year":"2012","journal-title":"TPLP"},{"key":"S1471068418000194_ref12","doi-asserted-by":"publisher","DOI":"10.1016\/S0743-1066(98)10013-4"},{"key":"S1471068418000194_ref2","doi-asserted-by":"publisher","DOI":"10.1017\/S1471068402001515"},{"key":"S1471068418000194_ref22","first-page":"189","article-title":"The language features and architecture of B-Prolog","volume":"12","author":"Zhou","year":"2012","journal-title":"TPLP"},{"key":"S1471068418000194_ref17","first-page":"98","volume-title":"In Proc. Intl. Logic Programming Symposium","author":"Toman","year":"1995"},{"key":"S1471068418000194_ref11","volume-title":"Foundations of Logic Programming","author":"Lloyd","year":"1993"},{"key":"S1471068418000194_ref3","doi-asserted-by":"publisher","DOI":"10.1016\/0169-023X(90)90017-8"},{"key":"S1471068418000194_ref9","doi-asserted-by":"publisher","DOI":"10.1007\/10705424_19"},{"key":"S1471068418000194_ref15","doi-asserted-by":"publisher","DOI":"10.1017\/S1471068411000500"},{"key":"S1471068418000194_ref4","unstructured":"Cruz F. and Rocha R. 2011. Efficient instance retrieval of subgoals for subsumptive tabled evaluation of logic programs. CoRR abs\/1107.5556."},{"key":"S1471068418000194_ref6","first-page":"219","article-title":"An overview of Ciao and its design philosophy","volume":"12","author":"Hermenegildo","year":"2012","journal-title":"TPLP"},{"key":"S1471068418000194_ref19","doi-asserted-by":"publisher","DOI":"10.1145\/131295.131299"},{"key":"S1471068418000194_ref16","doi-asserted-by":"publisher","DOI":"10.1145\/1989323.1989393"},{"key":"S1471068418000194_ref7","unstructured":"Johnson E. 2000. Interfacing a tabled-wam engine to a tabling subsystem supporting both variant and subsumption checks. In 2nd Workshop on Tabulation in Parsing and Deduction. Vigo, Spain."},{"key":"S1471068418000194_ref20","unstructured":"Warren D. S. , Swift T. , and Sagonas K. F. 2007. The XSB programmer's manual. Tech. rep., Department of Computer Science, State University of New York at Stony Brook, Stony Brook, New York, 11794-4400. Mar. The XSB System, current version 3.8.0, Nov 2017, is available from xsb.sourceforge.net, and the system and manual are continually updated."},{"key":"S1471068418000194_ref18","doi-asserted-by":"publisher","DOI":"10.1145\/73721.73736"},{"key":"S1471068418000194_ref5","doi-asserted-by":"publisher","DOI":"10.1016\/0743-1066(84)90014-1"},{"key":"S1471068418000194_ref13","doi-asserted-by":"publisher","DOI":"10.1007\/BF01228880"},{"key":"S1471068418000194_ref1","doi-asserted-by":"crossref","first-page":"1371","DOI":"10.1145\/2723372.2742796","volume-title":"Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data","author":"Aref","year":"2015"},{"key":"S1471068418000194_ref10","volume-title":"Logic for Problem-solving","author":"Kowalski","year":"1986"},{"key":"S1471068418000194_ref21","unstructured":"Weilemaker J. , Frehwirth T. and de Koninck L. 2017. SWI-Prolog reference manual. Tech. rep. Tabling library available at http:\/\/www.swi-prolog.org\/pldoc\/man?section=tabling."},{"key":"S1471068418000194_ref8","unstructured":"Johnson E. 2002. A system supporting both variant- and subsumption-based tabled evaluations of logic programs. Ph.D. thesis, Stony Brook University, Stony Brook, NY, 11794-4400."}],"container-title":["Theory and Practice of Logic Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S1471068418000194","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,8,29]],"date-time":"2022-08-29T00:57:08Z","timestamp":1661734628000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S1471068418000194\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,7]]},"references-count":22,"journal-issue":{"issue":"3-4","published-print":{"date-parts":[[2018,7]]}},"alternative-id":["S1471068418000194"],"URL":"https:\/\/doi.org\/10.1017\/s1471068418000194","relation":{},"ISSN":["1471-0684","1475-3081"],"issn-type":[{"value":"1471-0684","type":"print"},{"value":"1475-3081","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,7]]}}}