3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 09:35:32 +00:00

updated script, add comment to mk_eq_empty

This commit is contained in:
Nikolaj Bjorner 2021-03-07 06:59:58 -08:00
parent 7edc99f807
commit 3c26a965e1
2 changed files with 320 additions and 147 deletions

View file

@ -60,7 +60,20 @@ namespace seq {
return result;
}
/**
* Create a special equality predicate for sequences.
* The sequence solver ignores the predicate when it
* is assigned to false. If the predicate is assigned
* to true it enforces the equality.
*
* This is intended to save the solver from satisfying disequality
* constraints that are not relevant. The use of this predicate
* needs some care because it can lead to incompleteness.
* The clauses where this predicate are used have to ensure
* that whenever it is assigned false, the clause
* is satisfied by a solution where the equality is either false
* or irrelevant.
*/
expr_ref axioms::mk_eq_empty(expr* e) {
return mk_seq_eq(seq.str.mk_empty(e->get_sort()), e);
}