diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-12-23 14:13:03 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-23 14:13:03 -0600 |
commit | 2594c961105110f6fce17983bfa69f68bd9ee15e (patch) | |
tree | a6c0b6fce46c3bd512c92b0c5643f1b34e4859c5 /src/theory/trust_substitutions.cpp | |
parent | 2937d0770d448e74b5cf9f9b02de31145a7c5738 (diff) |
(proof-new) Miscelleneous fixes from proof-new (#5714)
Diffstat (limited to 'src/theory/trust_substitutions.cpp')
-rw-r--r-- | src/theory/trust_substitutions.cpp | 6 |
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) { |