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

Implement more cases for finite_set_decl_plugin::are_distinct (#7978)

* Implement more cases for finite_set_decl_plugin::are_distinct

* Adapted distinctive checks for finite sets
This commit is contained in:
kper 2025-10-15 14:35:57 +02:00 committed by GitHub
parent b24aec3c4c
commit 7446112fbe
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -204,6 +204,9 @@ bool finite_set_decl_plugin::are_distinct(app* e1, app* e2) const {
return true;
if (r.is_singleton(e1) && r.is_empty(e2))
return true;
if(r.is_singleton(e1) && r.is_singleton(e2))
return m_manager->are_distinct(e1, e2);
// TODO: could be extended to cases where we can prove the sets are different by containing one element
// that the other doesn't contain. Such as (union (singleton a) (singleton b)) and (singleton c) where c is different from a, b.
return false;