summaryrefslogtreecommitdiff
path: root/src/theory/builtin
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-08-18 16:42:22 -0500
committerGitHub <noreply@github.com>2020-08-18 16:42:22 -0500
commit77fdb2327ae969a7d97b6eb67ad3526d78867b3a (patch)
tree8a16e05c53feca4085254566e7a15e1b14310704 /src/theory/builtin
parentaa8da1ff4e7f119408dbf14074b9a5efcb06618b (diff)
(proof-new) Theory preprocessor proof producing (#4807)
This makes the theory preprocessor proof producing in the new infrastructure, which involves updating its interfaces to TrustNode in a few places.
Diffstat (limited to 'src/theory/builtin')
-rw-r--r--src/theory/builtin/proof_checker.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/theory/builtin/proof_checker.cpp b/src/theory/builtin/proof_checker.cpp
index 05c17dedf..7521d116e 100644
--- a/src/theory/builtin/proof_checker.cpp
+++ b/src/theory/builtin/proof_checker.cpp
@@ -61,9 +61,13 @@ void BuiltinProofRuleChecker::registerTo(ProofChecker* pc)
pc->registerChecker(PfRule::MACRO_SR_PRED_ELIM, this);
pc->registerChecker(PfRule::MACRO_SR_PRED_TRANSFORM, this);
pc->registerChecker(PfRule::THEORY_REWRITE, this);
- pc->registerChecker(PfRule::PREPROCESS, this);
- pc->registerChecker(PfRule::WITNESS_AXIOM, this);
pc->registerChecker(PfRule::REMOVE_TERM_FORMULA_AXIOM, this);
+ // trusted rules
+ pc->registerTrustedChecker(PfRule::PREPROCESS, this, 2);
+ pc->registerTrustedChecker(PfRule::PREPROCESS_LEMMA, this, 2);
+ pc->registerTrustedChecker(PfRule::THEORY_PREPROCESS, this, 2);
+ pc->registerTrustedChecker(PfRule::THEORY_PREPROCESS_LEMMA, this, 2);
+ pc->registerTrustedChecker(PfRule::WITNESS_AXIOM, this, 2);
}
Node BuiltinProofRuleChecker::applyTheoryRewrite(Node n, bool preRewrite)
@@ -330,7 +334,10 @@ Node BuiltinProofRuleChecker::checkInternal(PfRule id,
Assert(args.size() == 1);
return RemoveTermFormulas::getAxiomFor(args[0]);
}
- else if (id == PfRule::PREPROCESS || id == PfRule::WITNESS_AXIOM)
+ else if (id == PfRule::PREPROCESS || id == PfRule::PREPROCESS_LEMMA
+ || id == PfRule::THEORY_PREPROCESS
+ || id == PfRule::THEORY_PREPROCESS_LEMMA
+ || id == PfRule::WITNESS_AXIOM)
{
Assert(children.empty());
Assert(args.size() == 1);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback