summaryrefslogtreecommitdiff
path: root/src/theory/arith/nl/cad_solver.h
diff options
context:
space:
mode:
authorGereon Kremer <gereon.kremer@cs.rwth-aachen.de>2021-02-24 16:04:59 +0100
committerGitHub <noreply@github.com>2021-02-24 16:04:59 +0100
commit6478f414ad7d6dcbf597db037e81d97175757605 (patch)
tree976de5c11f2cf0b32005fe85b90f6b2d586c2213 /src/theory/arith/nl/cad_solver.h
parent6d45b6fb6f797eb9dc51ea70b20ec875d1dfe49d (diff)
(proof-new) Add proofs for CAD solver (#5981)
This PR adds proofs for the CAD solver, based on the proof generator from the previous PR. Note that the level of detail of these CAD proofs is significantly higher than for other proofs. Making these proofs more fine-grained and maybe at some point accessible to proof checkers is probably still quite a bit of work. Thus, the CAD proof rules are both trusted rules for now.
Diffstat (limited to 'src/theory/arith/nl/cad_solver.h')
-rw-r--r--src/theory/arith/nl/cad_solver.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/theory/arith/nl/cad_solver.h b/src/theory/arith/nl/cad_solver.h
index 4d537213f..21fbbab2e 100644
--- a/src/theory/arith/nl/cad_solver.h
+++ b/src/theory/arith/nl/cad_solver.h
@@ -20,6 +20,7 @@
#include "expr/node.h"
#include "theory/arith/inference_manager.h"
#include "theory/arith/nl/cad/cdcac.h"
+#include "theory/arith/nl/cad/proof_checker.h"
#include "theory/arith/nl/nl_model.h"
namespace CVC4 {
@@ -34,7 +35,10 @@ namespace nl {
class CadSolver
{
public:
- CadSolver(InferenceManager& im, NlModel& model);
+ CadSolver(InferenceManager& im,
+ NlModel& model,
+ context::Context* ctx,
+ ProofNodeManager* pnm);
~CadSolver();
/**
@@ -81,6 +85,8 @@ class CadSolver
* The object implementing the actual decision procedure.
*/
cad::CDCAC d_CAC;
+ /** The proof checker for cad proofs */
+ cad::CADProofRuleChecker d_proofChecker;
#endif
/**
* Indicates whether we found satisfiability in the last call to
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback