This changes things so we process inferences with AND conclusions as lemmas always.
This fixes #6056, that benchmark times out.
{
Assert(!d_conc.isNull());
TNode atom = d_conc.getKind() == kind::NOT ? d_conc[0] : d_conc;
- return !atom.isConst() && atom.getKind() != kind::OR && d_noExplain.empty();
+ // we could process inferences with conjunctive conclusions as facts, where
+ // the explanation is copied. However, for simplicity, we always send these
+ // as lemmas. This case happens very infrequently.
+ return !atom.isConst() && atom.getKind() != kind::OR
+ && atom.getKind() != kind::AND && d_noExplain.empty();
}
Node InferInfo::getPremises() const