Results 1  10
of
23
NonFailure Analysis for Logic Programs
 ACM Transactions on Programming Languages and Systems
, 1997
"... We provide a method whereby, given mode and (upper approximation) type information, we can detect procedures and goals that can be guaranteed to not fail (i.e., to produce at least one solution or not terminate). The technique is based on an intuitively very simple notion, that of a (set of) tests " ..."
Abstract

Cited by 117 (13 self)
 Add to MetaCart
We provide a method whereby, given mode and (upper approximation) type information, we can detect procedures and goals that can be guaranteed to not fail (i.e., to produce at least one solution or not terminate). The technique is based on an intuitively very simple notion, that of a (set of) tests "covering" the type of a set of variables. We show that the problem of determining a covering is undecidable in general, and give decidability and complexity results for the Herbrand and linear arithmetic constraint systems. We give sound algorithms for determining covering that are precise and efficient in practice. Based on this information, we show how to identify goals and procedures that can be guaranteed to not fail at runtime. Applications of such nonfailure information include programming error detection, program transformations and parallel execution optimization, avoiding speculative parallelism and estimating lower bounds on the computational costs of goals, which can be used for ...
On the Declarative and Procedural Semantics of Logic Programs
 Journal of Automated Reasoning
, 1995
"... One of the most important and difficult problems in logic programming is the problem of finding a suitable declarative or intended semantics for logic programs. The importance of this problem stems from the declarative character of logic programming, whereas its difficulty can be largely attributed ..."
Abstract

Cited by 64 (8 self)
 Add to MetaCart
One of the most important and difficult problems in logic programming is the problem of finding a suitable declarative or intended semantics for logic programs. The importance of this problem stems from the declarative character of logic programming, whereas its difficulty can be largely attributed to the nonmonotonic character of the negation operator used in logic programs. The problem can therefore be viewed as the problem of finding a suitable formalization of the type of nonmonotonic reasoning used in logic programming. In this paper we introduce a semantics of logic programs based on the class PERF(P) of all, not necessarily Herbrand, perfect models of a program P and we show that the proposed semantics is not only natural but it also combines many of the desirable features of previous approaches, at the same time eliminating some of their drawbacks. For a positive program P, the class PERF(P) of perfect models coincides with the class MIN(P) of all minimal models of P. The per...
Disunification: a Survey
 Computational Logic: Essays in Honor of Alan
, 1991
"... Solving an equation in an algebra of terms is known as unification. Solving more complex formulas combining equations and involving in particular negation is called disunification. With such a broad definition, many works fall into the scope of disunification. The goal of this paper is to survey the ..."
Abstract

Cited by 56 (9 self)
 Add to MetaCart
