diff options
author | Haniel Barbosa <hanielbbarbosa@gmail.com> | 2021-02-09 00:37:10 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-09 00:37:10 -0300 |
commit | d0a8c9b331022dce224c230c6b6d7edd416d5866 (patch) | |
tree | cabd0c8ac48394cec45d58833a9432318c962437 /test/regress/regress0/quantifiers | |
parent | 5baad1b32525ca623aaddfe557a3020edc4fe0b1 (diff) |
[quantifiers] Fix prenex computation (#5879)
Previously our prenex computation could generate quantifiers of the form forall x y y. F, which would lead to an assertion failure in getFreeVariablesScope, as it assumes that no shadowing occurs. This commit makes the prenex computation take a set rather than a vector, thus avoiding duplications of prenexed variables. It also changes mkForall to take a constant vector, since it does not modify the given vector.
Fixes #5693
Diffstat (limited to 'test/regress/regress0/quantifiers')
-rw-r--r-- | test/regress/regress0/quantifiers/issue5693-prenex.smt2 | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/test/regress/regress0/quantifiers/issue5693-prenex.smt2 b/test/regress/regress0/quantifiers/issue5693-prenex.smt2 new file mode 100644 index 000000000..15ee0e7cf --- /dev/null +++ b/test/regress/regress0/quantifiers/issue5693-prenex.smt2 @@ -0,0 +1,7 @@ +; COMMAND-LINE: --full-saturate-quant -i --no-check-unsat-cores +; EXPECT: unsat +(set-logic ALL) +(set-option :pre-skolem-quant true) +(declare-fun v7 () Bool) +(assert (forall ((q49 Bool) (q55 Bool)) (xor v7 (exists ((q49 Bool)) (xor v7 q49 q49)) v7 (= q55 q49)))) +(check-sat)
\ No newline at end of file |