{"title":"Termination of logic programs with delay declarations","authors":"Elena Marchiori, Frank Teusink","doi":"10.1016/S0743-1066(98)10034-1","DOIUrl":"10.1016/S0743-1066(98)10034-1","url":null,"abstract":"<div><p>This paper proposes a method for proving termination of logic programs with delay declarations. The method is based on the notion of <em>recurrent</em> logic program, which is used to prove programs terminating with respect to an arbitrary selection rule. Most importantly, we use the notion of bounded query (as proposed by M. Bozem) in the definition of <em>cover</em>, a new notion which forms the kernel of our approach. We introduce the class of <em>delay recurrent</em> programs and prove that programs in this class terminate for all <em>local delay</em> selection rules, provided that the delay conditions imply boundedness. The corresponding method can be also used to transform a logic program into a terminating logic program with delay declarations.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"39 1","pages":"Pages 95-124"},"PeriodicalIF":0.0,"publicationDate":"1999-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(98)10034-1","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121673898","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Constructive negation under the well-founded semantics","authors":"Julie Yuchih Liu , Leroy Adams , Weidong Chen","doi":"10.1016/S0743-1066(98)10027-4","DOIUrl":"10.1016/S0743-1066(98)10027-4","url":null,"abstract":"<div><p>Constructive negation derives constraint answers for non-ground negative literals. Its incorporation into query evaluation under the well-founded semantics introduces two problems. One is the detection of repeated subgoals and the elimination of redundant answers, which is required in order to guarantee termination. The other is the interaction between constraint answers of non-ground negative literals and recursion through negation. This paper presents SLG<sub>CN</sub> for effective query evaluation with constructive negation under the well-founded semantics. It has two unique features. First, it supports reduction of constraint answers and redundant answer elimination and provides the first termination result for goal-oriented query evaluation with constructive negation for function-free programs. Second, it avoids repeated computation in a subgoal. Even if a non-ground negative literal depends upon some ground negative literals whose truth values are not completely determined when they are selected, the constraints and bindings for variables in the non-ground negative literal can still be propagated once and for all.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"38 3","pages":"Pages 295-330"},"PeriodicalIF":0.0,"publicationDate":"1999-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(98)10027-4","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124493396","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Paul Tarau , Koen De Bosschere , Veronica Dahl , Stephen Rochefort
{"title":"LogiMOO: An extensible multi-user virtual world with natural language control","authors":"Paul Tarau , Koen De Bosschere , Veronica Dahl , Stephen Rochefort","doi":"10.1016/S0743-1066(98)10028-6","DOIUrl":"10.1016/S0743-1066(98)10028-6","url":null,"abstract":"<div><p>LogiMOO is a BinProlog-based Virtual World running under Netscape and Internet Explorer for distributed group-work over the INTERNET and user-crafted virtual places, virtual objects and agents. LogiMOO is implemented on top of a multi-threaded blackboard-based logic programming system (BinProlog) featuring Linda-style coordination. Remote and local blackboards support transparent distribution of data and processing over TCP/IP links, while threads ensure high-performance local client-server dynamics. Embedding in Netscape provides advanced VRML and HTML frame-based navigation and multi-media support, while LogiMOO handles virtual presence and acts as a very high-level multi-media object broker. User-friendliness is achieved through a controlled English interface written in terms of Assumption Grammars. Its language coverage is extensible in that the user can incorporate new nouns, verbs and adjectives as needed by changes in the world. Immediate evaluation of world knowledge by the parser yields representations which minimize the unknowns allowing us to deal with advanced Natural Language constructs like anaphora and relativization efficiently. We take advantage of the simplicity of our controlled language to provide as well an easy adaptation to other natural languages than English, with English-like representations as a universal interlingua.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"38 3","pages":"Pages 331-353"},"PeriodicalIF":0.0,"publicationDate":"1999-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(98)10028-6","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126950382","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Efficient goal directed bottom-up evaluation of logic programs","authors":"Michael Codish","doi":"10.1016/S0743-1066(98)10024-9","DOIUrl":"10.1016/S0743-1066(98)10024-9","url":null,"abstract":"<div><p>This paper introduces a new strategy for the efficient goal directed bottom-up evaluation of logic programs. Instead of combining a standard bottom-up evaluation strategy with a Magicset transformation, the evaluation strategy is specialized for the application to Magic-set programs which are characterized by clause bodies with a high degree of overlapping. The approach is similar to other techniques which avoid re-computation by maintaining and reusing partial solutions to clause bodies. However, the overhead is considerably reduced as these are maintained implicitly by the underlying Prolog implementation. The technique is presented as a simple meta-interpreter for goal directed bottom-up evaluation. No Magic-set transformation is involved as the dependencies between calls and answers are expressed directly within the interpreter. The proposed technique has been implemented and shown to provide substantial speed-ups in applications of semantic based program analysis based on bottom-up evaluation.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"38 3","pages":"Pages 355-370"},"PeriodicalIF":0.0,"publicationDate":"1999-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(98)10024-9","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125871395","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Steadfast logic programs","authors":"Kung-Kiu Lau , Mario Ornaghi , Sten-Åke Tärnlund","doi":"10.1016/S0743-1066(98)10023-7","DOIUrl":"10.1016/S0743-1066(98)10023-7","url":null,"abstract":"<div><p>We present the notion of steadfastness that at once embodies modularity, reusability, and formal correctness. A steadfast program is an open program with parameters, which is parametrically correct in the sense that it will always be correct with respect to its (open) specification whenever its parameters are computed correctly. Thus, a steadfast program is <em>correct, modular</em> and <em>reusable</em>. Therefore, steadfastness provides a basis for hierarchical construction of correct reusable modules. We first introduce the idea of steadfastness in an informal manner. Then we give a model-theoretic characterisation of steadfastness, followed by an operational semantics based on the (open) completion of an open program. Finally, we apply our general results to program correctness with respect to parametric specifications.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"38 3","pages":"Pages 259-294"},"PeriodicalIF":0.0,"publicationDate":"1999-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(98)10023-7","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128665208","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Sharing is optimal","authors":"Agostino Cortesi, Gilberto Filé","doi":"10.1016/S0743-1066(98)10026-2","DOIUrl":"10.1016/S0743-1066(98)10026-2","url":null,"abstract":"<div><p>One of the most popular abstract domains used for the analysis of logic programs is the domain Sharing which expresses the fact that computed substitutions bind variables to terms containing common variables. Despite the fact that this domain is widely used and studied, it is not yet known whether its abstract operations are complete or at least optimal. We solve this open question showing that the operations of <em>lub</em> and <em>projection</em> of Sharing are complete (and thus optimal), whereas that of <em>unification</em> is optimal, but not complete.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"38 3","pages":"Pages 371-386"},"PeriodicalIF":0.0,"publicationDate":"1999-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(98)10026-2","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116997862","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
K. Muthukumar , F. Bueno , M. García de la Banda , M. Hermenegildo
{"title":"Automatic compile-time parallelization of logic programs for restricted, goal level, independent and parallelism","authors":"K. Muthukumar , F. Bueno , M. García de la Banda , M. Hermenegildo","doi":"10.1016/S0743-1066(98)10022-5","DOIUrl":"10.1016/S0743-1066(98)10022-5","url":null,"abstract":"<div><p>A framework for the automatic parallelization of (constraint) logic programs is proposed and proved correct. Intuitively, the parallelization process replaces conjunctions of literals with parallel expressions. Such expressions trigger at run-time the exploitation of restricted, goal-level, independent and parallelism. The parallelization process performs two steps. The first one builds a conditional dependency graph (which can be simplified using compile-time analysis information), while the second transforms the resulting graph into linear conditional expressions, the parallel expressions of the &-Prolog language. Several heuristic algorithms for the latter (“annotation”) process are proposed and proved correct. Algorithms are also given which determine if there is any loss of parallelism in the linearization process with respect to a proposed notion of maximal parallelism. Finally, a system is presented which implements the proposed approach. The performance of the different annotation algorithms is compared experimentally in this system by studying the time spent in parallelization and the effectiveness of the results in terms of speedups.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"38 2","pages":"Pages 165-218"},"PeriodicalIF":0.0,"publicationDate":"1999-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(98)10022-5","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116455352","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}