Results 1  10
of
20
Reasoning about Termination of Pure Prolog Programs
 Information and Computation
, 1993
"... We provide a theoretical basis for studying termination of (general) logic programs with the Prolog selection rule. To this end we study the class of left terminating programs. These are logic programs that terminate with the Prolog selection rule for all ground goals. We offer a characterization of ..."
Abstract

Cited by 124 (14 self)
 Add to MetaCart
We provide a theoretical basis for studying termination of (general) logic programs with the Prolog selection rule. To this end we study the class of left terminating programs. These are logic programs that terminate with the Prolog selection rule for all ground goals. We offer a characterization of left terminating positive programs by means of the notion of an acceptable program that provides us with a practical method of proving termination. The method is illustrated by giving a simple proof of termination of the quicksort program for the desired class of goals. Then we extend this approach to the class of general logic programs by modifying the concept of acceptability. We prove that acceptable general programs are left terminating. The converse implication does not hold but we show that under the assumption of nonfloundering from ground goals every left terminating general program is acceptable. Finally, we prove that various ways of defining semantics coincide for acceptable gen...
SSemantics Approach: Theory and Applications
, 1994
"... The paper is a general overview of an approach to the semantics of logic programs whose aim is finding notions of models which really capture the operational semantics, and are therefore useful for defining program equivalences and for semanticsbased program analysis. The approach leads to the intr ..."
Abstract

Cited by 115 (26 self)
 Add to MetaCart
The paper is a general overview of an approach to the semantics of logic programs whose aim is finding notions of models which really capture the operational semantics, and are therefore useful for defining program equivalences and for semanticsbased program analysis. The approach leads to the introduction of extended interpretations which are more expressive than Herbrand interpretations. The semantics in terms of extended interpretations can be obtained as a result of both an operational (topdown) and a fixpoint (bottomup) construction. It can also be characterized from the modeltheoretic viewpoint, by defining a set of extended models which contains standard Herbrand models. We discuss the original construction modeling computed answer substitutions, its compositional version and various semantics modeling more concrete observables. We then show how the approach can be applied to several extensions of positive logic programs. We finally consider some applications, mainly in the area of semanticsbased program transformation and analysis.
Inductive Assertion Method For Logic Programs
, 1988
"... Certain properties of logic programs are inexpressible in terms of their declarative semantics. One example of such properties would be the actual form of procedure calls and successes which occur during computations of a program. They are often used by programmers in their informal reasoning. In th ..."
Abstract

Cited by 56 (14 self)
 Add to MetaCart
Certain properties of logic programs are inexpressible in terms of their declarative semantics. One example of such properties would be the actual form of procedure calls and successes which occur during computations of a program. They are often used by programmers in their informal reasoning. In this paper, the inductive assertion method for proving partial correctness of logic programs is introduced and proved sound. The method makes it possible to formulate and prove properties which are inexpressible in terms of the declarative semantics. An execution mechanism using the Prolog computation rule and arbitrary search strategy (eg. ORparallelism or Prolog backtracking) is assumed. The method may be also used to specify the semantics of some extralogical builtin procedures for which the declarative semantics is not applicable. 1. INTRODUCTION One of the most attractive features of logic programs is their declarative semantics [Apt, van Emden][Lloyd]. It describes program meaning in ...
A framework of directionality for proving termination of logic programs
 Proc. JICSLP
, 1992
"... internet: ..."
A Transformational Methodology for Proving Termination of Logic Programs
, 1991
"... this paper, we present a transformational approach for proving termination of logic programs by reducing the termination problem of logic programs to that of term rewriting systems. The termination problem of term rewriting systems has been well studied and many useful techniques and tools have been ..."
Abstract

Cited by 34 (5 self)
 Add to MetaCart
this paper, we present a transformational approach for proving termination of logic programs by reducing the termination problem of logic programs to that of term rewriting systems. The termination problem of term rewriting systems has been well studied and many useful techniques and tools have been developed for proving termination of term rewriting systems. The prime motivation of our approach is to facilitate the use of this vast source of termination techniques and tools in proving termination of logic programs.
Modelling Prolog Control
, 1992
"... The goal of this paper is to construct a semantic basis for the abstract interpretation of Prolog programs. Prolog is a wellknown logic programming language which applies a depthfirst search strategy in order to provide a practical approximation of Horn clause logic. While pure logic programming h ..."
Abstract

Cited by 28 (13 self)
 Add to MetaCart
