summaryrefslogtreecommitdiff
path: root/src/theory/trust_substitutions.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-12-23 14:13:03 -0600
committerGitHub <noreply@github.com>2020-12-23 14:13:03 -0600
commit2594c961105110f6fce17983bfa69f68bd9ee15e (patch)
treea6c0b6fce46c3bd512c92b0c5643f1b34e4859c5 /src/theory/trust_substitutions.cpp
parent2937d0770d448e74b5cf9f9b02de31145a7c5738 (diff)
(proof-new) Miscelleneous fixes from proof-new (#5714)
Diffstat (limited to 'src/theory/trust_substitutions.cpp')
-rw-r--r--src/theory/trust_substitutions.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/theory/trust_substitutions.cpp b/src/theory/trust_substitutions.cpp
index b289d83cc..4f174e69e 100644
--- a/src/theory/trust_substitutions.cpp
+++ b/src/theory/trust_substitutions.cpp
@@ -200,13 +200,14 @@ TrustNode TrustSubstitutionMap::apply(Node n, bool doRewrite)
}
if (!d_tspb->applyEqIntro(n, ns, pfChildren, d_ids))
{
- return TrustNode::mkTrustRewrite(n, ns, nullptr);
+ // if we fail for any reason, we must use a trusted step instead
+ d_tspb->addStep(PfRule::TRUST_SUBS_MAP, pfChildren, {eq}, eq);
}
// ------- ------- from external proof generators
// x1 = t1 ... xn = tn
// ----------------------- AND_INTRO
// ...
- // --------- MACRO_SR_EQ_INTRO
+ // --------- MACRO_SR_EQ_INTRO (or TRUST_SUBS_MAP if we failed above)
// n == ns
// add it to the apply proof generator.
//
@@ -241,6 +242,7 @@ Node TrustSubstitutionMap::getCurrentSubstitution()
{
csubsChildren.push_back(tns.getProven());
}
+ std::reverse(csubsChildren.begin(),csubsChildren.end());
d_currentSubs = NodeManager::currentNM()->mkAnd(csubsChildren);
if (d_currentSubs.get().getKind() == kind::AND)
{
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback