Results 1  10
of
13
On Proving Left Termination of Constraint Logic Programs
 ACM Transaction on Computational Logic
, 2001
"... The Constraint Logic Programming (CLP) Scheme merges logic programming with constraint solving over predefined domains. In this paper, we study proof methods for universal left termination of constraint logic programs. We provide a sound and complete characterization of left termination for ideal CL ..."
Abstract

Cited by 17 (7 self)
 Add to MetaCart
The Constraint Logic Programming (CLP) Scheme merges logic programming with constraint solving over predefined domains. In this paper, we study proof methods for universal left termination of constraint logic programs. We provide a sound and complete characterization of left termination for ideal CLP languages which generalizes acceptability of logic programs. The characterization is then refined to the notion of partial acceptability, which is wellsuited for automatic modular inference. We describe a theoretical framework for automation of the approach, which is implemented. For nonideal CLP languages and without any assumption on their incomplete constraint solvers, even the most basic sound termination criterion from logic programming does not lift. We focus on a specific system, namely CLP(R), by proposing some additional conditions that make (partial) acceptability sound
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.
Properties of InputConsuming Derivations
, 1999
"... We study the properties of inputconsuming derivations of moded logic programs. Inputconsuming derivations do not employ a fixed selection rule, and can be used to model the behavior of logic programs using dynamic scheduling and employing constructs such as delay declarations. We consider the clas ..."
Abstract

Cited by 8 (4 self)
 Add to MetaCart
We study the properties of inputconsuming derivations of moded logic programs. Inputconsuming derivations do not employ a fixed selection rule, and can be used to model the behavior of logic programs using dynamic scheduling and employing constructs such as delay declarations. We consider the class of nicelymoded programs and queries. We show that for these programs one part of the wellknown Switching Lemma holds also for inputconsuming derivations. Furthermore, we provide conditions which guarantee that all inputconsuming derivations starting in a NicelyModed query are finite. The method presented here is easy to apply and generalizes other related works.
Using Modes to Ensure Subject Reduction for Typed Logic Programs with Subtyping
, 2000
"... We consider a general prescriptive type system with parametric polymorphism and subtyping for logic programs. The property of subject reduction expresses the consistency of the type system w.r.t. the execution model: if a program is welltyped, then all derivations starting in a welltyped goal are ..."
Abstract

Cited by 8 (7 self)
 Add to MetaCart
We consider a general prescriptive type system with parametric polymorphism and subtyping for logic programs. The property of subject reduction expresses the consistency of the type system w.r.t. the execution model: if a program is welltyped, then all derivations starting in a welltyped goal are again welltyped. It is wellestablished that without subtyping, this property is readily obtained for logic programs w.r.t. their standard (untyped) execution model. Here we give syntactic conditions that ensure subject reduction also in the presence of general subtyping relations between type constructors. The idea is to consider logic programs with a xed dataow, given by modes.
Characterisations of Termination in Logic Programming
 Theoretical Computer Science
, 2001
"... The procedural interpretation of logic programs and queries is parametric to the selection rule, i.e. the rule that determines which atom is selected in each resolution step. Termination of logic programs and queries depends critically on the selection rule. In this survey, we present a unified ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
The procedural interpretation of logic programs and queries is parametric to the selection rule, i.e. the rule that determines which atom is selected in each resolution step. Termination of logic programs and queries depends critically on the selection rule. In this survey, we present a unified view and comparison of seven notions of universal termination considered in the literature, and the corresponding classes of programs. For each class, we focus on a su#cient, and in most cases even necessary, declarative characterisation for determining that a program is in that class. By unifying di#erent formalisms and making appropriate assumptions, we are able to establish a formal hierarchy between the di#erent classes and their respective declarative characterisations.
Termination of SimplyModed WellTyped Logic Programs under a Tabled Execution Mechanism
, 2001
"... Tabled logic programming is receiving increasing attention in the Logic Programming community. It avoids many of the shortcomings of SLD(NF) execution and provides a more flexible and often extremely efficient execution mechanism for logic programs. In particular, tabled execution of logic programs ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Tabled logic programming is receiving increasing attention in the Logic Programming community. It avoids many of the shortcomings of SLD(NF) execution and provides a more flexible and often extremely efficient execution mechanism for logic programs. In particular, tabled execution of logic programs terminates more often than execution based on SLDresolution. So, if a program can be proven to terminate under SLDresolution, then the program will trivially also terminate under SLGresolution, the resolution principle of tabling. But, since there are SLGterminating programs which are not SLDterminating, more effective proof techniques can be found. One of the few approaches studying termination of tabled logic programs was developed by Decorte et al. They present necessary and sufficient conditions for two notions of termination under LGresolution, i.e. SLGresolution with lefttoright selection rule: quasitermination and (the stronger notion of) LGtermination. Starting from these necessary and sufficient conditions, we introduce sufficient conditions for quasitermination and LGtermination which are stated fully at the clause level and are easy to automatize. To this end, we use mode and type information: we consider simplymoded, welltyped programs and queries. We point out how our termination conditions can be automatized, by extending the recently developed, constraintbased, automatic termination analysis for SLDresolution of Decorte and De Schreye. Finally, we present a result on substitutionclosedness of quasitermination and LGtermination for the class of simplymoded, welltyped programs and queries.
Semantics and Termination of SimplyModed Logic Programs with Dynamic Scheduling
 Proceedings of the European Symposium on Programming, volume 2028 of Lecture Notes in Computer Science
