POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Constraint arithmetic on real intervals
Constraint logic programming
Complexity estimates depending on condition and round-off error
Journal of the ACM (JACM)
Real Computing Made Real: Preventing Errors in Scientific and Engineering Calculations
Real Computing Made Real: Preventing Errors in Scientific and Engineering Calculations
Multistep Filtering Operators for Ordinary Differential Equations
CP '99 Proceedings of the 5th International Conference on Principles and Practice of Constraint Programming
A sound interval constraint logic programming system
A sound interval constraint logic programming system
Computing rigorous bounds on the solution of an initial value problem for an ordinary differential equation
Interval arithmetic: From principles to implementation
Journal of the ACM (JACM)
CLIP: A CLP(Intervals) Dialect for Metalevel Constraint Solving
PADL '00 Proceedings of the Second International Workshop on Practical Aspects of Declarative Languages
Constraint-Based Termination Analysis for Cyclic Active Database Rules
CL '00 Proceedings of the First International Conference on Computational Logic
A class of polynomially solvable range constraints for interval analysis without widenings
Theoretical Computer Science - Tools and algorithms for the construction and analysis of systems (TACAS 2004)
Safety verification of hybrid systems by constraint propagation-based abstraction refinement
ACM Transactions on Embedded Computing Systems (TECS)
Safety verification of hybrid systems by constraint propagation based abstraction refinement
HSCC'05 Proceedings of the 8th international conference on Hybrid Systems: computation and control
Constraints for continuous reachability in the verification of hybrid systems
AISC'06 Proceedings of the 8th international conference on Artificial Intelligence and Symbolic Computation
Hi-index | 0.00 |
In this paper we describe the syntax, semantics, and implementation of the constraint logic programming language CLP(F) and we prove that the implementation is sound. A CLP(F) constraint is a conjunction of equations and inequations in a first order theory of analytic univariate functions over the reals. The theory allows vector-valued functions over closed intervals to be constrained in several ways, including specifying functional equations (possibly involving the differentiation operator) that must hold at each point in the domain, arithmetic constraints on the value of a function at a particular point in its domain, and bounds on the range of a function over its domain. After describing the syntax and semantics of the constraint language for CLP(F) and giving several examples, we show how to convert these analytic constraints into a subclass of simpler functional constraints which involve neither differentiation nor evaluation of functions. We then present an algorithm for solving these latter constraints and prove that it is sound. This implies the soundness of the CLP(F) interpreter. We also provide some timing results from an implementation of CLP(F) based on GNU Prolog. The current implementation is able to solve a wide variety of analytic constraints, but on particular classes of constraints (such as initial value problems for autonomous ODEs), it is not competitive with other non-constraint based, interval solvers such as Lohner's AWA system. CLP(F) should be viewed as a first step toward the long term goal of developing a practical, declarative, logic-based approach to numerical analysis.