[Next] [Up] [Previous] [Contents] [Index]
Next: CLP(Set) Up: Constraints Previous: Optimization   Contents   Index

CLP(Boolean)

CLP(Boolean) can be considered as a special case of CLP(FD) where each variable has a domain of two values: 0 denotes false, and 1 denotes true. A Boolean expression is made from constants (0 or 1), Boolean domain variables, basic relational constraints, and operators as follows:
   <BooleanExpression> ::=  
        0 |                                           /* false */
        1 |                                           /* true */
        variable |
        <Expression> #= <Expression> |        
        <Expression> #\= <Expression> |       
        <Expression> #> <Expression> |        
        <Expression> #>= <Expression> |       
        <Expression> #< <Expression> |        
        <Expression> #=< <Expression> |       
        #\ <BooleanExpression> |                       /* not */
        <BooleanExpression> #/\ <BooleanExpression> |  /* and */
        <BooleanExpression> #\/ <BooleanExpression> |  /* or */
        <BooleanExpression> #=> <BooleanExpression> |  /* imply */
        <BooleanExpression> #<=> <BooleanExpression> | /* equivalent */
        <BooleanExpression> #\ <BooleanExpression>     /* xor */
 

A Boolean constraint is made of a constraint symbol and one or two Boolean expressions.

The following constraints restrict the values of Boolean variables.


[Next] [Up] [Previous] [Contents] [Index]
Next: CLP(Set) Up: Constraints Previous: Optimization   Contents   Index
Neng-Fa Zhou () 2007-06-05