summaryrefslogtreecommitdiff
path: root/src/theory/arith/theory_arith.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/arith/theory_arith.h')
-rw-r--r--src/theory/arith/theory_arith.h19
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 */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback