mirror of
https://github.com/Z3Prover/z3
synced 2025-05-14 19:24:44 +00:00
merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
4aa1e60daa
commit
6d17c656bd
4 changed files with 14 additions and 24 deletions
|
@ -939,14 +939,9 @@ bool theory_seq::branch_quat_variable() {
|
|||
* align_m(x1, x, _, _) - align_m(y1, x, _, _) = x1 - y1
|
||||
*/
|
||||
literal theory_seq::mk_alignment(expr* e1, expr* e2) {
|
||||
if (m_sk.is_align(e1) && m_sk.is_align(e2)) {
|
||||
expr* x1 = to_app(e1)->get_arg(0);
|
||||
expr* x2 = to_app(e1)->get_arg(1);
|
||||
expr* y1 = to_app(e2)->get_arg(0);
|
||||
expr* y2 = to_app(e2)->get_arg(1);
|
||||
if (x2 == y2 && x1 != y1) {
|
||||
return mk_alignment(x1, y1);
|
||||
}
|
||||
expr* x1 = nullptr, *x2 = nullptr, *y1 = nullptr, *y2 = nullptr;
|
||||
if (m_sk.is_align(e1, x1, x2) && m_sk.is_align(e2, y1, y2) && x2 == y2 && x1 != y1) {
|
||||
return mk_alignment(x1, y1);
|
||||
}
|
||||
return mk_simplified_literal(m_autil.mk_le(mk_sub(mk_len(e1), mk_len(e2)), m_autil.mk_int(0)));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue