3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-31 11:42:28 +00:00

remove ad-hoc membership axioms, enable boundary point saturatino

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2025-10-23 09:42:25 +02:00
parent 2e4402c8f3
commit b96624727d
3 changed files with 6 additions and 12 deletions

View file

@ -175,22 +175,13 @@ void finite_set_axioms::in_singleton_axiom(expr* a) {
if (!u.is_singleton(a, b))
return;
arith_util arith(m);
expr_ref b_in_a(u.mk_in(b, a), m);
auto ax = alloc(theory_axiom, m, "in-singleton");
ax->clause.push_back(b_in_a);
m_add_clause(ax);
ax = alloc(theory_axiom, m, "in-singleton");
expr_ref bm1_in_a(u.mk_in(arith.mk_add(b, arith.mk_int(-1)), a), m);
ax->clause.push_back(m.mk_not(bm1_in_a));
m_add_clause(ax);
ax = alloc(theory_axiom, m, "in-singleton");
expr_ref bp1_in_a(u.mk_in(arith.mk_add(b, arith.mk_int(1)), a), m);
ax->clause.push_back(m.mk_not(bp1_in_a));
}