Results 1  10
of
14
Inferring Leftterminating Classes of Queries for Constraint Logic Programs
 Proc. JICSLP'96
, 1996
"... This paper presents an approach for universal lefttermination of constraint logic programs, based on approximations. An approximation is basically an algebraic morphism between two constraint structures. By moving from the original domain to natural numbers, we compute interargument relations and ..."
Abstract

Cited by 41 (15 self)
 Add to MetaCart
(Show Context)
This paper presents an approach for universal lefttermination of constraint logic programs, based on approximations. An approximation is basically an algebraic morphism between two constraint structures. By moving from the original domain to natural numbers, we compute interargument relations and some control information about a program. By moving from the natural numbers to the booleans, we compute a boolean term called a termination condition such that if the boolean approximation of a goal entails the termination condition, then the Prolog computation tree for that goal is finite.
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 21 (8 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 existential termination of normal logic programs
 Proc. of the 5th AMAST, LNCS 1101
, 1996
"... Abstract. The most important open problem in the study of termination for logic programs is that of existential termination. Inthispaperwepresentapow erful transformational methodology that provides necessary (and, under some conditions, su cient) criteria for existential termination. The followed a ..."
Abstract

Cited by 14 (1 self)
 Add to MetaCart
(Show Context)
Abstract. The most important open problem in the study of termination for logic programs is that of existential termination. Inthispaperwepresentapow erful transformational methodology that provides necessary (and, under some conditions, su cient) criteria for existential termination. The followed approach is to develop a suitable transformation from logic programs to Term Rewriting Systems (TRSs), such that proving termination of the obtained TRS implies existential termination of the original logic program. Thus, all the extensive amountofwork on termination for TRSs can be automatically used in the logic programming setting. Moreover, the approach isalsoabletocopewiththe dual notion of universal termination: in fact, a whole spectrum of termination properties, said ktermination,isinvestigated, of which universal and existential termination are the extremes. Also, a satisfactory treatment to the problem of termination for logic programming with negation is achieved. This way we provide a unique, uniform approachcovering all these di erent notions of termination. 1
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 ..."
Abstract

Cited by 11 (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.
Inference of Termination Conditions for Numerical Loops in Prolog
 Logic for Programming, Arti Intelligence, and Reasoning, 8th International Conference, Proceedings, volume 2250 of Lecture Notes in Computer Science
, 2001
"... Numerical computations form an essential part of almost any realworld program. Clearly, in order for a termination analyser to be of practical use it should contain a mechanism for inferring termination of such computations. However, this topic attracted less attention of the research community. In ..."
Abstract

Cited by 9 (6 self)
 Add to MetaCart
Numerical computations form an essential part of almost any realworld program. Clearly, in order for a termination analyser to be of practical use it should contain a mechanism for inferring termination of such computations. However, this topic attracted less attention of the research community. In this work we concentrate on automatic termination inference for logic programs depending on numerical computations. Dershowitz et al. [8] showed that termination of general numerical computations, for instance on floating point numbers, may be counterintuitive, i.e., the observed behaviour does not necessarily coincide with the theoretically expected one. Thus, we restrict ourselves to integer computations only. While discussing termination of integer computations the following question should be asked: what conditions on the queries should be assumed, such that the queries will terminate. We refer to this question as the termination inference...
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.
Inference of Termination Conditions for Numerical Loops
, 2001
"... this paper we present a termination inference technique for numerical loops based on the wellknown constraints based approach [4], further extending [3], and on the adornments technique [6, 7]. We restrict our interest only to integer loops, since termination of real number computations is often im ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
(Show Context)
this paper we present a termination inference technique for numerical loops based on the wellknown constraints based approach [4], further extending [3], and on the adornments technique [6, 7]. We restrict our interest only to integer loops, since termination of real number computations is often implementation dependent (see [5]). Example 1. p(X) / X ? 0; X 5; X1 is X + 1; p(X) p(X) / X ? 5 This example illustrates two possible sources of termination. First, if no rule is applicable for some query (e.g. ?\Gammap(\Gamma1)), and second, if some rules are applicable, but the execution terminates(e.g. ?\Gamma p(3) or ?\Gamma p(7)). We distinguish between these cases and infer terminati
On Termination of Logic Programs With Floating Point computations
, 2002
"... Numerical computations form an essential part of almost any realworld program. Traditional approaches to termination of logic programs are restricted to domains isomorphic to N , more recent works study termination of integer computations. Termination of computations involving real numbers is cumbe ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
Numerical computations form an essential part of almost any realworld program. Traditional approaches to termination of logic programs are restricted to domains isomorphic to N , more recent works study termination of integer computations. Termination of computations involving real numbers is cumbersome and counterintuitive due to rounding errors and implementation conventions. We present a novel technique that allows us to prove termination of such computations.
Pure, Declarative, and Constructive Arithmetic Relations (Declarative Pearl) ⋆
"... Abstract. We present decidable logic programs for addition, multiplication, division with remainder, exponentiation, and logarithm with remainder over the unbounded domain of natural numbers. Our predicates represent relations without mode restrictions or annotations. They are fully decidable under ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Abstract. We present decidable logic programs for addition, multiplication, division with remainder, exponentiation, and logarithm with remainder over the unbounded domain of natural numbers. Our predicates represent relations without mode restrictions or annotations. They are fully decidable under the common, DFSlike, SLD resolution strategy of Prolog or under an interleaving refinement of DFS. We prove that the evaluation of our arithmetic goals always terminates, given arguments that share no logic variables. Further, the (possibly infinite) set of solutions for a goal denotes exactly the corresponding mathematical relation. (For SLD without interleaving, and for some infinite solution sets, only half of the relation’s domain may be covered.) We define predicates to handle unary (for illustration) and binary representations of natural numbers, and prove termination and completeness of these predicates. Our predicates are written in pure Prolog, without cut (!), var/1, or other nonlogical operators. The purity and minimalism of our approach allows us to declare arithmetic in other logic systems, such as Haskell type classes. 1
Predicting derivation lengths in rulebased constraint programs, in: Neuvimes Journes Francophones de Programmation Logique et Programmation par Contraintes (JFPLC'2000
, 2000
"... www.informatik.unimuenchen.de/�fruehwir/ ABSTRACT. We automatically predict the maximal number of rule applications, i.e. worstcase derivation lengths of computations, in rulebased constraint solver programs written in the CHR language. The derivation lengths are derived from rankings used in ter ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
www.informatik.unimuenchen.de/�fruehwir/ ABSTRACT. We automatically predict the maximal number of rule applications, i.e. worstcase derivation lengths of computations, in rulebased constraint solver programs written in the CHR language. The derivation lengths are derived from rankings used in termination proofs for the respective programs. We are especially interested in rankings that give us a good upper bound, we call such rankings tight. We apply our method to constraint solvers ranging from Boolean and arithmetic to terminological and pathconsistent constraints. In most cases, the worstcase derivation length is linear in the syntactic size of the constraint problem. RÉSUMÉ. Nous prévoyons automatiquement le nombre maximal d’application de règles (c.à.d. longueur de dérivation dans les pires des cas) dans des solveur de contraintes basés sur des règles écrits dans le langage CHR. Les longueurs de dérivation sont dérivées à partir des rangs utilisés dans des preuves de terminaison pour ces programmes. Nous sommes particulièrement intéressés par les rangs qui nous donnent une bonne limite supérieure. Nous appliquons notre méthode sur des differents solveurs de contraintes, tels que contraintes booléennes, équations linéaires et contraintes terminologiques. Dans la plupart des cas, la longueur de dérivation (dans les pires des cas) est linéaire dans la taille syntactique du problème.