// square1,0={4,5,6,7,8,9...,14} square1,1={7,8,9,10,11,12...,14} square1,2={4,5,6,7,8,9...,10} square1,3={1,4,5,6,7,8...,15}
// square2,0={4,5,6,7,8,9...,14} square2,1={6,7,8,9,10,11...,12} square2,2={4,5,6,7,8,9...,10} square2,3={1,4,5,6,7,8...,15}
// square3,0={14,15} square3,1={1,4,5,6,7,8...,8} square3,2={4,5,6,7,8,9...,10} square3,3={8,9,10,11,12,14...,15}
//[R]!square3,0 == 14 (1)
Solver solver = modeler(4);
solver.propagate();
int offset = 2;
Variable[] vars = solver.getVars();
((IntVar) vars[0+offset]).instantiateTo(2, Cause.Null);
solver.propagate();
((IntVar) vars[3+offset]).instantiateTo(3, Cause.Null);