summaryrefslogtreecommitdiff
path: root/src/smt
diff options
context:
space:
mode:
authoryoni206 <yoni206@users.noreply.github.com>2020-07-28 10:44:55 -0700
committerGitHub <noreply@github.com>2020-07-28 12:44:55 -0500
commit7ad41fe71b9f7d206ee6d1c642bb7926bffea6c7 (patch)
treefc5d9cb07fbce3a28395eb30aabb6d6633724e02 /src/smt
parente63544462eb850a27f7b416f2f0613efb96eef1d (diff)
Supporting seq.nth (#4723)
This PR adds support for seq.nth operator by eliminating it during expandDefinitions, based on sub-sequences. Tests that use this operator are also included.
Diffstat (limited to 'src/smt')
-rw-r--r--src/smt/smt_engine.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp
index c8896b621..9ff6ec6f5 100644
--- a/src/smt/smt_engine.cpp
+++ b/src/smt/smt_engine.cpp
@@ -2508,7 +2508,13 @@ void SmtEngine::checkModel(bool hardFailure) {
Notice() << "SmtEngine::checkModel(): checking assertion " << assertion
<< endl;
Node n = assertion;
-
+ Node nr = Rewriter::rewrite(substitutions.apply(n));
+ Trace("boolean-terms") << "n: " << n << endl;
+ Trace("boolean-terms") << "nr: " << nr << endl;
+ if (nr.isConst() && nr.getConst<bool>())
+ {
+ continue;
+ }
// Apply any define-funs from the problem.
{
unordered_map<Node, Node, NodeHashFunction> cache;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback