In this paper we present a study of the problem of handling constraints made by conjunctions of positive and negative literals based on the predicate symbols =, ∈,∪ and || (i.e., disjointness of two sets) in a (hybrid) universe of finite sets . We also review and compare the main techniques considered to represent finite sets in the context of logic languages. The resulting contraint algorithms are embedded in a Constraint Logic Programming (CLP) language which provides finite sets—along with basic set-theoretic operations—as first-class objects of the language. The language—called CLP( SET )—is an instance of the general CLP framework, and as such it inherits all the general features and theoretical results of this scheme. We provide, through programming examples, a taste of the expressive power offered by programming in CLP( SET ).
In this work we present parallelotope bundles, i.e., sets of parallelotopes for a symbolic representation of polytopes. We define a compact representation of these objects and show that any polytope can be canonically expressed by a bundle. We propose efficient algorithms for the manipulation of bundles. Among these, we define techniques for computing tight over-approximations of polynomial transformations. We apply our framework, in combination with the Bernstein technique, to the reachability problem for polynomial dynamical systems. The accuracy and scalability of our approach are validated on a number of case studies.
1 January 2005 in Lecture Notes in Computer Science