The goal of this paper is to construct a semantic basis for the abstract interpretation of Prolog programs. Prolog is a wellknown logic programming language which applies a depthfirst search strategy in order to provide a practical approximation of Horn clause logic. While pure logic programming has clean fixpoint, modeltheoretic and operational semantics the situation for Prolog is different. Difficulties in capturing the declarative meaning of Prolog programs have led to various semantic definitions which attempt to encode the search strategy in different mathematical frameworks. However semantic based analyses of Prolog are typically achieved by abstracting the more simple but less precise declarative semantics of pure logic Programs. We propose instead to model Prolog control in a simple constraint logic language which is presented together with its declarative and operational semantics. This enables us to maintain the usual approach to declarative semantics of logic programs wh...
A Methodology For Proving Termination Of Logic Programs
 JLP
, 1991
"... In this paper, we describe a methodology for proving termination of logic programs. First, we introduce Ugraphs as an abstraction of logic programs and establish that SLDNFderivations can be realized by instances of paths in the Ugraphs. Such a relation enables us to use Ugraphs for establishing ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
In this paper, we describe a methodology for proving termination of logic programs. First, we introduce Ugraphs as an abstraction of logic programs and establish that SLDNFderivations can be realized by instances of paths in the Ugraphs. Such a relation enables us to use Ugraphs for establishing the universal termination of logic programs. In our method, we associate pre and postassertions to the nodes of the graph and ordered assertions to selected edges of the graph. With this as the basis, we develop a simple method for establishing the termination of logic programs. The simplicity/practicality of the method is illustrated through examples. 1 Introduction One of the most important features of logic programming is its declarative semantics. That is, one can consider the programs to be selfspecifying as they are nonprocedural, and hence do not need elaborate correctness proofs. There can be a debate about whether it is meaningful to talk about verifying logic programs. It wil...
Verification of Logic Programs
 JOURNAL OF LOGIC PROGRAMMING
, 1997
"... We propose a proof method in the style of Hoare's logic, aimed at providing a unifying framework for the verification of logic and Prolog programs with respect to their specifications. The method, which relies on purely declarative reasoning, has been designed as a tradeoff between expressive power ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
We propose a proof method in the style of Hoare's logic, aimed at providing a unifying framework for the verification of logic and Prolog programs with respect to their specifications. The method, which relies on purely declarative reasoning, has been designed as a tradeoff between expressive power and ease of use. On the basis of a few simple principles, we reason uniformly on several properties of logic and Prolog programs, including partial correctness, total correctness, absence of runtime errors, safe omission of the occurcheck, computed answers, modular program development. We finally generalize the method to general programs.
Proving Termination for Logic Programs by the QueryMapping Pairs Approach
 PROGRAM DEVELOPMENT IN COMPUTATIONAL LOGIC
, 2004
"... This paper describes a method for proving termination of queries to logic programs based on abstract interpretation. The method uses querymapping pairs to abstract the relation between calls in the LDtree associated with the program and query. Any well founded partial order for terms can be used ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
This paper describes a method for proving termination of queries to logic programs based on abstract interpretation. The method uses querymapping pairs to abstract the relation between calls in the LDtree associated with the program and query. Any well founded partial order for terms can be used to prove the termination. The ideas of the querymapping pairs approach have been implemented in SICStus Prolog in a system called TermiLog, which is available on the web. Given a program and query pattern the system either answers that the query terminates or that there may be nontermination. The advantages of the method are its conceptual simplicity and the fact that it does not impose any restrictions on the programs.
Exploiting Program Schemata in a Prolog Tutoring System
, 1993
"... After their beginnings in computeraided instruction, automated tutors have reemerged as intelligent tutoring systems. These intelligent tutors have obtained considerable success by using results from cognitive psychology and artificial intelligence to permit nontraditional instruction which is ta ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
After their beginnings in computeraided instruction, automated tutors have reemerged as intelligent tutoring systems. These intelligent tutors have obtained considerable success by using results from cognitive psychology and artificial intelligence to permit nontraditional instruction which is tailored to their individual students. The success of these automated tutors is due to their precise understanding and modeling of both the student and the domain being taught. A common measure of the robustness of an automated tutor is the size of the domain that it can understand. The schemabased Prolog tutor described in this dissertation is capable of recognizing a larger class of programs than existing Prolog tutors. By using powerful generalized transformations, our Prolog tutor can generate this class of programs from a very small set of normal form programs. Thus, our Prolog tutor recognizes a larger class of programs using fewer normal form programs than existing Prolog tutors. One o...