Results 1  10
of
113
DESIGN, IMPLEMENTATION, AND EVALUATION OF THE CONSTRAINT LANGUAGE cc(FD)
 J. LOGIC PROGRAMMING 1994:19, 20:1679
, 1994
"... This paper describes the design, implementation, and applications of the constraint logic language cc(FD). cc(FD) is a declarative nondeterministic constraint logic language over finite domains based on the cc framework [33], an extension of the CLP scheme [21]. Its constraint solver includes (nonl ..."
Abstract

Cited by 163 (9 self)
 Add to MetaCart
This paper describes the design, implementation, and applications of the constraint logic language cc(FD). cc(FD) is a declarative nondeterministic constraint logic language over finite domains based on the cc framework [33], an extension of the CLP scheme [21]. Its constraint solver includes (nonlinear) arithmetic constraints over natural numbers which are approximated using domain and interval consistency. The main novelty of cc(FD) is the inclusion of a number of generalpurpose combinators, in particular cardinality, constructive disjunction, and blocking implication, in conjunction with new constraint operations such as constraint entailment and generalization. These combinators signi cantly improve the operational expressiveness, extensibility, and flexibility of CLP languages and allow issues such as the definition of nonprimitive constraints and disjunctions to be tackled at the language level. The implementation of cc(FD) (about 40,000 lines of C) includes a WAMbased engine [44], optimal arcconsistency algorithms based on AC5 [40], and incremental implementation of the combinators. Results on numerous problems, including scheduling, resource allocation, sequencing, packing, and hamiltonian paths are reported and indicate that cc(FD) comes close to procedural languages on a number of combinatorial problems. In addition, a small cc(FD) program was able to nd the optimal solution and prove optimality to a famous 10/10 disjunctive scheduling problem [29], which was left open for more than 20 years and nally solved in 1986.
Compiling Constraints in clp(FD)
, 1996
"... We present the clp(FD) system: a Constraint Logic Programming language with finite domain constraints... ..."
Abstract

Cited by 147 (19 self)
 Add to MetaCart
We present the clp(FD) system: a Constraint Logic Programming language with finite domain constraints...
Interval propagation to reason about sets: definition and implementation of a practical language
 CONSTRAINTS
, 1997
"... Local consistency techniques have been introduced in logic programming in order to extend the application domain of logic programming languages. The existing languages based on these techniques consider arithmetic constraints applied to variables ranging over nite integer domains. This makes difficu ..."
Abstract

Cited by 100 (5 self)
 Add to MetaCart
