if (isProofEnabled() && !options::dtStcInduction()
&& !options::intWfInduction())
{
+ ProofNodeManager * pnm = d_env.getProofNodeManager();
// if using proofs and not using induction, we use the justified
// skolemization
NodeManager* nm = NodeManager::currentNM();
Node existsq = nm->mkNode(EXISTS, echildren);
Node res = skm->mkSkolemize(existsq, d_skolem_constants[q], "skv");
Node qnot = q.notNode();
- CDProof cdp(d_pnm);
+ CDProof cdp(pnm);
cdp.addStep(res, PfRule::SKOLEMIZE, {qnot}, {});
std::shared_ptr<ProofNode> pf = cdp.getProofFor(res);
std::vector<Node> assumps;
assumps.push_back(qnot);
- std::shared_ptr<ProofNode> pfs = d_pnm->mkScope({pf}, assumps);
+ std::shared_ptr<ProofNode> pfs = pnm->mkScope({pf}, assumps);
lem = nm->mkNode(IMPLIES, qnot, res);
d_epg->setProofFor(lem, pfs);
pg = d_epg.get();
std::unordered_map<Node, std::vector<Node>> d_skolem_constants;
/** map from quantified formulas to their skolemized body */
std::unordered_map<Node, Node> d_skolem_body;
- /** Pointer to the proof node manager */
- ProofNodeManager* d_pnm;
/** Eager proof generator for skolemization lemmas */
std::unique_ptr<EagerProofGenerator> d_epg;
};