mirror of
https://github.com/Z3Prover/z3
synced 2025-05-11 17:54:43 +00:00
deal with model construction, issue #684. fix model construction for ite #678. WIth this version, issue #686 does not repro
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
cf48eb5f72
commit
60711bb0cd
4 changed files with 51 additions and 8 deletions
|
@ -126,6 +126,22 @@ namespace smt {
|
|||
symbol sym;
|
||||
if (u.str.is_string(n, sym)) {
|
||||
m_strings.insert(sym);
|
||||
if (sym.str().find(m_unique_delim) != std::string::npos) {
|
||||
add_new_delim();
|
||||
}
|
||||
}
|
||||
}
|
||||
private:
|
||||
|
||||
void add_new_delim() {
|
||||
bool found = true;
|
||||
while (found) {
|
||||
found = false;
|
||||
m_unique_delim += "!";
|
||||
symbol_set::iterator it = m_strings.begin(), end = m_strings.end();
|
||||
for (; it != end && !found; ++it) {
|
||||
found = it->str().find(m_unique_delim) != std::string::npos;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue