{"title":"A general modal framework for the event calculus and its skeptical and credulous variants","authors":"Iliano Cervesato , Angelo Montanari","doi":"10.1016/S0743-1066(98)10021-3","DOIUrl":"10.1016/S0743-1066(98)10021-3","url":null,"abstract":"<div><p>We propose a general and uniform modal framework for the Event Calculus (EC) and its skeptical and credulous variants. The resulting temporal formalism, called the Generalized Modal Event Calculus (GMEC), extends considerably the expressive power of EC when information about the ordering of events is incomplete. It provides means of inquiring about the evolution of the maximal validity intervals of properties relative to all possible refinements of the ordering data by allowing a free mix of propositional connectives and modal operators. We first give a semantic definition of GMEC and relate it to known systems of modal logic; then, we propose a declarative encoding of GMEC in the language of hereditary Harrop formulas and prove the soundness and completeness of the resulting logic programs.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"38 2","pages":"Pages 111-164"},"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)10021-3","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80337022","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":"Termination of well-moded programs","authors":"S. Etalle , A. Bossi , N. Cocco","doi":"10.1016/S0743-1066(98)10025-0","DOIUrl":"10.1016/S0743-1066(98)10025-0","url":null,"abstract":"<div><p>We study the termination properties of <em>well-moded</em> programs, and we show that, under suitable conditions, for these programs there exists an algebraic characterization-in the style of Apt and Pedreschi, Studies in pure prolog: termination, in: J.W. Lloyd (Ed.), Proceedings of the Simposium in Computational Logic, Springer, Berlin, 1990, pp. 150–176-of the property of being terminating. This characterization enjoys the properties of being compositional and, to some extent, of being easy to check.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"38 2","pages":"Pages 243-257"},"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)10025-0","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130398016","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":"Reasoning on constraints in CLP(FD)","authors":"Evelina Lamma , Michela Milano , Paola Mello","doi":"10.1016/S0743-1066(98)10016-X","DOIUrl":"10.1016/S0743-1066(98)10016-X","url":null,"abstract":"<div><p>Constraint Logic Programming solvers on finite domains (CLP(FD) solvers) use constraints to prune those combinations of assignments which cannot appear in any consistent solution. There are applications, such as temporal reasoning or scheduling, requiring some form of qualitative reasoning where constraints can be changed (restricted) during the computation or even chosen when disjunction occurs. We embed in a (CLP(FD) solver the concept of constraints as first class objects. In the extended language, variables range over finite domains of objects (e.g., integers) and <em>relation variables</em> range over finite domains of relation symbols. We define operations and constraints on the two sorts of variables and one constraint linking the two. We first present the extension as a general framework, then we propose two specializations on finite domains of integers and of sets. Programming examples are given, showing the advantages of the extension proposed from both a knowledge representation and an operational viewpoint.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"38 1","pages":"Pages 93-110"},"PeriodicalIF":0.0,"publicationDate":"1999-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(98)10016-X","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125977456","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":"Return value placement and tail call optimization in high level languages","authors":"Peter A Bigot, Saumya Debray","doi":"10.1016/S0743-1066(98)80001-0","DOIUrl":"10.1016/S0743-1066(98)80001-0","url":null,"abstract":"<div><p>This paper discusses the interaction between tail call optimization and the placement of output values in functional and logic programming languages. Implementations of such languages typically rely on fixed placement policies: most functional language implementations return output values in registers, while most logic programming systems return outputs via memory. Such fixed placement policies incur unnecessary overheads in many commonly encountered situations: the former are unable to implement many intuitively iterative computations in a truly iterative manner, while the latter incur a performance penalty due to additional memory references. We describe an approach that determines, based on a low-level cost model for an implementation together with an estimated execution profile for a program, whether or not the output of a procedure should be returned in regsters or in memory. This can be seen as realizing in a restricted from of inter-procedural register allocation, and avoids the disadvantages associated with the fixed register and fixed memory output placement policies. Experimental results indicate that it provides good performance improvements compared to existing approaches.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"38 1","pages":"Pages 1-29"},"PeriodicalIF":0.0,"publicationDate":"1999-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(98)80001-0","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126279954","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":"Set constructors, finite sets, and logical semantics","authors":"Bharat Jayaraman, Devashis Jana","doi":"10.1016/S0743-1066(98)10012-2","DOIUrl":"10.1016/S0743-1066(98)10012-2","url":null,"abstract":"<div><p>The use of sets in declarative programming has been advocated by several authors in the literature. A representation often chosen for finite sets is that of <em>scons</em>, parallel to the list constructor <em>cons</em>. The logical theory for such constructors is usually tacitly assumed to be some formal system of classical set theory. However, classical set theory is formulated for a general setting, dealing with both finite and infinite sets, and not making any assumptions about particular set constructors. In giving logical-consequence semantics for programs with finite sets, it is important to know exactly what connection exists between sets and set constructors. The main contribution of this paper lies in establishing these connections rigorously. We give a formal system, called <em>SetAx</em>, designed around the <em>scons</em> constructor. We distinguish between two kinds of set constructors, <em>scons(x, y)</em> and <em>dscons(x, y)</em>, where both represent {<em>x</em>} ∪ <em>y</em>, but <em>x</em> <em>ϵ</em> <em>y</em> is possible in the former, while <em>x</em> ∉ <em>y</em> holds in the latter. Both constructors find natural uses in specifying sets in logic programs. The design of <em>SetAx</em> is guided by our choice of <em>scons</em> as a primitive symbol of our theory rather than as a defined one, and by the need to deduce non-membership relations between terms, to enable the use of <em>dscons</em>. After giving the axioms <em>SetAx</em>, we justify it as a suitable theory for finite sets in logic programming by (i) showing that the set constructors indeed behave like finite sets; (ii) providing a framework for establishing the correctness of set unification; and (iii) defining a Herbrand structure and providing a basis for discussing logical consequence semantics for logic programs with finite sets. Together, these results provide a rigorous foundation for the set constructors in the context of logical semantics.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"38 1","pages":"Pages 55-77"},"PeriodicalIF":0.0,"publicationDate":"1999-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(98)10012-2","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121253368","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}