diff options
author | Gereon Kremer <gkremer@stanford.edu> | 2020-12-17 17:12:15 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-17 17:12:15 +0100 |
commit | 1753106f61bca87513a84493b643e2a7e245e0f5 (patch) | |
tree | d2d24cb98a66c06a3c533eaaa56ed6462c9c713b /src/theory/arith/nl/nonlinear_extension.cpp | |
parent | bdcb62974f553acd47fdb04f8d95725489328139 (diff) |
(proof-new) Prepare nonlinear extension and nl-ext for proofs. (#5697)
This PR prepares the nonlinear extension itself and the nl-ext part for proofs. In particular
we add a proof checker for nl-ext
we add a CDProofSet for nl-ext
Diffstat (limited to 'src/theory/arith/nl/nonlinear_extension.cpp')
-rw-r--r-- | src/theory/arith/nl/nonlinear_extension.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/theory/arith/nl/nonlinear_extension.cpp b/src/theory/arith/nl/nonlinear_extension.cpp index dff43e568..e4a71b34d 100644 --- a/src/theory/arith/nl/nonlinear_extension.cpp +++ b/src/theory/arith/nl/nonlinear_extension.cpp @@ -35,7 +35,8 @@ namespace nl { NonlinearExtension::NonlinearExtension(TheoryArith& containing, ArithState& state, - eq::EqualityEngine* ee) + eq::EqualityEngine* ee, + ProofNodeManager* pnm) : d_containing(containing), d_im(containing.getInferenceManager()), d_needsLastCall(false), @@ -47,7 +48,7 @@ NonlinearExtension::NonlinearExtension(TheoryArith& containing, containing.getOutputChannel()), d_model(containing.getSatContext()), d_trSlv(d_im, d_model), - d_extState(d_im, d_model, containing.getSatContext()), + d_extState(d_im, d_model, pnm, containing.getUserContext()), d_factoringSlv(d_im, d_model), d_monomialBoundsSlv(&d_extState), d_monomialSlv(&d_extState), @@ -67,6 +68,12 @@ NonlinearExtension::NonlinearExtension(TheoryArith& containing, d_zero = NodeManager::currentNM()->mkConst(Rational(0)); d_one = NodeManager::currentNM()->mkConst(Rational(1)); d_neg_one = NodeManager::currentNM()->mkConst(Rational(-1)); + + ProofChecker* pc = pnm != nullptr ? pnm->getChecker() : nullptr; + if (pc != nullptr) + { + d_proofChecker.registerTo(pc); + } } NonlinearExtension::~NonlinearExtension() {} |