Fixed bug in model builder with subtypes
authorClark Barrett <barrett@cs.nyu.edu>
Sat, 8 Nov 2014 00:40:54 +0000 (16:40 -0800)
committerClark Barrett <barrett@cs.nyu.edu>
Sat, 8 Nov 2014 00:41:19 +0000 (16:41 -0800)
src/theory/theory_model.cpp

index b67140db88ffe2c5c66575839baa008ad6ca580e..33f6ca9c898e5cb7fb0b93d0e6e3e3dc1f32bef8 100644 (file)
@@ -552,7 +552,7 @@ void TheoryEngineModelBuilder::buildModel(Model* m, bool fullModel)
     else if (!rep.isNull()) {
       assertedReps[eqc] = rep;
       typeRepSet.add(eqct.getBaseType(), eqc);
-      allTypes.insert(eqct);
+      allTypes.insert(eqct.getBaseType());
     }
     else {
       typeNoRepSet.add(eqct, eqc);
@@ -642,7 +642,7 @@ void TheoryEngineModelBuilder::buildModel(Model* m, bool fullModel)
             Trace("model-builder") << "    Normalizing rep (" << rep << "), normalized to (" << normalized << ")" << endl;
             if (normalized.isConst()) {
               changed = true;
-              typeConstSet.add(t.getBaseType(), normalized);
+              typeConstSet.add(tb, normalized);
               constantReps[*i] = normalized;
               assertedReps.erase(*i);
               i2 = i;