summaryrefslogtreecommitdiff
path: root/src/theory/arith
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2021-03-11 03:21:06 -0600
committerGitHub <noreply@github.com>2021-03-11 09:21:06 +0000
commit71e843a8e9e88fc739aaa5a4a5d608004648fafa (patch)
tree6f18912dfcb230139bbb6bdb68b38400d23d7eff /src/theory/arith
parent223155cfb300458f534f4be6b88e5fdc17b0ff14 (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.cpp6
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;
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback