From b75f48683c08e66e0d47d29c5262f32f33b36c49 Mon Sep 17 00:00:00 2001 From: Haniel Barbosa Date: Mon, 5 Apr 2021 15:47:40 -0300 Subject: [proof-new] Registering proof checkers uniformly from the SMT solver (#6275) Each theory has its own proof checker, responsible for checking the rules pertaining to that theory. The main proof checker uses these specialized checkers. Previously the main proof checker (of the proof node manager used across the SMT solver) was connected to these theory proof checkers during initialization of the theory. This commit adds an interface to the theories for retrieving its proof checker (analogous to how one retrieves the rewriter of a theory) which is used by a new method in the theory engine to register a theory proof checker to a given proof checker according to a theory id. This is in preparation for the new unsat cores based on proofs. --- src/theory/bv/bv_solver_simple.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/theory/bv/bv_solver_simple.cpp') diff --git a/src/theory/bv/bv_solver_simple.cpp b/src/theory/bv/bv_solver_simple.cpp index c96e8d0bc..7049044d4 100644 --- a/src/theory/bv/bv_solver_simple.cpp +++ b/src/theory/bv/bv_solver_simple.cpp @@ -74,10 +74,6 @@ BVSolverSimple::BVSolverSimple(TheoryState* s, d_epg(pnm ? new EagerProofGenerator(pnm, s->getUserContext(), "") : nullptr) { - if (pnm != nullptr) - { - d_bvProofChecker.registerTo(pnm->getChecker()); - } } void BVSolverSimple::addBBLemma(TNode fact) @@ -149,6 +145,8 @@ bool BVSolverSimple::collectModelValues(TheoryModel* m, return d_bitblaster->collectModelValues(m, termSet); } +BVProofRuleChecker* BVSolverSimple::getProofChecker() { return &d_checker; } + } // namespace bv } // namespace theory } // namespace cvc5 -- cgit v1.2.3