CegHandledStatus CegInstantiator::isCbqiQuant(Node q, QuantifiersEngine* qe)
{
+ Assert(q.getKind() == FORALL);
// compute attributes
QAttributes qa;
QuantAttributes::computeQuantAttributes(q, qa);
void QuantDSplit::checkOwnership(Node q)
{
+ // If q is non-standard (marked as sygus, quantifier elimination, etc.), then
+ // do no split it.
+ QAttributes qa;
+ QuantAttributes::computeQuantAttributes(q, qa);
+ if (!qa.isStandard())
+ {
+ return;
+ }
int max_index = -1;
int max_score = -1;
Trace("quant-dsplit-debug") << "Check split quantified formula : " << q << std::endl;
Trace("cegqi-si") << "Single invocation formula is : " << d_single_inv
<< std::endl;
// check whether we can handle this quantified formula
- CegHandledStatus status = CegInstantiator::isCbqiQuant(d_single_inv);
+ CegHandledStatus status = CEG_HANDLED;
+ if (d_single_inv.getKind() == FORALL)
+ {
+ status = CegInstantiator::isCbqiQuant(d_single_inv);
+ }
Trace("cegqi-si") << "CegHandledStatus is " << status << std::endl;
if (status < CEG_HANDLED)
{