return false;
}
}
- for( std::map< int, TNode >::iterator it = d_qni_gterm.begin(); it != d_qni_gterm.end(); ++it ){
- d_qni_gterm_rep[it->first] = p->getRepresentative( it->second );
- }
if( d_type==typ_ground ){
// int e = p->evaluate( d_n );
// if( e==1 ){
if( d_type==typ_pred ){
nn[0] = qi->getCurrentValue( d_n );
vn[0] = qi->getCurrentRepVar( qi->getVarNum( nn[0] ) );
- nn[1] = p->getRepresentative( d_tgt ? p->d_true : p->d_false );
+ nn[1] = d_tgt ? p->d_true : p->d_false;
vn[1] = -1;
d_tgt = true;
}else{
for( unsigned i=0; i<2; i++ ){
TNode nc;
- std::map< int, TNode >::iterator it = d_qni_gterm_rep.find( i );
- if( it!=d_qni_gterm_rep.end() ){
+ std::map<int, TNode>::iterator it = d_qni_gterm.find(i);
+ if (it != d_qni_gterm.end())
+ {
nc = it->second;
}else{
nc = d_n[i];
}else{
Debug("qcf-match-debug") << " Match " << index << " is ground term" << std::endl;
Assert(d_qni_gterm.find(index) != d_qni_gterm.end());
- Assert(d_qni_gterm_rep.find(index) != d_qni_gterm_rep.end());
- val = d_qni_gterm_rep[index];
+ val = d_qni_gterm[index];
Assert(!val.isNull());
}
if( !val.isNull() ){
+ Node valr = p->getRepresentative(val);
//constrained by val
std::map<TNode, TNodeTrie>::iterator it =
- d_qn[index]->d_data.find(val);
+ d_qn[index]->d_data.find(valr);
if( it!=d_qn[index]->d_data.end() ){
Debug("qcf-match-debug") << " Match" << std::endl;
d_qni.push_back( it );
unsigned d_qni_size;
std::map< int, int > d_qni_var_num;
std::map< int, TNode > d_qni_gterm;
- std::map< int, TNode > d_qni_gterm_rep;
std::map< int, int > d_qni_bound;
std::vector< int > d_qni_bound_except;
std::map< int, TNode > d_qni_bound_cons;
regress0/quantifiers/issue2035.smt2
regress0/quantifiers/issue3655.smt2
regress0/quantifiers/issue4086-infs.smt2
+ regress0/quantifiers/issue4275-qcf-cegqi-rep.smt2
regress0/quantifiers/lra-triv-gn.smt2
regress0/quantifiers/macros-int-real.smt2
regress0/quantifiers/macros-real-arg.smt2