Results 1  10
of
109
Constraint Logic Programming: A Survey
"... Constraint Logic Programming (CLP) is a merger of two declarative paradigms: constraint solving and logic programming. Although a relatively new field, CLP has progressed in several quite different directions. In particular, the early fundamental concepts have been adapted to better serve in differe ..."
Abstract

Cited by 771 (23 self)
 Add to MetaCart
Constraint Logic Programming (CLP) is a merger of two declarative paradigms: constraint solving and logic programming. Although a relatively new field, CLP has progressed in several quite different directions. In particular, the early fundamental concepts have been adapted to better serve in different areas of applications. In this survey of CLP, a primary goal is to give a systematic description of the major trends in terms of common fundamental concepts. The three main parts cover the theory, implementation issues, and programming for applications.
Negation and Constraint Logic Programming
, 1995
"... Almost all constraint logic programming systems include negation, yet nowhere has a sound operational model for negation in CLP been discussed. The SLDNF approach of only allowing ground negative subgoals to execute is very restrictive in constraint logic programming where most variables appearing i ..."
Abstract

Cited by 120 (2 self)
 Add to MetaCart
Almost all constraint logic programming systems include negation, yet nowhere has a sound operational model for negation in CLP been discussed. The SLDNF approach of only allowing ground negative subgoals to execute is very restrictive in constraint logic programming where most variables appearing in a derivation never become ground. By describing a scheme for constructive negation in constraint logic programming we give a sound and complete operational model for negation in these languages. Constructive negation was first formulated for logic programming in the Herbrand Universe and involves introducing disequality constraints. Constraint logic programming thus provides a much more natural framework for describing constructive negation. In this paper we describe a framework for constructive negation for constraint logic programming over arbitrary structures which is sound and complete with respect to the threevalued consequences of the completion of a program. Through this descriptio...
Equational Problems and Disunification
 Journal of Symbolic Computation
, 1989
"... Roughly speaking, an equational problem is a first order formula whose only predicate symbol is =. We propose some rules for the transformation of equational problems and study their correctness in various models. Then, we give completeness results with respect to some “simple ” problems called solv ..."
Abstract

Cited by 106 (9 self)
 Add to MetaCart
Roughly speaking, an equational problem is a first order formula whose only predicate symbol is =. We propose some rules for the transformation of equational problems and study their correctness in various models. Then, we give completeness results with respect to some “simple ” problems called solved forms. Such completeness results still hold when adding some control which moreover ensures termination. The termination proofs are given for a “weak ” control and thus hold for the (large) class of algorithms obtained by restricting the scope of the rules. Finally, it must be noted that a byproduct of our method is a decision procedure for the validity in the Herbrand Universe of any
Records for Logic Programming
 Journal of Logic Programming
, 1994
"... CFT is a new constraint system providing records as logical data structure for constraint (logic) programming. It can be seen as a generalization of the rational tree system employed in Prolog II, where finergrained constraints are used, and where subtrees are identified by keywords rather than by ..."
Abstract

Cited by 95 (17 self)
 Add to MetaCart
CFT is a new constraint system providing records as logical data structure for constraint (logic) programming. It can be seen as a generalization of the rational tree system employed in Prolog II, where finergrained constraints are used, and where subtrees are identified by keywords rather than by position. CFT is defined by a firstorder structure consisting of socalled feature trees. Feature trees generalize the ordinary trees corresponding to firstorder terms by having their edges labeled with field names called features. The mathematical semantics given by the feature tree structure is complemented with a logical semantics given by five axiom schemes, which we conjecture to comprise a complete axiomatization of the feature tree structure. We present a decision method for CFT, which decides entailment / disentailment between possibly existentially quantified constraints. Since CFT satisfies the independence property, our decision method can also be employed for checking the sat...
Feature Constraint Logics for Unification Grammars
 Journal of Logic Programming
, 1992
"... This paper studies feature description languages that have been developed for use in unification grammars, logic programming and knowledge representation. The distinctive notational primitive of these languages are features that can be understood as unary partial functions on a domain of abstract ..."
Abstract

Cited by 83 (10 self)
 Add to MetaCart
This paper studies feature description languages that have been developed for use in unification grammars, logic programming and knowledge representation. The distinctive notational primitive of these languages are features that can be understood as unary partial functions on a domain of abstract objects. We show that feature description languages can be captured naturally as sublanguages of firstorder predicate logic with equality and show the equivalence of a loose Tarski semantics with a fixed feature graph semantics for quantifierfree constraints. For quantifierfree constraints we give a constraint solving method and show the NPcompleteness of satisfiability checking. For general feature constraints with quantifiers satisfiability is shown to be undecidable. Moreover, we investigate an extension of the logic with sort predicates and setdenoting expressions called feature terms.
A Foundation for Higherorder Concurrent Constraint Programming
, 1994
"... We present the flcalculus, a computational calculus for higherorder concurrent programming. The calculus can elegantly express higherorder functions (both eager and lazy) and concurrent objects with encapsulated state and multiple inheritance. The primitives of the flcalculus are logic variables ..."
Abstract

