We don't run check-model for models with approximate values, however we were still running the internal debugCheckModel method, which leads to assertion failures. This disables this check.
Fixes #3652.
{
#ifdef CVC4_ASSERTIONS
Assert(tm->isBuilt());
+ if (tm->hasApproximations())
+ {
+ // models with approximations may fail the assertions below
+ return;
+ }
eq::EqClassesIterator eqcs_i = eq::EqClassesIterator(tm->d_equalityEngine);
std::map<Node, Node>::iterator itMap;
// Check that every term evaluates to its representative in the model
regress0/nl/issue3407.smt2
regress0/nl/issue3411.smt2
regress0/nl/issue3475.smt2
+ regress0/nl/issue3652.smt2
regress0/nl/magnitude-wrong-1020-m.smt2
regress0/nl/mult-po.smt2
regress0/nl/nia-wrong-tl.smt2
--- /dev/null
+;COMMAND-LINE: --check-models
+;EXIT: 1
+;EXPECT: (error "Cannot run check-model on a model with approximate values.")
+(set-logic QF_NRA)
+(declare-fun a () Real)
+(assert (= (* a a) 2))
+(check-sat)