Library for constraint programming with arithmetic constraints over reals.
Author: Michael Hanus
Version: December 2016
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. 
Abstract type to represent floats used in constraints.
Constructors:
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 nonlocal variables.

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 nonlocal variables. 
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 nonlocal variables.

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 nonlocal variables. 