Cited by 60 (13 self)
 Add to MetaCart
We present the flcalculus, a computational calculus for higherorder concurrent programming. The calculus can elegantly express higherorder functions (both eager and lazy) and concurrent objects with encapsulated state and multiple inheritance. The primitives of the flcalculus are logic variables, names, procedural abstraction, and cells. Cells provide a notion of state that is fully compatible with concurrency and constraints. Although it does not have a dedicated communication primitive, the flcalculus can elegantly express onetomany and manytoone communication. There is an interesting relationship between the flcalculus and the ßcalculus: The flcalculus is subsumed by a calculus obtained by extending the asynchronous and polyadic ßcalculus with logic variables. The flcalculus can be extended with primitives providing for constraintbased problem solving in the style of logic programming. A such extended flcalculus has the remarkable property that it combines firstor...
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 57 (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...
SLDNFA: an abductive procedure for abductive logic programs
, 1997
"... We present SLDNFA, an extension of SLDNFresolution for abductive reasoning on abductive logic programs. SLDNFA solves the floundering abduction problem: nonground abductive atoms can be selected. SLDNFA provides also a partial solution for the floundering negation problem. Different abductive a ..."
Abstract

Cited by 55 (13 self)
 Add to MetaCart
We present SLDNFA, an extension of SLDNFresolution for abductive reasoning on abductive logic programs. SLDNFA solves the floundering abduction problem: nonground abductive atoms can be selected. SLDNFA provides also a partial solution for the floundering negation problem. Different abductive answers can be derived from an SLDNFArefutation; these answers provide different compromises between generality and comprehensibility. Two extensions of SLDNFA are proposed which satisfy stronger completeness results. The soundness of SLDNFA and its extensions is proven. Their completeness for minimal solutions with respect to implication, cardinality and set inclusion is investigated. The formalisation of SLDNFA presented here is an update of an older version presented in [13] and does not rely on skolemisation of abductive atoms. 1
What is Failure? An Approach to Constructive Negation
, 1994
"... A standard approach to negation in logic programming is negation as failure. Its major drawback is that it cannot produce answer substitutions to negated queries. Approaches to overcoming this limitation are termed constructive negation. This work proposes an approach based on construction of failed ..."
Abstract

Cited by 53 (4 self)
 Add to MetaCart
A standard approach to negation in logic programming is negation as failure. Its major drawback is that it cannot produce answer substitutions to negated queries. Approaches to overcoming this limitation are termed constructive negation. This work proposes an approach based on construction of failed trees for some instances of a negated query. For this purpose a generalization of the standard notion of a failed tree is needed. We show that a straightforward generalization leads to unsoundness and present a correct one. The method is applicable to arbitrary normal programs. If finitely failed trees are concerned then its semantics is given by Clark completion in 3valued logic (and our approach is a proper extension of SLDNFresolution). If infinite failed trees are allowed then we obtain a method for the wellfounded semantics. In both cases soundness and completeness are proved.
A Descriptive Approach to LanguageTheoretic Complexity
, 1996
"... Contents 1 Language Complexity in Generative Grammar 3 Part I The Descriptive Complexity of Strongly ContextFree Languages 11 2 Introduction to Part I 13 3 Trees as Elementary Structures 15 4 L 2 K;P and SnS 25 5 Definability and NonDefinability in L 2 K;P 35 6 Conclusion of Part I 57 DRAFT ..."
Abstract

Cited by 52 (3 self)
 Add to MetaCart
Contents 1 Language Complexity in Generative Grammar 3 Part I The Descriptive Complexity of Strongly ContextFree Languages 11 2 Introduction to Part I 13 3 Trees as Elementary Structures 15 4 L 2 K;P and SnS 25 5 Definability and NonDefinability in L 2 K;P 35 6 Conclusion of Part I 57 DRAFT 2 / Contents Part II The Generative Capacity of GB Theories 59 7 Introduction to Part II 61 8 The Fundamental Structures of GB Theories 69 9 GB and Nondefinability in L 2 K;P 79 10 Formalizing XBar Theory 93 11 The Lexicon, Subcategorization, Thetatheory, and Case Theory 111 12 Binding and Control 119 13 Chains 131 14 Reconstruction 157 15 Limitations of the Interpretation 173 16 Conclusion of Part II 179 A Index of Definitions 183 Bibliography DRAFT 1<