Module "CLPB.curry"

This library provides a Boolean Constraint Solver based on BDDs.

Author: Sebastian Fischer

Version: May 2006


 Exported names:

Datatypes:
Boolean

Functions:
.&& | ./= | .< | .<= | .== | .> | .>= | .|| | bound | check | count | evaluate | exists | false | neg | satisfied | simplify | true


 Summary of exported functions:

true  :: Boolean  deterministic 
          The always satisfied constraint
false  :: Boolean  deterministic 
          The never satisfied constraint
neg  :: Boolean -> Boolean  deterministic flexible
          Result is true iff argument is false.
(.&&)  :: Boolean -> Boolean -> Boolean  deterministic flexible
          Result is true iff both arguments are true.
(.||)  :: Boolean -> Boolean -> Boolean  deterministic flexible
          Result is true iff at least one argument is true.
(./=)  :: Boolean -> Boolean -> Boolean  deterministic flexible
          Result is true iff exactly one argument is true.
(.==)  :: Boolean -> Boolean -> Boolean  deterministic 
          Result is true iff both arguments are equal.
(.<=)  :: Boolean -> Boolean -> Boolean  deterministic 
          Result is true iff the first argument implies the second.
(.>=)  :: Boolean -> Boolean -> Boolean  deterministic 
          Result is true iff the second argument implies the first.
(.<)  :: Boolean -> Boolean -> Boolean  deterministic 
          Result is true iff the first argument is false and the second is true.
(.>)  :: Boolean -> Boolean -> Boolean  deterministic 
          Result is true iff the first argument is true and the second is false.
count  :: [Boolean] -> [Int] -> Boolean  deterministic 
          Result is true iff the count of valid constraints in the first list is an element of the second list.
exists  :: Boolean -> Boolean -> Boolean  deterministic flexible
          Result is true, if the first argument is a variable which can be instantiated such that the second argument is true.
satisfied  :: Boolean -> Success  deterministic flexible
          Checks the consistency of the constraint with regard to the accumulated constraints, and, if the check succeeds, tells the constraint.
check  :: Boolean -> Bool  deterministic flexible
          Asks whether the argument (or its negation) is now entailed by the accumulated constraints.
bound  :: [Boolean] -> Success  deterministic 
          Instantiates given variables with regard to the accumulated constraints.
simplify  :: Boolean -> Boolean  deterministic 
          Simplifies the argument with regard to the accumulated constraints.
evaluate  :: Boolean -> Bool  deterministic 
          Evaluates the argument with regard to the accumulated constraints.

 Imported modules:

Prelude

 Exported datatypes:

Boolean

Constructors:



 Exported functions:

true :: Boolean  deterministic 

The always satisfied constraint

Further infos:
  • solution complete, i.e., able to compute all solutions

false :: Boolean  deterministic 

The never satisfied constraint

Further infos:
  • solution complete, i.e., able to compute all solutions

neg :: Boolean -> Boolean  deterministic flexible

Result is true iff argument is false.


(.&&) :: Boolean -> Boolean -> Boolean  deterministic flexible

Result is true iff both arguments are true.

Further infos:
  • defined as right-associative infix operator with precedence 3

(.||) :: Boolean -> Boolean -> Boolean  deterministic flexible

Result is true iff at least one argument is true.

Further infos:
  • defined as right-associative infix operator with precedence 2

(./=) :: Boolean -> Boolean -> Boolean  deterministic flexible

Result is true iff exactly one argument is true.

Further infos:
  • defined as non-associative infix operator with precedence 1

(.==) :: Boolean -> Boolean -> Boolean  deterministic 

Result is true iff both arguments are equal.

Further infos:
  • defined as non-associative infix operator with precedence 1

(.<=) :: Boolean -> Boolean -> Boolean  deterministic 

Result is true iff the first argument implies the second.


(.>=) :: Boolean -> Boolean -> Boolean  deterministic 

Result is true iff the second argument implies the first.


(.<) :: Boolean -> Boolean -> Boolean  deterministic 

Result is true iff the first argument is false and the second is true.


(.>) :: Boolean -> Boolean -> Boolean  deterministic 

Result is true iff the first argument is true and the second is false.


count :: [Boolean] -> [Int] -> Boolean  deterministic 

Result is true iff the count of valid constraints in the first list is an element of the second list.


exists :: Boolean -> Boolean -> Boolean  deterministic flexible

Result is true, if the first argument is a variable which can be instantiated such that the second argument is true.


satisfied :: Boolean -> Success  deterministic flexible

Checks the consistency of the constraint with regard to the accumulated constraints, and, if the check succeeds, tells the constraint.


check :: Boolean -> Bool  deterministic flexible

Asks whether the argument (or its negation) is now entailed by the accumulated constraints. Fails if it is not.


bound :: [Boolean] -> Success  deterministic 

Instantiates given variables with regard to the accumulated constraints.


simplify :: Boolean -> Boolean  deterministic 

Simplifies the argument with regard to the accumulated constraints.


evaluate :: Boolean -> Bool  deterministic 

Evaluates the argument with regard to the accumulated constraints.



Generated by CurryDoc (Version 0.4.1 of June 7, 2007) at Jun 16 17:08:39 2009