## CLIP: A CLP(Intervals) dialect for Metalevel Constraint Solving (2000)

Venue: | Practical Aspects of Declarative Languages: PADL2000, volume 1753 of LNCS |

Citations: | 12 - 3 self |

### BibTeX

@INPROCEEDINGS{Hickey00clip:a,

author = {Timothy J. Hickey},

title = {CLIP: A CLP(Intervals) dialect for Metalevel Constraint Solving},

booktitle = {Practical Aspects of Declarative Languages: PADL2000, volume 1753 of LNCS},

year = {2000},

pages = {200--0},

publisher = {Springer Verlag}

}

### OpenURL

### Abstract

CLIP is an implementation of CLP(Intervals) built on top of Prolog. It has been developed using the simplest model of constraint solving in which constraints are decomposed into sets of primitive constraints and a simple constraint queue is used to repeatedly apply primitive constraint contractions until some termination condition applies (e.g. no significant change occurs, or a preset limit on the number of contractions is reached). The simple semantics and implementation make it relatively straightforward to prove that the system is sound. In this paper we show how to implement more complex constraint solvers in CLIP. In particular, we demonstrate that several of the box-narrowing algorithms from the Newton and Numerica systems can be easily implemented in CLIP. The principal advantages of this approach are (1) the resulting solvers are relatively easy to prove correct, (2) new solvers can be rapidly prototyped since the code is more concise and declarative than for imperative languages, and (3) contractors can be implemented directly from mathematical formulae without having to first prove results about interval arithmetic operators.

### Citations

963 | Interval Analysis - Moore - 1966 |

547 |
Interval Methods for Systems of Equations
- Neumaier
- 1990
(Show Context)
Citation Context ... the Jacobian. In Newton/Numerica and in Interval Arithmetic algorithms, this involves proving the correctness of a multidimensional interval arithmetic function operating on sets of reals (see, e.g. =-=[1-=-9], p. 177). Using CLIP, this contraction can be expressed as the following mathematical constraint, which holds whenever f(x) = 0: 8a 2 U , 8B 2 Mn , 9t 2 [0; 1] n , 9 2 (R n ) n s.t., x = a (B f)(a... |

175 | Numerica: a Modeling Language for Global Optimization
- Hentenryck, Michel, et al.
- 1997
(Show Context)
Citation Context ... code), and then a general constraint solving engine is invoked to repeatedly contract each primitive constraint until some termination condition is satised. In Newton, Numerica, and similar systems [=-=3, 23, 22, 9, 8]-=- the constraint solver is much more powerful than the underlying CLP(BNR) solver, but in some cases it can take hours to solve a single constraint. We argue the merits of the CLP(BNR) approach where o... |

174 | Applying interval arithmetic to real, integer and boolean constraints
- Benhamou, Older
- 1997
(Show Context)
Citation Context ...hmetic operators. 1 Introduction Historically, there have been two approaches to implementing Interval Arithmetic constraint solvers, represented by the two systems: CLP(BNR) and Newton. In CLP(BNR), =-=[5, 21, 20, 4, 2]-=-, each constraint is decomposed into primitive constraints (similar to compiling to 3-address code), and then a general constraint solving engine is invoked to repeatedly contract each primitive const... |

136 |
Constraint logic programming
- Jaar, Lassez
- 1987
(Show Context)
Citation Context ...re X is a vector of interval variables). Suppose the CLIP interpreter returns with asnite number of interval boxes B 1 ; B 2 ; : : : ; B k , and then fails. The soundness of the general CLP semantics =-=[1-=-7] implies that T [ P j= 8x: Q(x) ) x 2 [ i B i ! where P is Clark's completion of P and T is the theory of real constraints (i.e. T is the set of allsrst order sentences in the CLIP constraint lang... |

106 | Solving polynomial systems using a branch and prune approach
- Hentenryck, McAllester, et al.
- 1995
(Show Context)
Citation Context ... code), and then a general constraint solving engine is invoked to repeatedly contract each primitive constraint until some termination condition is satised. In Newton, Numerica, and similar systems [=-=3, 23, 22, 9, 8]-=- the constraint solver is much more powerful than the underlying CLP(BNR) solver, but in some cases it can take hours to solve a single constraint. We argue the merits of the CLP(BNR) approach where o... |

78 | Interval arithmetic: From principles to implementation
- Hickey, Ju, et al.
- 2001
(Show Context)
Citation Context ...actors (shown in Fig 3) are based on an interval arithmetic library which has been designed with careful attention to soundness. The underlying interval arithmetic algorithms have been proved correct =-=[15, 14]-=-, and we are preparing a proof of the correctness of the contractors for the special functions (exp, log, sin, etc.). nar_add(X,Y,Z) nar_mul(X,Y,Z) nar_u_minus2(X,Y) nar_exp2(X,Y) nar_square2(X,Y) nar... |

