d_funcMap.clear();
d_tf_region.clear();
+ Trace("nl-ext-trans-init") << "TranscendentalState::init" << std::endl;
bool needPi = false;
// for computing congruence
std::map<Kind, ArgTrie> argTrie;
d_trPurifies[a] = a;
}
}
+ Trace("nl-ext-trans-init") << "extf: " << a << ", consider=" << consider << std::endl;
if (!consider)
{
// must assign a purified term
Assert(aa.getNumChildren() == a.getNumChildren());
Node mvaa = d_model.computeAbstractModelValue(a);
Node mvaaa = d_model.computeAbstractModelValue(aa);
+ Trace("nl-ext-trans-init") << "...congruent to " << aa << std::endl;
if (mvaa != mvaaa)
{
std::vector<Node> exp;
Node expn = exp.size() == 1 ? exp[0] : nm->mkNode(Kind::AND, exp);
Node cong_lemma = expn.impNode(a.eqNode(aa));
d_im.addPendingLemma(cong_lemma, InferenceId::ARITH_NL_CONGRUENCE);
+ Trace("nl-ext-trans-init") << "...needs lemma" << std::endl;
}
}
else
{
// new representative of congruence class
d_funcMap[a.getKind()].push_back(a);
+ Trace("nl-ext-trans-init") << "...new rep" << std::endl;
}
// add to congruence class
d_funcCongClass[aa].push_back(a);
regress0/nl/nta/issue8182-exact-mv-keep.smt2
regress0/nl/nta/issue8182-2-exact-mv-keep.smt2
regress0/nl/nta/issue8183-tc-pi.smt2
+ regress0/nl/nta/issue8208-red-nred.smt2
regress0/nl/nta/proj-issue403.smt2
regress0/nl/nta/proj-issue460-pi-value.smt2
regress0/nl/nta/real-pi.smt2