3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-08 20:21:23 +00:00

fix handing of ite conditions that have to be included in projection, thanks to bug report by Zak

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2016-04-10 01:48:35 +02:00
parent 493b86eca7
commit cc6f72aba7
4 changed files with 167 additions and 9 deletions

View file

@ -117,9 +117,10 @@ namespace qe {
else if (extract_mod(model, t, val)) {
ts.push_back(mk_mul(mul, val));
}
else if (m.is_ite(t, t1, t2, t3)) {
else if (m.is_ite(t, t1, t2, t3)) {
VERIFY(model.eval(t1, val));
SASSERT(m.is_true(val) || m.is_false(val));
TRACE("qe", tout << mk_pp(t1, m) << " := " << val << "\n";);
if (m.is_true(val)) {
is_linear(model, mul, t2, c, ts);
}