FD Expression | Result |
Prolog variable | domain 0..1 |
FD variable X | domain of X, X is constrained to be in 0..1 |
0 (integer) | 0 (false) |
1 (integer) | 1 (true) |
#\ E | not E |
E1 #<=> E2 | E1 equivalent to E2 |
E1 #\<=> E2 | E1 not equivalent to E2 (i.e. E1 different from E2) |
E1 ## E2 | E1 exclusive OR E2 (i.e. E1 not equivalent to E2) |
E1 #==> E2 | E1 implies E2 |
E1 #\==> E2 | E1 does not imply E2 |
E1 #/\ E2 | E1 AND E2 |
E1 #\/\ E2 | E1 NAND E2 |
E1 #\/ E2 | E1 OR E2 |
E1 #\\/ E2 | E1 NOR E2 |
a sub-expression E is neither a variable nor an integer (0 or 1) nor an FD boolean functor nor reified constraint | type_error(fd_bool_evaluable, E) | ||
an expression is too complex | resource_error(too_big_fd_constraint) | ||
a sub-expression is an invalid reified constraint | an arithmetic constraint error (section 8.6.1) | ||
List is a partial list | instantiation_error | ||
List is neither a partial list nor a list | type_error(list, List) | ||
Count is neither an FD variable nor an integer | type_error(fd_variable, Count) | ||
Lower is a variable | instantiation_error | ||
Lower is neither a variable nor an integer | type_error(integer, Lower) | ||
Upper is a variable | instantiation_error | ||
Upper is neither a variable nor an integer | type_error(integer, Upper) | ||
an element E of the List list is an invalid boolean expression | an FD boolean constraint (section 8.7.1) | ||