Previously we were failing to produce proofs for purification lemmas (= t witness_form(t)) from datatypes.
break;
case InferenceId::DATATYPES_PURIFY:
{
- cdp->addStep(conc, PfRule::MACRO_SR_PRED_INTRO, {}, {});
+ cdp->addStep(conc, PfRule::MACRO_SR_PRED_INTRO, {}, {conc});
success = true;
}
break;
d_term_sk[n] = k;
Node eq = k.eqNode( n );
Trace("datatypes-infer") << "DtInfer : ref : " << eq << std::endl;
- d_im.addPendingLemma(eq, InferenceId::DATATYPES_PURIFY);
+ d_im.addPendingInference(eq, InferenceId::DATATYPES_PURIFY, d_true, true);
return k;
}else{
return (*it).second;