Module CLP.R

Library for constraint programming with arithmetic constraints over reals.

Author: Michael Hanus

Version: December 2016

Summary of exported operations:

 ```minimumFor :: (a -> Bool) -> (a -> Float) -> a```    Computes the minimum with respect to a given constraint. ```minimize :: (a -> Bool) -> (a -> Float) -> a -> Bool```    Minimization constraint. ```maximumFor :: (a -> Bool) -> (a -> Float) -> a```    Computes the maximum with respect to a given constraint. ```maximize :: (a -> Bool) -> (a -> Float) -> a -> Bool```    Maximization constraint.

Exported datatypes:

CFloat

Abstract type to represent floats used in constraints.

Constructors:

Exported operations:

 ```minimumFor :: (a -> Bool) -> (a -> Float) -> a```    Computes the minimum with respect to a given constraint. (minimumFor g f) evaluates to x if (g x) is satisfied and (f x) is minimal. The evaluation fails if such a minimal value does not exist. The evaluation suspends if it contains unbound non-local variables. Further infos: externally defined
 ```minimize :: (a -> Bool) -> (a -> Float) -> a -> Bool```    Minimization constraint. (minimize g f x) is satisfied if (g x) is satisfied and (f x) is minimal. The evaluation suspends if it contains unbound non-local variables.
 ```maximumFor :: (a -> Bool) -> (a -> Float) -> a```    Computes the maximum with respect to a given constraint. (maximumFor g f) evaluates to x if (g x) is satisfied and (f x) is maximal. The evaluation fails if such a maximal value does not exist. The evaluation suspends if it contains unbound non-local variables. Further infos: externally defined
 ```maximize :: (a -> Bool) -> (a -> Float) -> a -> Bool```    Maximization constraint. (maximize g f x) is satisfied if (g x) is satisfied and (f x) is maximal. The evaluation suspends if it contains unbound non-local variables.