Local consistency techniques have been introduced in logic programming in order to extend the application domain of logic programming languages. The existing languages based on these techniques consider arithmetic constraints applied to variables ranging over nite integer domains. This makes difficult a natural and concise modelling as well as an efficient solving of a class of NPcomplete combinatorial search problems dealing with sets. To overcome these problems, we propose a solution which consists in extending the notion of integer domains to that of set domains (sets of sets). We specify a set domain by an interval whose lower and upper bounds are known sets, ordered by set inclusion. We define the formal and practical framework of a new constraint logic programming language over set domains, called Conjunto. Conjunto comprises the usual set operation symbols ([ � \ � n), and the set inclusion relation (). Set expressions built using the operation symbols are interpreted as relations (s [ s1 = s2,...). In addition, Conjunto provides us with a set of constraints called graduated constraints (e.g. the set cardinality) which map sets onto arithmetic terms. This allows us to handle optimization problems by applying a cost function to the quantifiable, i.e., arithmetic, terms which are associated to set terms. The constraint solving in Conjunto is based on local consistency techniques using interval reasoning which are extended to handle set constraints. The main contribution of this paper concerns the formal definition of the language and its design and implementation as a practical language.
The Cassowary Linear Arithmetic Constraint Solving Algorithm: Interface and Implementation
 ACM TRANSACTIONS ON COMPUTER HUMAN INTERACTION
, 1998
"... Linear equality and inequality constraints arise naturally in specifying many aspects of user interfaces, such as requiring that one window be to the left of another, requiring that a pane occupy the leftmost 1/3 of a window, or preferring that an object be contained within a rectangle if possibl ..."
Abstract

Cited by 84 (9 self)
 Add to MetaCart
Linear equality and inequality constraints arise naturally in specifying many aspects of user interfaces, such as requiring that one window be to the left of another, requiring that a pane occupy the leftmost 1/3 of a window, or preferring that an object be contained within a rectangle if possible. Current constraint solvers designed for UI applications cannot e#ciently handle simultaneous linear equations and inequalities. This is a major limitation. We describe Cassowaryan incremental algorithm based on the dual simplex method that can solve such systems of constraints e#ciently. This informal technical report describes the latest version of the Cassowary algorithm. It is derived from the paper "Solving Linear Arithmetic Constraints for User Interface Applications" by Alan Borning, Kim Marriott, Peter Stuckey, and Yi Xiao [7], published in the UIST'97 Proceedings. The UIST paper also contains a description of QOCA, a closely related solver that finds leastsquares solut...
Theorem Proving Modulo
 Journal of Automated Reasoning
"... Abstract. Deduction modulo is a way to remove computational arguments from proofs by reasoning modulo a congruence on propositions. Such a technique, issued from automated theorem proving, is of much wider interest because it permits to separate computations and deductions in a clean way. The first ..."
Abstract

Cited by 75 (14 self)
 Add to MetaCart
Abstract. Deduction modulo is a way to remove computational arguments from proofs by reasoning modulo a congruence on propositions. Such a technique, issued from automated theorem proving, is of much wider interest because it permits to separate computations and deductions in a clean way. The first contribution of this paper is to define a sequent calculus modulo that gives a proof theoretic account of the combination of computations and deductions. The congruence on propositions is handled via rewrite rules and equational axioms. Rewrite rules apply to terms and also directly to atomic propositions. The second contribution is to give a complete proof search method, called Extended Narrowing and Resolution (ENAR), for theorem proving modulo such congruences. The completeness of this method is proved with respect to provability in sequent calculus modulo. An important application is that higherorder logic can be presented as a theory modulo. Applying the Extended Narrowing and Resolution method to this presentation of higherorder logic subsumes full higherorder resolution.
Extending the Smodels System with Cardinality and Weight Constraints
 LogicBased Artificial Intelligence
, 2000
"... The Smodels system is one of the stateoftheart implementations of stable model computation for normal logic programs. In order to enable more realistic applications, the basic modeling language of normal programs has been extended with new constructs including cardinality and weight constraints a ..."
Abstract

Cited by 74 (9 self)
 Add to MetaCart
The Smodels system is one of the stateoftheart implementations of stable model computation for normal logic programs. In order to enable more realistic applications, the basic modeling language of normal programs has been extended with new constructs including cardinality and weight constraints and corresponding implementation techniques have been developed. This paper summarizes the extensions that have been included in the system, demonstrates their use, provides basic application methodology, illustrates the current level of performance of the system, and compares it to stateoftheart satis ability checkers.
Constraint processing in cc(FD)
, 1992
"... Constraint logic programming languages such as CHIP [26,5] have demonstrated the practicality of declarative languages supporting consistency techniques and nondeterminism. Nevertheless they suffer from the blackbox effect: the programmer must work with a monolithic, unmodifiable, inextensible cons ..."
Abstract

Cited by 66 (11 self)
 Add to MetaCart
Constraint logic programming languages such as CHIP [26,5] have demonstrated the practicality of declarative languages supporting consistency techniques and nondeterminism. Nevertheless they suffer from the blackbox effect: the programmer must work with a monolithic, unmodifiable, inextensible constraintsolver. This problem can be overcome within the logically and computationally richer concurrent constraint (cc) programming paradigm [17]. We show that some basic constraintoperations currently hardwired into constraintsolvers can be abstracted and made available as combinators in the programming language. This allows complex constraintsolvers to be decomposed into logically clean and efficiently implementable cc programs over a much simpler constraint system. In particular, we show that the CHIP constraintsolver can be simply programmed in cc(FD), acc language with an extremely simple builtin constraint solver for finite domains.
Solving linear arithmetic constraints for user interface applications: Algorithm details
, 1997
"... Linear equality and inequality constraints arise naturally in specifying many aspects of user interfaces, such as requiring that one window be to the left of another, requiring that a pane occupy the leftmost 1/3 of a window, or preferring that an object be contained within a rectangle if possible. ..."
Abstract

Cited by 64 (17 self)
 Add to MetaCart
Linear equality and inequality constraints arise naturally in specifying many aspects of user interfaces, such as requiring that one window be to the left of another, requiring that a pane occupy the leftmost 1/3 of a window, or preferring that an object be contained within a rectangle if possible. Current constraint solvers designed for UI applications cannot efficiently handle simultaneous linear equations and inequalities. This is a major limitation. We describe incremental algorithms based on the dual simplex and active set methods that can solve such systems of constraints efficiently.