3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-08-14 09:45:36 +00:00

use definition of is_var from theory_seq

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2026-08-01 14:41:05 -07:00
parent 068edf6a46
commit 1e507cd11e
3 changed files with 18 additions and 10 deletions

View file

@ -273,16 +273,13 @@ bool seq_monadic::parse_term(expr* t, vector<atom>& atoms, expr*& the_var) {
}
return true;
}
if (u().str.is_unit(t)) { // seq.unit of a constant element
expr* elem = to_app(t)->get_arg(0);
if (m.is_value(elem)) {
atoms.push_back(atom(m, false, nullptr, elem));
return true;
}
return false; // symbolic (non-constant) unit: unsupported
expr *elem = nullptr;
if (u().str.is_unit(t, elem) && m.is_value(elem)) { // seq.unit of a constant element
atoms.push_back(atom(m, false, nullptr, elem));
return true;
}
// uninterpreted 0-ary constant of sequence sort => a sequence variable
if (is_uninterp_const(t)) {
// uninterpreted constant of sequence sort => a sequence variable
if (is_var(t)) {
the_var = t; // mark that at least one variable occurs
atoms.push_back(atom(m, true, t, nullptr));
return true;