mirror of
https://github.com/Z3Prover/z3
synced 2026-06-28 03:18:49 +00:00
use expr id when doing model construction and not internal id
This commit is contained in:
parent
8f74296cf2
commit
7d7199dec6
4 changed files with 36 additions and 26 deletions
|
|
@ -602,6 +602,12 @@ namespace seq {
|
|||
void add_side_constraint(constraint const& ic) {
|
||||
if (ic.fml.m().is_true(ic.fml))
|
||||
return;
|
||||
expr* a, * b;
|
||||
if (ic.fml.m().is_and(ic.fml, a, b)) {
|
||||
add_side_constraint(constraint(a, ic.dep, ic.fml.m()));
|
||||
add_side_constraint(constraint(b, ic.dep, ic.fml.m()));
|
||||
return;
|
||||
}
|
||||
m_side_constraints.push_back(ic);
|
||||
}
|
||||
vector<constraint> const& side_constraints() const { return m_side_constraints; }
|
||||
|
|
|
|||
|
|
@ -168,7 +168,7 @@ namespace seq {
|
|||
return val.to_string();
|
||||
if (!is_app(e)) {
|
||||
std::ostringstream os;
|
||||
os << mk_pp(e, m);
|
||||
os << mk_bounded_pp(e, m);
|
||||
return dot_html_escape(os.str());
|
||||
}
|
||||
app* a = to_app(e);
|
||||
|
|
@ -241,7 +241,9 @@ namespace seq {
|
|||
if (names.contains(x)) {
|
||||
return "|" + names[x] + "|";
|
||||
}
|
||||
std::string s = dot_html_escape(to_app(x)->get_decl()->get_name().str()) + std::to_string(next_id++);
|
||||
std::stringstream ss;
|
||||
ss << mk_bounded_pp(x, m);
|
||||
std::string s = ss.str();
|
||||
names.insert(x, s);
|
||||
return "|" + s + "|";
|
||||
}
|
||||
|
|
@ -254,7 +256,9 @@ namespace seq {
|
|||
return dot_html_escape(a->get_decl()->get_name().str());
|
||||
if (names.contains(e))
|
||||
return names[e];
|
||||
std::string s = dot_html_escape(to_app(e)->get_decl()->get_name().str()) + std::to_string(next_id++);
|
||||
std::stringstream ss;
|
||||
ss << mk_bounded_pp(e, m);
|
||||
std::string s = dot_html_escape(ss.str());
|
||||
names.insert(e, s);
|
||||
return s;
|
||||
|
||||
|
|
@ -462,7 +466,9 @@ namespace seq {
|
|||
else if (names.contains(e))
|
||||
result += names[e];
|
||||
else {
|
||||
std::string s = dot_html_escape(to_app(e)->get_decl()->get_name().str()) + std::to_string(next_id++);
|
||||
std::stringstream ss;
|
||||
ss << mk_bounded_pp(e, m);
|
||||
std::string s = dot_html_escape(ss.str());
|
||||
names.insert(e, s);
|
||||
result += s;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue