diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2021-06-07 12:44:20 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-07 17:44:20 +0000 |
commit | 7e9e71c7bd2bcbdcb2cef0d8f99bf34082bf4081 (patch) | |
tree | 201fe80043ddb91a72f56f34c2906ef990ad6faf /src/theory/builtin | |
parent | 4cb2b23322794fc684db4f4a9f9e14e0157c83b0 (diff) |
(proof-new) Fix missing connection in trust substitution proofs (#6685)
This PR fixes a missing connection in trust substitution proofs, which was the cause of open proofs when solved equalities from ppAssert were not justified by proofs.
Also distinguishes TRUST_SUBS_EQ from TRUST_SUBS_MAP for clarity.
Diffstat (limited to 'src/theory/builtin')
-rw-r--r-- | src/theory/builtin/proof_checker.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/theory/builtin/proof_checker.cpp b/src/theory/builtin/proof_checker.cpp index 7ec0525c9..dae3922e6 100644 --- a/src/theory/builtin/proof_checker.cpp +++ b/src/theory/builtin/proof_checker.cpp @@ -52,6 +52,7 @@ void BuiltinProofRuleChecker::registerTo(ProofChecker* pc) pc->registerTrustedChecker(PfRule::TRUST_REWRITE, this, 1); pc->registerTrustedChecker(PfRule::TRUST_SUBS, this, 1); pc->registerTrustedChecker(PfRule::TRUST_SUBS_MAP, this, 1); + pc->registerTrustedChecker(PfRule::TRUST_SUBS_EQ, this, 3); } Node BuiltinProofRuleChecker::applySubstitutionRewrite( @@ -399,7 +400,7 @@ Node BuiltinProofRuleChecker::checkInternal(PfRule id, || id == PfRule::THEORY_EXPAND_DEF || id == PfRule::WITNESS_AXIOM || id == PfRule::THEORY_LEMMA || id == PfRule::THEORY_REWRITE || id == PfRule::TRUST_REWRITE || id == PfRule::TRUST_SUBS - || id == PfRule::TRUST_SUBS_MAP) + || id == PfRule::TRUST_SUBS_MAP || id == PfRule::TRUST_SUBS_EQ) { // "trusted" rules Assert(!args.empty()); |