| Constraint | JaCoP specification |
|
|
| ¬c | Not(c); |
| c1 ⇔ c2 | Eq(c1, c2); |
c1 ∧ c2 ∧ ∧ cn | PrimitiveConstraint[] c = {c1, c2, …cn}; |
| | And(c); |
| | or |
| | ArrayList c = |
| | new ArrayList(); |
| | c.add(c1); c.add(c2); …c.add(cn); |
| | And(c); |
c1 ∨ c2 ∨ ∨ cn | PrimitiveConstraint[] c = {c1, c2, …cn}; |
| | Or(c); |
| | or |
| | ArrayList c = |
| | new ArrayList(); |
| | c.add(c1); c.add(c2); …c.add(cn); |
| | Or(c); |
| a1 ∨ ... ∨ an ∨b1 ∨ ... ∨bm | BooleanVar[] a = {a1, a2, …, an}; |
| | BooleanVar[] b = {b1, b2, …, bm}; |
| | BoolClause(a, b) |
| X in Dom | In(X, Dom); |
| c ⇔ B | Reified(c, B); |
| c ⇔¬B | Xor(c, B); |
| if c1 then c2 | IfThen(c1, c2); |
| if c1 then c2 else c3 | IfThenElse(c1, c2, c3); |
| | |
| Boolean operations on variables | |
| | BooleanVar[] b = {b1, b2, …, bn}; |
| | or |
| | ArrayList b = new ArrayList |
| | b.add(b1); b.add(b2); …b.add(bn); |
| | BoolanVariable result = new BooleanVar(store, "result"); |
result = b1 ∧ b2 ∧ ∧ bn | AndBool(b, result) |
result = b1 ∨ b2 ∨ ∨ bn | OrBool(b, result) |
result = b1 ⊕ b2 ⊕ bn | XorBool(b, result) |
| result = b1 → b2 | IfThenBool(b1, b2, result) |
result = b1 == b2 == == bn | EqBool(b, result) |
| |