|| resultNode.getType().isSubtypeOf(expectedType))
<< "Run with -t smt for details.";
- // Ensure it's a constant, or a lambda (for uninterpreted functions), or
- // a choice (for approximate values).
- Assert(resultNode.getKind() == kind::LAMBDA
- || resultNode.getKind() == kind::CHOICE || resultNode.isConst());
+ // Ensure it's a constant, or a lambda (for uninterpreted functions). This
+ // assertion only holds for models that do not have approximate values.
+ Assert(m->hasApproximations() || resultNode.getKind() == kind::LAMBDA
+ || resultNode.isConst());
if(options::abstractValues() && resultNode.getType().isArray()) {
resultNode = d_private->mkAbstractValue(resultNode);
regress1/quantifiers/issue3317.smt2
regress1/quantifiers/issue3481.smt2
regress1/quantifiers/issue3537.smt2
+ regress1/quantifiers/issue3628.smt2
regress1/quantifiers/issue993.smt2
regress1/quantifiers/javafe.ast.StmtVec.009.smt2
regress1/quantifiers/lra-vts-inf.smt2
--- /dev/null
+; COMMAND-LINE: --no-check-models
+; EXPECT: sat
+(set-logic NIRA)
+(declare-fun a () Real)
+(declare-fun b () Real)
+(declare-fun c () Real)
+(declare-fun d () Real)
+(declare-fun e () Real)
+(assert (let ((f (exists ((g Real))
+ (= (< 0.0 (* b d)) (distinct (* (to_real 1) a c) 1.0)))))
+ (not f)))
+(assert (= a (* c e)))
+(check-sat)