if( d_vars[j].getKind()!=BOUND_VARIABLE ){\r
bool beneathQuant = d_nbeneathQuant.find( d_vars[j] )==d_nbeneathQuant.end();\r
d_var_mg[j] = new MatchGen( this, d_vars[j], true, beneathQuant );\r
- if( !d_var_mg[j]->isValid() && options::qcfMode()<QCF_PARTIAL ){\r
+ if( !d_var_mg[j]->isValid() ){\r
d_mg->setInvalid();\r
break;\r
}else{\r
Node nn = n.eqNode( n[i] );\r
d_children.push_back( MatchGen( qi, nn ) );\r
d_children[d_children.size()-1].d_qni_bound_except.push_back( 0 );\r
- if( !d_children[d_children.size()-1].isValid() && options::qcfMode()<QCF_PARTIAL ){\r
+ if( !d_children[d_children.size()-1].isValid() ){\r
setInvalid();\r
break;\r
}\r
for( unsigned i=0; i<d_n.getNumChildren(); i++ ){\r
if( d_n.getKind()!=FORALL || i==1 ){\r
d_children.push_back( MatchGen( qi, d_n[i], false, nBeneathQuant ) );\r
- if( !d_children[d_children.size()-1].isValid() && options::qcfMode()<QCF_PARTIAL ){\r
+ if( !d_children[d_children.size()-1].isValid() ){\r
setInvalid();\r
break;\r
}\r
\r
//set up processing matches\r
if( d_type==typ_invalid ){\r
- if( p->d_effort==QuantConflictFind::effort_partial ){\r
- d_child_counter = 0;\r
- }\r
+ //do nothing : return success once?\r
}else if( d_type==typ_ground ){\r
if( d_ground_eval[0]==( d_tgt ? p->d_true : p->d_false ) ){\r
d_child_counter = 0;\r
d_qn.push_back( NULL );\r
}else{\r
if( d_tgt && d_n.getKind()==FORALL ){\r
- //return success once\r
- if( p->d_effort==QuantConflictFind::effort_partial ){\r
- d_child_counter = -2;\r
- }\r
+ //do nothing\r
}else{\r
//reset the first child to d_tgt\r
d_child_counter = 0;\r
return effort_conflict;\r
}else if( options::qcfMode()==QCF_PROP_EQ ){\r
return effort_prop_eq;\r
- }else if( options::qcfMode()==QCF_PARTIAL ){\r
- return effort_partial;\r
}else if( options::qcfMode()==QCF_MC ){\r
return effort_mc;\r
}else{\r
}\r
}\r
\r
-\r
-\r
if( Trace.isOn("qcf-debug") ){\r
Trace("qcf-debug") << std::endl;\r
debugPrint("qcf-debug");\r
double clSet2 = double(clock())/double(CLOCKS_PER_SEC);\r
Trace("qcf-engine") << "Finished conflict find engine, time = " << (clSet2-clSet);\r
if( addedLemmas>0 ){\r
- Trace("qcf-engine") << ", effort = " << ( d_effort==effort_conflict ? "conflict" : ( d_effort==effort_prop_eq ? "prop_eq" : (d_effort==effort_partial ? "partial" : "mc" ) ) );\r
+ Trace("qcf-engine") << ", effort = " << ( d_effort==effort_conflict ? "conflict" : ( d_effort==effort_prop_eq ? "prop_eq" : "mc" ) );\r
Trace("qcf-engine") << ", addedLemmas = " << addedLemmas;\r
}\r
Trace("qcf-engine") << std::endl;\r
}else{\r
d_eqcs[rtn].push_back( r );\r
}
+ /*\r
eq::EqClassIterator eqc_i = eq::EqClassIterator( r, getEqualityEngine() );\r
while( !eqc_i.isFinished() ){\r
TNode n = (*eqc_i);\r
}\r
++eqc_i;\r
}
-\r
+\r */\r
+
//if( r.getType().isInteger() ){\r
// Trace("qcf-mv") << "Model value for eqc(" << r << ") : " << d_quantEngine->getValuation().getModelValue( r ) << std::endl;\r
//}\r