summaryrefslogtreecommitdiff
path: root/src/theory/evaluator.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2018-07-26 14:27:37 -0500
committerGitHub <noreply@github.com>2018-07-26 14:27:37 -0500
commita131d4b4cf086f27c4c62d4b012862c75153033e (patch)
tree454a3147ef17ac07d17e1cbbdc77307c74636d63 /src/theory/evaluator.cpp
parentd23c9f4112003c006fc1f1d78d8c82c8310908c9 (diff)
Fix a few issues in the sygus sampler related to evaluation (#2215)
Diffstat (limited to 'src/theory/evaluator.cpp')
-rw-r--r--src/theory/evaluator.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/theory/evaluator.cpp b/src/theory/evaluator.cpp
index ca2140ed5..dd40ace8a 100644
--- a/src/theory/evaluator.cpp
+++ b/src/theory/evaluator.cpp
@@ -193,6 +193,11 @@ EvalResult Evaluator::evalInternal(TNode n,
// Lambdas are evaluated in a recursive fashion because each evaluation
// requires different substitutions
results[currNode] = evalInternal(op[1], lambdaArgs, lambdaVals);
+ if (results[currNode].d_tag == EvalResult::INVALID)
+ {
+ // evaluation was invalid, we fail
+ return results[currNode];
+ }
continue;
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback