mirror of
https://github.com/Z3Prover/z3
synced 2025-08-14 14:55:25 +00:00
more seq overhaul
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
76735476d4
commit
a9c4984a16
13 changed files with 1888 additions and 1860 deletions
|
@ -136,13 +136,18 @@ bool seq_skolem::is_step(expr* e, expr*& s, expr*& idx, expr*& re, expr*& i, exp
|
|||
}
|
||||
}
|
||||
|
||||
bool seq_skolem::is_tail(expr* e, expr*& s, unsigned& idx) const {
|
||||
bool seq_skolem::is_tail_u(expr* e, expr*& s, unsigned& idx) const {
|
||||
expr* i = nullptr;
|
||||
rational r;
|
||||
return is_tail_match(e, s, i) && a.is_numeral(i, r) && r.is_unsigned() && (idx = r.get_unsigned(), true);
|
||||
return is_tail(e, s, i) && a.is_numeral(i, r) && r.is_unsigned() && (idx = r.get_unsigned(), true);
|
||||
}
|
||||
|
||||
bool seq_skolem::is_tail_match(expr* e, expr*& s, expr*& idx) const {
|
||||
bool seq_skolem::is_tail(expr* e, expr*& s) const {
|
||||
expr* i = nullptr;
|
||||
return is_tail(e, s, i);
|
||||
}
|
||||
|
||||
bool seq_skolem::is_tail(expr* e, expr*& s, expr*& idx) const {
|
||||
return is_tail(e) && (s = to_app(e)->get_arg(0), idx = to_app(e)->get_arg(1), true);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue