public boolean implies(Node a, Node b, ExampleCalculator example) throws TimeoutException { if (b == null) return true; if (!strategy.contains(Strategy.SingleTesting)) { Node node = new And(a.clone(), new Not(b.clone())); SatSolver solver = new SatSolver(node, timeout); return !solver.isSatisfiable(); } example.setLeft(a); example.setRight(b); return !example.findSatisfiable(strategy.contains(Strategy.SingleTestingAborted)); }
public Configuration calculateExample(boolean added) throws TimeoutException { return added ? addedProducts.nextExample() : removedProducts.nextExample(); }