Example #1
0
 private void fixpoint() throws ContradictionException {
   try {
     while (toCheck.size() > 0) {
       int vidx = toCheck.pop();
       int val = vars[vidx].getValue();
       for (int i = 0; i < n; i++) {
         if (i != vidx) {
           if (vars[i].removeValue(val, aCause)) {
             if (vars[i].instantiated()) {
               toCheck.push(i);
             }
           }
         }
       }
     }
   } catch (ContradictionException cex) {
     toCheck.clear();
     throw cex;
   }
 }