mirror of
https://github.com/Z3Prover/z3
synced 2025-04-07 18:05:21 +00:00
This commit is contained in:
parent
7c86134e85
commit
73118012c5
|
@ -41,11 +41,19 @@ namespace q {
|
|||
quantifier* q = to_quantifier(e);
|
||||
|
||||
auto const& exp = expand(q);
|
||||
if (exp.size() > 1) {
|
||||
if (exp.size() > 1 && is_forall(q)) {
|
||||
for (expr* e : exp)
|
||||
add_clause(~l, ctx.internalize(e, l.sign(), false, false));
|
||||
return;
|
||||
}
|
||||
if (exp.size() > 1 && is_exists(q)) {
|
||||
sat::literal_vector lits;
|
||||
lits.push_back(~l);
|
||||
for (expr* e : exp)
|
||||
lits.push_back(ctx.internalize(e, l.sign(), false, false));
|
||||
add_clause(lits);
|
||||
return;
|
||||
}
|
||||
|
||||
if (l.sign() == is_forall(e))
|
||||
add_clause(~l, skolemize(q));
|
||||
|
|
Loading…
Reference in a new issue