diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2021-03-11 03:21:06 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-11 09:21:06 +0000 |
commit | 71e843a8e9e88fc739aaa5a4a5d608004648fafa (patch) | |
tree | 6f18912dfcb230139bbb6bdb68b38400d23d7eff /src/theory/arith | |
parent | 223155cfb300458f534f4be6b88e5fdc17b0ff14 (diff) |
(proof-new) Clean up uses of witness with skolem lemmas (#6109)
This ensures we do not return WITNESS terms in response to ppRewrite. This makes standard utility methods in SkolemLemma to help make this easy.
It also removes TheorySetsPrivate::expandDefinitions, which was returning WITNESS in response to expandDefinitions, which is no longer permitted.
Diffstat (limited to 'src/theory/arith')
-rw-r--r-- | src/theory/arith/operator_elim.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/theory/arith/operator_elim.cpp b/src/theory/arith/operator_elim.cpp index 100116fd7..ab01960dd 100644 --- a/src/theory/arith/operator_elim.cpp +++ b/src/theory/arith/operator_elim.cpp @@ -481,18 +481,16 @@ Node OperatorElim::mkWitnessTerm(Node v, // we mark that we should send a lemma Node k = sm->mkSkolem(v, pred, prefix, comment, NodeManager::SKOLEM_DEFAULT, this); - TNode tv = v; - TNode tk = k; - Node lem = pred.substitute(tv, tk); if (d_pnm != nullptr) { + Node lem = SkolemLemma::getSkolemLemmaFor(k); TrustNode tlem = mkTrustNode(lem, PfRule::THEORY_PREPROCESS_LEMMA, {}, {lem}); lems.push_back(SkolemLemma(tlem, k)); } else { - lems.push_back(SkolemLemma(TrustNode::mkTrustLemma(lem), k)); + lems.push_back(SkolemLemma(k, nullptr)); } return k; } |