34 research outputs found

    Toward a declarative semantics for infinite objects in logic programming

    Get PDF
    AbstractA greatest fixed point characterization of the minimal infinite objects computed by a nonterminating logic program is presented, avoiding difficulties experienced by other attempts in the literature. A minimal infinite object is included in the denotation just when (1) it is successively finitely approximated by a fair infinite computation of the program and (2) any nonterminating computation which continually approximates this object in fact constructs it. Minimal objects are the most general constructible by nonterminating computations of the program

    Non-Termination Inference of Logic Programs

    Full text link
    We present a static analysis technique for non-termination inference of logic programs. Our framework relies on an extension of the subsumption test, where some specific argument positions can be instantiated while others are generalized. We give syntactic criteria to statically identify such argument positions from the text of a program. Atomic left looping queries are generated bottom-up from selected subsets of the binary unfoldings of the program of interest. We propose a set of correct algorithms for automating the approach. Then, non-termination inference is tailored to attempt proofs of optimality of left termination conditions computed by a termination inference tool. An experimental evaluation is reported. When termination and non-termination analysis produce complementary results for a logic procedure, then with respect to the leftmost selection rule and the language used to describe sets of atomic queries, each analysis is optimal and together, they induce a characterization of the operational behavior of the logic procedure.Comment: Long version (algorithms and proofs included) of a paper submitted to TOPLA

    Towards a unified theory of intensional logic programming

    Get PDF
    AbstractIntensional Logic Programming is a new form of logic programming based on intensional logic and possible worlds semantics. Intensional logic allows us to use logic programming to specify nonterminating computations and to capture the dynamic aspects of certain problems in a natural and problem-oriented style. The meanings of formulas of an intensional first-order language are given according to intensional interpretations and to elements of a set of possible worlds. Neighborhood semantics is employed as an abstract formulation of the denotations of intensional operators. Then we investigate general properties of intensional operators such as universality, monotonicity, finitariness and conjunctivity. These properties are used as constraints on intensional logic programming systems. The model-theoretic and fixpoint semantics of intensional logic programs are developed in terms of least (minimum) intensional Herbrand models. We show in particular that our results apply to a number of intensional logic programming languages such as Chronolog proposed by Wadge and Templog by Abadi and Manna. We consider some elementary extensions to the theory and show that intensional logic program clauses can be used to define new intensional operators. Intensional logic programs with intensional operator definitions are regarded as metatheories

    A Survey of Languages for Specifying Dynamics: A Knowledge Engineering Perspective

    Get PDF
    A number of formal specification languages for knowledge-based systems has been developed. Characteristics for knowledge-based systems are a complex knowledge base and an inference engine which uses this knowledge to solve a given problem. Specification languages for knowledge-based systems have to cover both aspects. They have to provide the means to specify a complex and large amount of knowledge and they have to provide the means to specify the dynamic reasoning behavior of a knowledge-based system. We focus on the second aspect. For this purpose, we survey existing approaches for specifying dynamic behavior in related areas of research. In fact, we have taken approaches for the specification of information systems (Language for Conceptual Modeling and TROLL), approaches for the specification of database updates and logic programming (Transaction Logic and Dynamic Database Logic) and the generic specification framework of abstract state machine

    Nontermination debugging of Prolog programs.

    Get PDF
    by Lam, Hin-ki Isaac.Thesis (M.Phil.)--Chinese University of Hong Kong, 1992.Includes bibliographical references (leaves 219-220).Chapter Chapter 1 --- Introduction --- p.1Chapter 1.1 --- The Problem --- p.1Chapter 1.2 --- Related Works --- p.3Chapter 1.3 --- Contribution of the Present Study --- p.8Chapter 1.4 --- Outline of the Thesis --- p.8Chapter Chapter 2 --- Nontermination and Recursive Definition --- p.11Chapter 2.1 --- Prolog Execution Model --- p.11Chapter 2.2 --- Nontermination --- p.15Chapter 2.3 --- Exit Condition --- p.21Chapter 2.4 --- Exit-Reaching Process --- p.29Chapter 2.5 --- Parameter Based Detection --- p.35Chapter Chapter 3 --- Parameter Analysis --- p.38Chapter 3.1 --- Parameter Links --- p.39Chapter 3.1.1 --- Parameter Links and Parameter Modifying Process --- p.39Chapter 3.1.2 --- Parameter Links of Multi-Parameters --- p.43Chapter 3.1.3 --- Parameter Links in Indirect Recursive Definition --- p.44Chapter 3.1.4 --- Parameter Links with Special Parameters --- p.46Chapter 3.1.5 --- Parameter Links of the Same Name Parameters --- p.47Chapter 3.1.6 --- The Significance of Parameter Links --- p.49Chapter 3.2 --- Cyclic Parameter Links --- p.51Chapter 3.3 --- Parameter Link Detection --- p.58Chapter 3.3.1 --- Graph Technique --- p.58Chapter 3.3.1.1 --- Preliminaries --- p.58Chapter 3.3.1.2 --- on Parameter Links --- p.59Chapter 3.3.2 --- Algorithms --- p.62Chapter Chapter 4 --- Data Analysis --- p.70Chapter 4.1 --- Data Links --- p.72Chapter 4.1.1 --- The Direct Recursive Definition Case --- p.76Chapter 4.1.1.1 --- Subgoal Procedures with Facts Alone --- p.76Chapter 4.1.1.2 --- Procedures with Rules --- p.79Chapter 4.1.2 --- The Indirect Recursive Definition Case --- p.84Chapter 4.2 --- on the Difference between Pure and General Prolog --- p.86Chapter 4.3 --- Data Link Significance --- p.89Chapter 4.4 --- Connected Data-link Lists --- p.92Chapter 4.4.1 --- Data Links and Connected Data-link Lists --- p.92Chapter 4.4.1.1 --- Connected Data-link Lists and Data Transfer Sequence --- p.95Chapter 4.4.1.2 --- Connected Data-link Lists and Backtracking --- p.97Chapter 4.4.1.3 --- Connected Data-link Lists and the Recursion Result --- p.99Chapter 4.4.2 --- Cyclic and Non-Cyclic Connected Data-link Lists --- p.100Chapter 4.4.2.1 --- Non-Cyclic Connected Data-link Lists and Exit Conditions --- p.102Chapter 4.4.2.2 --- Cyclic Connected Data-link Lists and Nontermination --- p.104Chapter 4.4.3 --- Multi-Connected Data-link Lists --- p.107Chapter 4.4.3.1 --- in One Cyclic Parameter Link --- p.107Chapter 4.4.3.2 --- in Multi-Cyclic Parameter Links --- p.115Chapter 4.4.3.3 --- The Case of Multiple Recursive Subgoals in the Same Rule --- p.120Chapter 4.5. --- Special Parameters and Data Links --- p.125Chapter 4.5.1. --- Data Links with Special Parameters Only --- p.126Chapter 4.5.2 --- Data Links with Both Special Parameters and Subgoals --- p.136Chapter 4.6 --- Data Links and Infinite Data Transfer Sequence Detection --- p.142Chapter CHAPTER 5 --- Special Cases --- p.150Chapter 5.1 --- Interdependent Cyclic Parameter Links --- p.150Chapter 5.1.1 --- Interdependent Cyclic Parameter Links through Common Parameters --- p.151Chapter 5.1.1.1 --- Interdependency between Cyclic and Non-cyclic Parameter Links and Interdependency between Cyclic Parameter Link and Subgoals --- p.158Chapter 5.1.1.2 --- Interdependency between Cyclic Parameter Links --- p.165Chapter 5.1.1.2.1 --- Lengths of Cyclic Connected- data Links in Different Ratios --- p.171Chapter 5.1.1.2.2 --- Cyclic Parameter Links with Lengths in Different Ratios --- p.182Chapter 5.1.2 --- Interdependent Cyclic Parameter Links through Common Subgoals --- p.196Chapter 5.1.3 --- Interdependent Cyclic Parameter Links with Special Parameters --- p.202Chapter 5.2 --- A Special Case of Cyclic Parameter Links established through Special Parameters --- p.208Chapter CHAPTER 6 --- Discussion and Conclusion --- p.213Chapter 6.1 --- The Results and Implications --- p.213Chapter 6.2 --- Limitations and Future Research --- p.215Chapter 6.3 --- Conclusion --- p.217Reference --- p.21

    A Second-Order Formulation of Non-Termination

    Full text link
    We consider the termination/non-termination property of a class of loops. Such loops are commonly used abstractions of real program pieces. Second-order logic is a convenient language to express non-termination. Of course, such property is generally undecidable. However, by restricting the language to known decidable cases, we exhibit new classes of loops, the non-termination of which is decidable. We present a bunch of examples.Comment: 8 page

    Automatic program analysis in a Prolog Intelligent Teaching System

    Get PDF

    Towards a theory of declarative knowledge

    Get PDF
    corecore