summaryrefslogtreecommitdiff
path: root/test/regress
diff options
context:
space:
mode:
authorMathias Preiner <mathias.preiner@gmail.com>2021-06-21 12:11:10 -0700
committerGitHub <noreply@github.com>2021-06-21 19:11:10 +0000
commit331187d557b2c54b079de6348ff1f597a72f50a2 (patch)
treee0651d38c6ae1597b91ee6a2b6b7d419a27718bc /test/regress
parent62cf9381eac3609e4af0509ffce3abf58ba71238 (diff)
Fix model issues with --bitblast=eager. (#6753)
For model construction we only compute model values for relevant terms. The set of relevant terms is computed in https://github.com/cvc5/cvc5/blob/master/src/theory/model_manager_distributed.cpp#L58, which skips equalities by default because equalities are usually handled by the equality engine. When --bitblast=eager is enabled all assertions are wrapped into BITVECTOR_EAGER_ATOM nodes and passed to the BV solver, which results in equalities below BITVECTOR_EAGER_ATOM nodes not being handled by the equality engine but by the BV solver directly. These equalities, however, are skipped when computing the relevant terms and therefore the BV solver is not asked to compute model values for variables below these equalities. If --bitblast=eager is enabled the BV solver now additionally adds the variables encountered during bit-blasting to the relevant terms via computeRelevantTerms. Co-authored-by: Andres Noetzli <andres.noetzli@gmail.com>
Diffstat (limited to 'test/regress')
-rw-r--r--test/regress/CMakeLists.txt1
-rw-r--r--test/regress/regress0/issue6741.smt28
2 files changed, 9 insertions, 0 deletions
diff --git a/test/regress/CMakeLists.txt b/test/regress/CMakeLists.txt
index 9ad4f7e8a..444e4c7f6 100644
--- a/test/regress/CMakeLists.txt
+++ b/test/regress/CMakeLists.txt
@@ -670,6 +670,7 @@ set(regress_0_tests
regress0/issue5743.smt2
regress0/issue5947.smt2
regress0/issue6605-2-abd-triv.smt2
+ regress0/issue6741.smt2
regress0/ite_arith.smt2
regress0/ite_real_int_type.smtv1.smt2
regress0/ite_real_valid.smtv1.smt2
diff --git a/test/regress/regress0/issue6741.smt2 b/test/regress/regress0/issue6741.smt2
new file mode 100644
index 000000000..0fbf4edeb
--- /dev/null
+++ b/test/regress/regress0/issue6741.smt2
@@ -0,0 +1,8 @@
+; COMMAND-LINE: --bv-solver=bitblast --bitblast=eager --check-models
+(set-logic QF_BV)
+(set-info :status sat)
+(declare-fun x () (_ BitVec 1))
+(declare-fun y () (_ BitVec 1))
+(assert (= y (ite (= x (_ bv1 1)) (_ bv1 1) (_ bv0 1))))
+(assert (= y (_ bv1 1)))
+(check-sat)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback