diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-05-19 21:48:01 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-19 21:48:01 -0500 |
commit | af874a5c7a2ff134da0d4c20d06a0626d3e36d9b (patch) | |
tree | 16ad9de2b0c5753d2cd4cd3fcdd43bf8fbd55a71 /test/regress/CMakeLists.txt | |
parent | 9712a20e6585728c7d0453e64e1e3b06a7d37b7f (diff) |
Do not eliminate variables that are equal to unevaluatable terms (#4267)
When we eliminate a variable x -> v during simplification, it may be the case that v contains "unevaluated" operators like forall, choice, etc. Thus, we do not produce correct models for such inputs unless simplification is disabled.
This PR ensures we only eliminate variables when v contains only evaluated operators.
Additionally, the kinds registered as unevaluated were slightly modified so that when we are in a logic like QF_LIA, there are no registered unevaluated operators, hence the check above is unnecessary. This is to minimize the performance impact of this change.
Fixes #4500.
Diffstat (limited to 'test/regress/CMakeLists.txt')
-rw-r--r-- | test/regress/CMakeLists.txt | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/test/regress/CMakeLists.txt b/test/regress/CMakeLists.txt index 8a9151c17..6f948b02b 100644 --- a/test/regress/CMakeLists.txt +++ b/test/regress/CMakeLists.txt @@ -766,6 +766,7 @@ set(regress_0_tests regress0/quantifiers/qbv-test-invert-concat-1.smt2 regress0/quantifiers/qbv-test-invert-sign-extend.smt2 regress0/quantifiers/qcf-rel-dom-opt.smt2 + regress0/quantifiers/quant-model-simplification.smt2 regress0/quantifiers/rew-to-scala.smt2 regress0/quantifiers/simp-len.smt2 regress0/quantifiers/simp-typ-test.smt2 |