68 | Constraint arithmetic on real intervals
- Older, Vellino
- 1993
(Show Context)
Citation Context ...hmetic operators. 1 Introduction Historically, there have been two approaches to implementing Interval Arithmetic constraint solvers, represented by the two systems: CLP(BNR) and Newton. In CLP(BNR), =-=[5, 21, 20, 4, 2]-=-, each constraint is decomposed into primitive constraints (similar to compiling to 3-address code), and then a general constraint solving engine is invoked to repeatedly contract each primitive const... |

33 |
Complexity estimates depending on condition and round-off error
- Cucker, Smale
- 1999
(Show Context)
Citation Context ...e a solver as sophisticated as CLP(FD) to evaluate the indices. We also plan to look for a constraint version of the Moore-Penrose Newton contractor used in Cucker and Smale's sound constraint solver =-=[6]-=-. Existence Proofs. Another powerful feature of the Newton system is that it is able to prove that certain boxes contain solutions to a given constraint set. This type of proof requires more sophistic... |

22 | C++ Toolbox for Veri Computing - Hammer, Hocks, et al. - 1994 |

18 | Analytic constraint solving and interval arithmetic
- Hickey
(Show Context)
Citation Context ...ne does not need to consider interval extensions of functions. We have successfully used this approach to build constraint solvers for a large class of Ordinary Dierential Equation (ODE) constraints [=-=10, 12]-=-. Here we show that some of the Newton/Numerica style contractors can be easily and eciently implemented in a CLP(Intervals) system. In this paper, wesrst describe our implementation of CLIP, a CLP(In... |

15 | Automatic generation of numerical redundancies for nonlinear constraint solving
- Benhamou, Granvilliers
- 1997
(Show Context)
Citation Context ... code), and then a general constraint solving engine is invoked to repeatedly contract each primitive constraint until some termination condition is satised. In Newton, Numerica, and similar systems [=-=3, 23, 22, 9, 8]-=- the constraint solver is much more powerful than the underlying CLP(BNR) solver, but in some cases it can take hours to solve a single constraint. We argue the merits of the CLP(BNR) approach where o... |

15 | CLP(F) and Constrained ODEs
- Hickey
- 1994
(Show Context)
Citation Context ...ne does not need to consider interval extensions of functions. We have successfully used this approach to build constraint solvers for a large class of Ordinary Dierential Equation (ODE) constraints [=-=10, 12]-=-. Here we show that some of the Newton/Numerica style contractors can be easily and eciently implemented in a CLP(Intervals) system. In this paper, wesrst describe our implementation of CLIP, a CLP(In... |

12 | A symbolic-numerical branch and prune algorithm for solving non-linear polynomial systems
- Granvilliers
- 1998
(Show Context)
Citation Context |

11 |
Real computing made real: Preventing Errors in Scientific and Engineering calculations
- Acton
- 1996
(Show Context)
Citation Context ... limited attempt to solve more complex constraints which require iterative constraint propagation, e.g., | ?- {X*Y=1, Y=sin(X), pi/2 >= X, X >= 0}. X = 1.1141571408719... Y = 0.89753946128048... (See =-=[1]-=-, p. 77 for a classical approach to this problem, or [13] for a comparable constraint contraction approach.) The user is allowed to set parameters which put a limit on how much work the CLIP solver wi... |

5 |
A Uni Framework for Interval Constraints and
- Hickey, Wu, et al.
- 1998
(Show Context)
Citation Context ...actors (shown in Fig 3) are based on an interval arithmetic library which has been designed with careful attention to soundness. The underlying interval arithmetic algorithms have been proved correct =-=[15, 14]-=-, and we are preparing a proof of the correctness of the contractors for the special functions (exp, log, sin, etc.). nar_add(X,Y,Z) nar_mul(X,Y,Z) nar_u_minus2(X,Y) nar_exp2(X,Y) nar_square2(X,Y) nar... |

4 |
CLIP: an implementation of CLP (Intervals
- Hickey
- 1999
(Show Context)
Citation Context ...lemented in a CLP(Intervals) system. In this paper, wesrst describe our implementation of CLIP, a CLP(Intervals) system using a simple queue method for applying sound primitive constraint contractors =-=[11]-=-. We then give some benchmarks on its performance, illustrate the use of CLIP in implementing Newton/Numerica contractors with several concrete examples. Finally, we discuss directions for future rese... |

3 |
Hentenryck CLP(Intervals
- Benhamou, McAllister, et al.
- 1994
(Show Context)
Citation Context |