, 2001
"... In logic programming, dynamic scheduling refers to a situation where the selection of the atom in each resolution (computation) step is determined at runtime, as opposed to a fixed selection rule such as the lefttoright one of Prolog. This has applications e.g. in parallel programming. A mechanism ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
In logic programming, dynamic scheduling refers to a situation where the selection of the atom in each resolution (computation) step is determined at runtime, as opposed to a fixed selection rule such as the lefttoright one of Prolog. This has applications e.g. in parallel programming. A mechanism to control dynamic scheduling is provided in existing languages in the form of delay declarations. Inputconsuming derivations were introduced to describe dynamic scheduling while abstracting from the technical details. In this paper, we first formalize the relationship between delay declarations and inputconsuming derivations, showing in many cases a onetoone correspondence. Then, we define a modeltheoretic semantics for inputconsuming derivations of simplymoded programs. Finally, for this class of programs, we provide a necessary and sucient criterion for termination.
Semantics of WellModed InputConsuming Logic Programs
, 2000
"... Recent logic programming languages employ dynamic scheduling of calls to improve efficiency of programs. Dynamic scheduling is realized by allowing some calls to be dynamically "delayed" until their arguments are sufficiently instantiated. To this end, logic languages are extended with constructs su ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
Recent logic programming languages employ dynamic scheduling of calls to improve efficiency of programs. Dynamic scheduling is realized by allowing some calls to be dynamically "delayed" until their arguments are sufficiently instantiated. To this end, logic languages are extended with constructs such as delay declarations. However, many declarative properties that hold for logic and pure Prolog programs do not apply any longer in this extended setting. In particular, the equivalence between the modeltheoretic and operational semantics does not hold. In this paper, we study the class of inputconsuming programs. Firstly, we argue that inputconsuming logic programs are suitable for modeling programs employing delay declarations. Secondly, we show that  under some syntactic restrictions  the Ssemantics of a program is correct and fully abstract also for inputconsuming programs. This allows us to conclude that for a large class of programs employing delay declarations there exists a modeltheoretic semantics which is equivalent to the operational one. Thus, inputconsuming programs are shown to be the right answer for conjugate eciency and declarativeness.
Semantics of InputConsuming Logic Programs
, 2000
"... Inputconsuming programs are logic programs with an additional restriction on the selectability (actually, on the resolvability) of atoms. This class of programs arguably allows to model logic programs employing a dynamic selection rule and constructs such as delay declarations: as shown also in [5] ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Inputconsuming programs are logic programs with an additional restriction on the selectability (actually, on the resolvability) of atoms. This class of programs arguably allows to model logic programs employing a dynamic selection rule and constructs such as delay declarations: as shown also in [5], a large number of them are actually inputconsuming. In this paper we show that  under some syntactic restrictions  the Ssemantics of a program is correct and fully abstract also for inputconsuming programs. This allows us to conclude that for a large class of programs employing delay declarations there exists a modeltheoretic semantics which is equivalent to the operational one.
Termination of Logic Programs Using Various Dynamic Selection Rules
, 2004
"... We study termination of logic programs with dynamic scheduling, as it can be realised using delay declarations. Following previous work, our minimum assumption is that derivations are inputconsuming, a notion introduced to define dynamic scheduling in an abstract way. Since this minimum assumptio ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
We study termination of logic programs with dynamic scheduling, as it can be realised using delay declarations. Following previous work, our minimum assumption is that derivations are inputconsuming, a notion introduced to define dynamic scheduling in an abstract way. Since this minimum assumption is sometimes insufficient to ensure termination, we consider here various additional assumptions on the permissible derivations. In one dimension, we consider derivations parametrised by any property that the selected atoms must have, e.g. being ground in the input positions. In another dimension, we consider both local and nonlocal derivations. In all cases, we give sufficient criteria for termination. The dimensions can be combined, yielding the most comprehensive approach so far to termination of logic programs with dynamic scheduling. For nonlocal derivations, the termination criterion is even necessary.