Functional logic languages have a rich literature, but it is tricky to give them a satisfying semantics. In this paper we describe the Verse calculus, VC, a new core calculus for deterministic functional logic program...
详细信息
Functional logic languages have a rich literature, but it is tricky to give them a satisfying semantics. In this paper we describe the Verse calculus, VC, a new core calculus for deterministic functional logic programming. Our main contribution is to equip VC with a small-step rewrite semantics, so that we can reason about a VC program in the same way as one does with lambda calculus;that is, by applying successive rewrites to it. We also show that the rewrite system is confluent for well-behaved terms.
Time and the handling of time constitute a significant factor in both artificial intelligence and classical computer science applications. In this work we sketch our work on logic programming based on metric temporal ...
详细信息
Time and the handling of time constitute a significant factor in both artificial intelligence and classical computer science applications. In this work we sketch our work on logic programming based on metric temporal logic within the Sonderforschungsbereich 314, project S 2. The project itself is aimed towards the research and development of extensions and new approaches to logic programming languages, and tools and methods for their efficient implementation.
We propose a new declarative planning language, called K, which is based on principles and methods of logic programming. In this language, transitions between states of knowledge can be described, rather than transiti...
详细信息
We propose a new declarative planning language, called K, which is based on principles and methods of logic programming. In this language, transitions between states of knowledge can be described, rather than transitions between completely described states of the world, which makes the language well suited for planning under incomplete knowledge. Furthermore, our formalism enables the use of default principles in the planning process by supporting negation as failure. Nonetheless, K also supports the representation of transitions between states of the world (i.e., states of complete knowledge) as a special case, which shows that the language is very flexible. As we demonstrate on particular examples, the use of knowledge states may allow for a natural and compact problem representation. We then provide a thorough analysis of the computational complexity of K, and consider different planning problems, including standard planning and secure planning (also known as conformant planning) problems. We show that these problems have different complexities under various restrictions, ranging from NP to NEXPTIME in the propositional case. Our results form the theoretical basis for the DLVK system, which implements the language K on top of the DLV logic programming system.
Ordered logic programming (OLP) is an elegant, yet powerful extension of logic programming with the object-oriented notions of inheritance and exceptions. The latter are expressed by allowing rules with negated heads....
详细信息
Ordered logic programming (OLP) is an elegant, yet powerful extension of logic programming with the object-oriented notions of inheritance and exceptions. The latter are expressed by allowing rules with negated heads. The capability of expressing nonmonotonic reasoning is one of the major features of OLP. In this paper we extend OLP to include sets. The new language is calledOLPS(ordered logic programming with sets). An interesting aspect ofOLPSis the way sets are integrated in the framework of a non-monotonic logic, resulting in a declarative language able to model complex knowledge domains. We show that anyOLPSprogram has a least model and that this model can be computed in a bottom-up fashion by iteratively applying a suitable operator. We compareOLPSwith other logic languages with sets and show that the semantics ofOLPSprograms is a declarative generalization of the well-founded semantics of classical logic programs.
In a previous paper (Blair et al. 2001), the authors showed that the mechanism underlying logic programming can be extended to handle the situation where the atoms are interpreted as subsets of a given space X. The vi...
详细信息
In a previous paper (Blair et al. 2001), the authors showed that the mechanism underlying logic programming can be extended to handle the situation where the atoms are interpreted as subsets of a given space X. The view of a logic program as a one-step consequence operator along with the concepts of supported and stable model can be transferred to such situations. In this paper, we show that we can further extend this paradigm by creating a new one-step consequence operator by composing the old one-step consequence operator with a monotonic idempotent operator (miop) in the space of all subsets of X, 2(X). We call this extension set based logic programming. We show that such a set based formalism for logic programming naturally supports a variety of options. For example, if the underlying space has a topology, one can insist that the new one-step consequence operator always produces a closed set or always produces an open set. The flexibility inherent in the semantics of set based logic programs is due to both the range of natural choices available for specifying the semantics of negation, as well as the role of monotonic idempotent operators (miops) as parameters in the semantics. This leads to a natural type of polymorphism for logic programming, i.e. the same logic program can produce a variety of outcomes depending on the miop associated with the semantics. We develop a general framework for set based programming involving miops. Among the applications, we obtain integer-based representations of real continuous functions as stable models of a set based logic program.
Answering queries in disjunctive logic programming requires the use of ancestry-resolution. The resulting complication makes it difficult to implement a Prolog-type query answering procedure for disjunctive logic prog...
详细信息
Answering queries in disjunctive logic programming requires the use of ancestry-resolution. The resulting complication makes it difficult to implement a Prolog-type query answering procedure for disjunctive logic programs. However, SLO-resolution provides a mechanism which is similar to SLD-resolution and hence offers a solution to this problem. The Warren Abstract Machine has been a very effective model for implementing Prolog. In this paper, we extend the WAM model of Prolog and adapt it for DISLOG - a language for disjunctive logic programming. We describe the extensions and additional instructions needed to make WAM viable for modeling and executing DISLOG. The extension is made in such a way that the original architecture is not disturbed and a Prolog program will execute as efficiently as it does in the original WAM.
The proceedings contain 38 papers. The topics discussed include: declarative semantics of production rules for integrity maintenance;a local algorithm for incremental evaluation of tabled logic programs;overlapping ru...
详细信息
ISBN:
(纸本)9783540366355
The proceedings contain 38 papers. The topics discussed include: declarative semantics of production rules for integrity maintenance;a local algorithm for incremental evaluation of tabled logic programs;overlapping rules and logic variables in functional logic programs;reduced certificates for abstraction-carrying code;proving properties of constraint logic programming by eliminating existential variables;cooperating answer set programming;improving the ISO prolog standard by analyzing test results;modeling biological networks by action languages via answer set programming;using answer set programming for the automatic compilation of assessment tests;compositional semantics for the procedural interpretation of logic;conductive logic programming;deductive spreadsheets using tabled logic programming;relaxation of optimized predicates;and semantic property grammars for knowledge extraction from biomedical text.
This paper formally develops a type of propositional fuzzy logic which is analogous to traditional two-valued logic. A complete set of fuzzy qualifiers are defined for the first time, and as a consequence a correspond...
详细信息
This paper formally develops a type of propositional fuzzy logic which is analogous to traditional two-valued logic. A complete set of fuzzy qualifiers are defined for the first time, and as a consequence a corresponding set of modifiers. In addition, a set of rules for combining those qualifiers in a proposition have been developed. Once these rules have been established, a definition of formulae in the context of propositional fuzzy logic is proposed and a theory of inference is deduced.
The connection between logic programming and formal argumentation has been studied starting from the landmark 1995 paper of Dung. Subsequent work has identified a standard translation from logic programs to (instantia...
详细信息
The connection between logic programming and formal argumentation has been studied starting from the landmark 1995 paper of Dung. Subsequent work has identified a standard translation from logic programs to (instantiated) argumentation frameworks, under which pairwise correspondences hold between various logic programming semantics and various formal argumentation semantics. This includes the correspondence between 3-valued stable and complete semantics, between well-founded and grounded semantics and between 2-valued stable (LP) and stable (argumentation) semantics. In the current paper, we show that the existing translation is able to yield the additional correspondence between ideal semantics for logic programming and ideal semantics for formal argumentation. We also show that correspondence does not hold between eager semantics for logic programming and eager semantics for formal argumentation, at least when translating from logic programming to formal argumentation. Overall, the current work should be seen as completing the analysis of correspondences between mainstream admissibility-based argumentation semantics and their logic programming counterparts.
We present a method for preprocessing Prolog programs so that their operational semantics will be given by the first-order predicate calculus. Most Prolog implementations do not use a full unification algorithm, for e...
详细信息
We present a method for preprocessing Prolog programs so that their operational semantics will be given by the first-order predicate calculus. Most Prolog implementations do not use a full unification algorithm, for efficiency reasons. The result is that it is possible to create terms having loops in them, whose semantics is not adequately described by first-order logic. Our method finds places where such loops may be created, and adds tests to detect them. This should not appreciably slow down the execution of most Prolog programs.
暂无评论