Solving an equation in an algebra of terms is known as unification. Solving more complex formulas combining equations and involving in particular negation is called disunification. With such a broad definition, many works fall into the scope of disunification. The goal of this paper is to survey these works and bring them together in a same framework. R'esum'e On appelle habituellement (algorithme d') unification un algorithme de r'esolution d'une 'equation dans une alg`ebre de termes. La r'esolution de formules plus complexes, comportant en particulier des n'egations, est appel'ee ici disunification. Avec une d'efinition aussi 'etendue, de nombreux travaux peuvent etre consid'er'es comme portant sur la disunification. L'objet de cet article de synth`ese est de rassembler tous ces travaux dans un meme formalisme. Laboratoire de Recherche en Informatique, Bat. 490, Universit'e de ParisSud, 91405 ORSAY cedex, France. Email: comon@lri.lri.fr i Contents 1 Syntax 5 1.1 Basic Defini...
An Improved Lower Bound for the Elementary Theories of Trees
, 1996
"... . The firstorder theories of finite and rational, constructor and feature trees possess complete axiomatizations and are decidable by quantifier elimination [15, 13, 14, 5, 10, 3, 20, 4, 2]. By using the uniform inseparability lower bounds techniques due to Compton and Henson [6], based on repr ..."
Abstract

Cited by 28 (3 self)
 Add to MetaCart
. The firstorder theories of finite and rational, constructor and feature trees possess complete axiomatizations and are decidable by quantifier elimination [15, 13, 14, 5, 10, 3, 20, 4, 2]. By using the uniform inseparability lower bounds techniques due to Compton and Henson [6], based on representing large binary relations by means of short formulas manipulating with high trees, we prove that all the above theories, as well as all their subtheories, are nonelementary in the sense of Kalmar, i.e., cannot be decided within time bounded by a k story exponential function 1 exp k (n) for any fixed k. Moreover, for some constant d ? 0 these decision problems require nondeterministic time exceeding exp 1 (bdnc) infinitely often. 1 Introduction Trees are fundamental in Computer Science. Different tree structures are used as underlying domains in automated theorem proving, term rewriting, functional and logic programming, constraint solving, symbolic computation, knowledge re...
Constrained Partial Deduction and the Preservation of Characteristic Trees
 NEW GENERATION COMPUTING
, 1997
"... Partial deduction strategies for logic programs often use an abstraction operator to guarantee the finiteness of the set of goals for which partial deductions are produced. Finding an abstraction operator which guarantees finiteness and does not lose relevant information is a difficult problem. I ..."
Abstract

Cited by 21 (16 self)
 Add to MetaCart
Partial deduction strategies for logic programs often use an abstraction operator to guarantee the finiteness of the set of goals for which partial deductions are produced. Finding an abstraction operator which guarantees finiteness and does not lose relevant information is a difficult problem. In earlier work Gallagher and Bruynooghe proposed to base the abstraction operator on characteristic paths and trees, which capture the structure of the generated incomplete SLDNFtree for a given goal. In this paper we exhibit the advantages of characteristic trees over purely syntactical measures: if characteristic trees can be preserved upon generalisation, then we obtain an almost perfect abstraction operator, providing just enough polyvariance to avoid any loss of local specialisation. Unfortunately, the abstraction operators proposed in earlier work do not always preserve the characteristic trees upon generalisation. We show that this can lead to important specialisation losses as well as to nontermination of the partial deduction algorithm. Furthermore, this problem cannot be adequately solved in the ordinary partial deduction setting. We therefore extend the expressivity and precision of the Lloyd and Shepherdson partial deduction framework by integrating constraints. We provide formal correctness results for the so obtained generic framework of constrained partial deduction. Within this new framework we are, among others, able to overcome the above mentioned problems by introducing an alternative abstraction operator, based on so called pruning constraints. We thus present a terminating partial deduction strategy which, for purely determinate unfolding rules, induces no loss of local specialisation due to the abstraction while ensuring correctness o...
Complexity of Nonrecursive Logic Programs with Complex Values
 In Proceedings of the 17th ACM SIGACTSIGMODSIGART Symposium on Principles of Database Systems (PODS’98
, 1998
"... We investigate complexity of the SUCCESS problem for logic query languages with complex values: check whether a query defines a nonempty set. The SUCCESS problem for recursive query languages with complex values is undecidable, so we study the complexity of nonrecursive queries. By complex values we ..."
Abstract

Cited by 15 (2 self)
 Add to MetaCart
We investigate complexity of the SUCCESS problem for logic query languages with complex values: check whether a query defines a nonempty set. The SUCCESS problem for recursive query languages with complex values is undecidable, so we study the complexity of nonrecursive queries. By complex values we understand values such as trees, finite sets, and multisets. Due to the wellknown correspondence between relational query languages and datalog, our results can be considered as results about relational query languages with complex values. The paper gives a complete complexity classification of the SUCCESS problem for nonrecursive logic programs over trees depending on the underlying signature, presence of negation, and range restrictedness. We also prove several results about finite sets and multisets. 1 Introduction A number of complexity results have been established for logic query languages. They are surveyed in [49, 18]. The major themes in these results are the complexity and expr...
Determinacy Analysis for Logic Programs Using Mode and Type Information
 In Proceedings of the 14th International Symposium on Logicbased Program Synthesis and Transformation (LOPSTR’04), number 3573 in LNCS
, 2004
"... Abstract. We propose an analysis for detecting procedures and goals that are deterministic (i.e. that produce at most one solution), or predicates whose clause tests are mutually exclusive (which implies that at most one of their clauses will succeed) even if they are not deterministic (because they ..."
Abstract

Cited by 12 (5 self)
 Add to MetaCart
Abstract. We propose an analysis for detecting procedures and goals that are deterministic (i.e. that produce at most one solution), or predicates whose clause tests are mutually exclusive (which implies that at most one of their clauses will succeed) even if they are not deterministic (because they call other predicates that can produce more than one solution). Applications of such determinacy information include detecting programming errors, performing certain highlevel program transformations for improving search efficiency, optimizing low level code generation and parallel execution, and estimating tighter upper bounds on the computational costs of goals and data sizes, which can be used for program debugging, resource consumption and granularity control, etc. We have implemented the analysis and integrated it in the CiaoPP system, which also infers automatically the mode and type information that our analysis takes as input. Experiments performed on this implementation show that the analysis is fairly accurate and efficient.
A CLP View of Logic Programming
 In Proc. Conf. on Algebraic and Logic Programming
, 1992
"... . We address the problem of determining those constraint domains A for which the traditional logic programming semantics and the constraint logic programming semantics CLP (A) coincide. This reduces to a study of nonstandard models of Clark's axioms and the notion of solution compactness introd ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
. We address the problem of determining those constraint domains A for which the traditional logic programming semantics and the constraint logic programming semantics CLP (A) coincide. This reduces to a study of nonstandard models of Clark's axioms and the notion of solution compactness introduced in the CLP scheme. The results of this study include the proof of the existence of a free product in the class of algebras defined by Clark's axioms, a characterization of when Clark's axioms form a model complete theory, and a limited characterization of those models of Clark's axioms which form solution compact constraint domains. 1 Introduction Appropriate semantics for definite logic programs are now largely agreed upon [17]. They involve a completed program, SLDresolution, a onestep consequence function, a least Herbrand model and numerous relationships between them: soundness and completeness of SLDrefutations, soundness and completeness of the negationasfailure rule, .....
Increasing Model Building Capabilities by Constraint Solving on Terms with Integer Exponents
 Journal of Symbolic Computation
, 1997
"... this paper the decidability of first order theory of the language of Iterms. ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
this paper the decidability of first order theory of the language of Iterms.
Elimination of Negation in Term Algebras
 In Mathematical Foundations of Computer Science
, 1991
"... We give an informal review of the problem of eliminating negation in term algebras and its applications. The initial results appear to be very specialized with complex combinatorial proofs. Nevertheless they have applications and relevance to a number of important areas: unification, learning, ab ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
We give an informal review of the problem of eliminating negation in term algebras and its applications. The initial results appear to be very specialized with complex combinatorial proofs. Nevertheless they have applications and relevance to a number of important areas: unification, learning, abstract data types and rewriting systems, constraints and constructive negation in logic languages. 1 Initial Motivation: Learning Plotkin [36] proposed a formal model for inductive inference which was based upon Popplestone 's suggestion that Since unification is useful in automatic deduction, its dual might prove helpful for induction. A similar formalism was independently introduced by Reynolds [38], who was more concerned with its algebraic properties than with its applications. The algebraic properties were further investigated by Huet [9, 10], who also studied the case of the infinitary Herbrand universe. The key result in this theory is that, for any set of terms, there exists a...