From 4882f9c7c2b95dd707eae2dd825af93c1e576d40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mika=C3=ABl=20Mayer?= <mikael.mayer@epfl.ch> Date: Tue, 26 Apr 2016 17:04:52 +0200 Subject: [PATCH] Fixed the UnrollingSolver.scala evaluation. --- src/main/scala/leon/solvers/unrolling/UnrollingSolver.scala | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/scala/leon/solvers/unrolling/UnrollingSolver.scala b/src/main/scala/leon/solvers/unrolling/UnrollingSolver.scala index 403fb08fd..b7aa7dc66 100644 --- a/src/main/scala/leon/solvers/unrolling/UnrollingSolver.scala +++ b/src/main/scala/leon/solvers/unrolling/UnrollingSolver.scala @@ -210,7 +210,11 @@ trait AbstractUnrollingSolver[T] private def validateModel(model: Model, assumptions: Seq[Expr], silenceErrors: Boolean): Boolean = { val expr = andJoin(assumptions ++ constraints) - evaluator.eval(expr, model) match { + val newExpr = model.toSeq.foldLeft(expr){ + case (e, (k, v)) => let(k, v, e) + } + + evaluator.eval(newExpr) match { case EvaluationResults.Successful(BooleanLiteral(true)) => reporter.debug("- Model validated.") true -- GitLab