Skip to content

Commit 49b3909

Browse files
committed
Eager quantifier elimination: support empty ranges
conjunction(...) and disjunction(...) helper functions produce the appropriate result for empty operand sequences.
1 parent 2ffc6a4 commit 49b3909

File tree

2 files changed

+2
-7
lines changed

2 files changed

+2
-7
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
KNOWNBUG broken-smt-backend
1+
CORE no-new-smt
22
main.c
33

44
^\*\* Results:$
5-
^\*\* 0 of 1 failed
5+
^\*\* 0 of \d+ failed
66
^VERIFICATION SUCCESSFUL$
77
^EXIT=0$
88
^SIGNAL=0$
99
--
1010
^warning: ignoring
1111
--
12-
This produces the expected verification result, but actually ignores some
13-
quantifiers.

src/solvers/flattening/boolbv_quantifier.cpp

-3
Original file line numberDiff line numberDiff line change
@@ -211,9 +211,6 @@ static std::optional<exprt> eager_quantifier_instantiation(
211211
mp_integer lb = numeric_cast_v<mp_integer>(min_i.value());
212212
mp_integer ub = numeric_cast_v<mp_integer>(max_i.value());
213213

214-
if(lb > ub)
215-
return {};
216-
217214
auto expr_simplified =
218215
quantifier_exprt(expr.id(), expr.variables(), where_simplified);
219216

0 commit comments

Comments
 (0)