code: public static void postImplies(ReconfigurationProblem rp, BoolVar b1, Constraint c2) {
          Model s = rp.getModel();
          BoolVar bC2 = s.boolVar(rp.makeVarLabel(c2.toString(), " satisfied"));
          c2.reifyWith(bC2);
  
          BoolVar notB1 = b1.not();
          s.post(rp.getModel().arithm(b1, "!=", notB1));
  
          s.post(rp.getModel().or(notB1, bC2));
      }
docs: Make and post an implies constraint where the first operand is a boolean: b1 -> c2.
  The constraint is translated into (or(not(b1,c2))
  
  @param rp the problem to solve
  @param b1 the first constraint as boolean
  @param c2 the second constraint