You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
iff with more than two arguments: the arguments after the second one are ignored #74
that is to say all the tuples where a = b, whatever the value of c.
Expected: the value of c should be taken into account. The specification writes x1 ⇔ ... ⇔ xr (Table 4.1 of XCSP3-Core); ACE considers that all the arguments must be equivalent (solutions 0 0 0 and 1 1 1), and CHOCO computes a ⇔ (b ⇔ c) (solutions 0 0 1, 0 1 0, 1 0 0, 1 1 1). The semantics is discussed in xcsp3team/pycsp3#102, but in both cases, c matters.
In PyCSP3: satisfy(iff(x > 0, y > 0, b)).
Tests:test_xor_iff_imply[COSOCO-iff(x > 0, y > 0, b)] in pycsp3/tests/test_constraints_intension.py of xcsp3team/pycsp3.
Results of the other solvers
On the instance above (with java -jar ACE-2.6.jar model.xml -s=all -xe -xc=false and java -cp choco-parsers-4.10.15-beta.jar org.chocosolver.parser.xcsp.ChocoXCSP model.xml -a -f -flt):
ACE gives 2 solutions: (0, 0, 0), (1, 1, 1) (all the arguments are equivalent);
Activity
Add the unit tests of the section Constraints (Intension) of the API
Revert the conjunction of binary equivalences for iff() with more tha…
audemard commentedon Sep 16, 2026
fix (in XCSP-CPP-Parser)