diff options
Diffstat (limited to 'src/theory/arith/theory_arith.h')
-rw-r--r-- | src/theory/arith/theory_arith.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/theory/arith/theory_arith.h b/src/theory/arith/theory_arith.h index 4851f1c5d..30ad724cc 100644 --- a/src/theory/arith/theory_arith.h +++ b/src/theory/arith/theory_arith.h @@ -25,12 +25,15 @@ namespace CVC4 { namespace theory { - namespace arith { +namespace nl { +class NonlinearExtension; +} + /** - * Implementation of QF_LRA. - * Based upon: + * Implementation of linear and non-linear integer and real arithmetic. + * The linear arithmetic solver is based upon: * http://research.microsoft.com/en-us/um/people/leonardo/cav06.pdf */ class TheoryArith : public Theory { @@ -78,6 +81,11 @@ class TheoryArith : public Theory { TrustNode explain(TNode n) override; bool collectModelInfo(TheoryModel* m) override; + /** + * Collect model values in m based on the relevant terms given by termSet. + */ + bool collectModelValues(TheoryModel* m, + const std::set<Node>& termSet) override; void shutdown() override {} @@ -110,6 +118,11 @@ class TheoryArith : public Theory { /** The arith::InferenceManager. */ InferenceManager d_inferenceManager; + /** + * The non-linear extension, responsible for all approaches for non-linear + * arithmetic. + */ + std::unique_ptr<nl::NonlinearExtension> d_nonlinearExtension; };/* class TheoryArith */ }/* CVC4::theory::arith namespace */ |