/* import choco.Problem; import choco.ContradictionException; import choco.integer.*; import choco.Constraint; import choco.Solver; import choco.Solution; */ import static choco.Choco.*; import choco.cp.model.CPModel; import choco.cp.solver.CPSolver; import choco.kernel.model.Model; import choco.kernel.model.constraints.Constraint; import choco.kernel.solver.Solver; import choco.kernel.solver.ContradictionException; import choco.kernel.model.variables.integer.IntegerExpressionVariable; import choco.kernel.model.variables.integer.IntegerVariable; public class Or { public static void main(String[] args) throws ContradictionException { Model m = new CPModel(); IntegerVariable x = makeIntVar("x",1,3); IntegerVariable y = makeIntVar("y",1,2); IntegerVariable z = makeIntVar("z",1,1); Constraint U1 = and(eq(x,y),and(lt(z,y),lt(z,x))); Constraint U2 = and(eq(x,z),and(lt(y,z),lt(y,x))); Constraint U3 = and(eq(y,z),and(lt(x,z),lt(x,y))); Constraint U4 = and(eq(x,y),and(eq(y,z),eq(x,z))); Constraint U5 = or(U1,or(U2,or(U3,U4))); m.addConstraint(U5); Solver s = new CPSolver(); s.read(m); System.out.println(s.getVar(x).pretty()); System.out.println(s.getVar(y).pretty()); System.out.println(s.getVar(z).pretty()); s.propagate(); System.out.println(s.getVar(x).pretty()); System.out.println(s.getVar(y).pretty()); System.out.println(s.getVar(z).pretty()); } }