// // implication // part 1. // // x=3 -> y=3 // y=3 // import static choco.Choco.*; import choco.cp.model.CPModel; import choco.cp.solver.CPSolver; import choco.kernel.model.Model; import choco.kernel.solver.Solver; import choco.kernel.model.variables.integer.IntegerVariable; import choco.kernel.solver.ContradictionException; import choco.kernel.model.constraints.Constraint; public class Prop4 { public static void main(String[] args) throws ContradictionException { Model m = new CPModel(); IntegerVariable x = makeIntVar("x",0,9,"cp:enum"); IntegerVariable y = makeIntVar("y",0,9,"cp:enum"); m.addConstraint(implies(eq(x,3),eq(y,3))); m.addConstraint(eq(y,3)); Solver s = new CPSolver(); s.read(m); s.propagate(); System.out.println(s.getVar(x).pretty()); System.out.println(s.getVar(y).pretty()); // // NOTE: what value does x now have? // } }