mirror of
https://github.com/Z3Prover/z3
synced 2025-08-16 07:45:27 +00:00
better behavior on disequality and branch selection (#4605)
* better behavior on disequality and branch selection Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * fix loop Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
e0d4669116
commit
3f862cb2ee
5 changed files with 52 additions and 80 deletions
|
@ -431,7 +431,7 @@ namespace smt {
|
|||
bool check_length_coherence(expr* e);
|
||||
bool fixed_length(bool is_zero = false);
|
||||
bool fixed_length(expr* e, bool is_zero);
|
||||
void branch_unit_variable(dependency* dep, expr* X, expr_ref_vector const& units);
|
||||
bool branch_unit_variable(dependency* dep, expr* X, expr_ref_vector const& units);
|
||||
bool branch_variable_eq(eq const& e);
|
||||
bool branch_binary_variable(eq const& e);
|
||||
bool can_align_from_lhs(expr_ref_vector const& ls, expr_ref_vector const& rs);
|
||||
|
@ -536,7 +536,7 @@ namespace smt {
|
|||
bool find_branch_candidate(unsigned& start, dependency* dep, expr_ref_vector const& ls, expr_ref_vector const& rs);
|
||||
expr_ref_vector expand_strings(expr_ref_vector const& es);
|
||||
bool can_be_equal(unsigned szl, expr* const* ls, unsigned szr, expr* const* rs) const;
|
||||
lbool assume_equality(expr* l, expr* r);
|
||||
bool assume_equality(expr* l, expr* r);
|
||||
|
||||
// variable solving utilities
|
||||
bool occurs(expr* a, expr* b);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue