Module CLP.R

Library for constraint programming with arithmetic constraints over reals.

Author: Michael Hanus

Version: July 2023

Summary of exported operations:

minimumFor :: (a -> Bool) -> (a -> CFloat) -> a  Deterministic 
Computes the minimum with respect to a given constraint.
minimize :: Data a => (a -> Bool) -> (a -> CFloat) -> a -> Bool  Deterministic 
Minimization constraint.
maximumFor :: (a -> Bool) -> (a -> CFloat) -> a  Deterministic 
Computes the maximum with respect to a given constraint.
maximize :: Data a => (a -> Bool) -> (a -> CFloat) -> a -> Bool  Deterministic 
Maximization constraint.

Exported datatypes:


CFloat

Abstract type to represent floats used in constraints.

Constructors:


Exported operations:

minimumFor :: (a -> Bool) -> (a -> CFloat) -> a  Deterministic 

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.

minimize :: Data a => (a -> Bool) -> (a -> CFloat) -> a -> Bool  Deterministic 

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 -> CFloat) -> a  Deterministic 

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.

maximize :: Data a => (a -> Bool) -> (a -> CFloat) -> a -> Bool  Deterministic 

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.