diff options
author | Clark Barrett <barrett@cs.nyu.edu> | 2012-10-04 17:45:56 +0000 |
---|---|---|
committer | Clark Barrett <barrett@cs.nyu.edu> | 2012-10-04 17:45:56 +0000 |
commit | 930601b40c68d959e66abc71da6ff3296860952e (patch) | |
tree | 3172d5e8eb1177de6a4d57a8bed1dc4e0147d53b /src/theory/model.h | |
parent | edc69feaf7b41e0166f172d943b0d981f392474a (diff) |
Implemented array type enumerator, more fixes for models
Diffstat (limited to 'src/theory/model.h')
-rw-r--r-- | src/theory/model.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/theory/model.h b/src/theory/model.h index 90cd1e35a..0a846a3c6 100644 --- a/src/theory/model.h +++ b/src/theory/model.h @@ -19,7 +19,7 @@ #ifndef __CVC4__THEORY_MODEL_H #define __CVC4__THEORY_MODEL_H -#include "util/model.h" +#include "util/util_model.h" #include "theory/uf/equality_engine.h" #include "theory/rep_set.h" #include "theory/substitutions.h" @@ -193,7 +193,9 @@ private: else { te = (*it).second; } - Assert(!te->isFinished()); + if (te->isFinished()) { + return Node(); + } iterator itSet = d_typeSet.find(t); std::set<Node>* s; @@ -206,7 +208,9 @@ private: } Node n = **te; while (s->find(n) != s->end()) { - Assert(!te->isFinished()); + if (te->isFinished()) { + return Node(); + } ++(*te); n = **te; } @@ -254,7 +258,7 @@ protected: /** choose representative for unconstrained equivalence class */ virtual Node chooseRepresentative(TheoryModel* m, Node eqc, bool fullModel); /** normalize representative */ - Node normalize(TheoryModel* m, TNode r, std::map<Node, Node>& constantReps); + Node normalize(TheoryModel* m, TNode r, std::map<Node, Node>& constantReps, bool evalOnly); public: TheoryEngineModelBuilder(TheoryEngine* te); virtual ~TheoryEngineModelBuilder(){} |