mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 09:05:31 +00:00
Ensure that Z3 uses the correct SMT-LIB2 syntax for push
and pop
(#4495)
* When pretty-printing SMTLIB2, ensure that Z3 uses the correct syntax for 'push' Signed-off-by: Andrew V. Jones <andrew.jones@vector.com> * When pretty-printing SMTLIB2, ensure that Z3 uses the correct syntax for 'pop' Signed-off-by: Andrew V. Jones <andrew.jones@vector.com>
This commit is contained in:
parent
0bc33e9c9d
commit
a23ca1792b
6 changed files with 11 additions and 11 deletions
|
@ -1231,14 +1231,14 @@ namespace datalog {
|
|||
}
|
||||
else {
|
||||
for (unsigned i = 0; i < queries.size(); ++i) {
|
||||
if (queries.size() > 1) out << "(push)\n";
|
||||
if (queries.size() > 1) out << "(push 1)\n";
|
||||
out << "(assert ";
|
||||
expr_ref q(m);
|
||||
q = m.mk_not(queries[i].get());
|
||||
PP(q);
|
||||
out << ")\n";
|
||||
out << "(check-sat)\n";
|
||||
if (queries.size() > 1) out << "(pop)\n";
|
||||
if (queries.size() > 1) out << "(pop 1)\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -141,12 +141,12 @@ void inductive_property::display(datalog::rule_manager& rm, ptr_vector<datalog::
|
|||
|
||||
out << to_string() << "\n";
|
||||
for (auto* r : rules) {
|
||||
out << "(push)\n";
|
||||
out << "(push 1)\n";
|
||||
out << "(assert (not\n";
|
||||
rm.display_smt2(*r, out);
|
||||
out << "))\n";
|
||||
out << "(check-sat)\n";
|
||||
out << "(pop)\n";
|
||||
out << "(pop 1)\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -124,13 +124,13 @@ namespace spacer {
|
|||
out << "(define-fun mbp_benchmark_fml () Bool\n ";
|
||||
out << mk_pp(fml, m) << ")\n\n";
|
||||
|
||||
out << "(push)\n"
|
||||
out << "(push 1)\n"
|
||||
<< "(assert mbp_benchmark_fml)\n"
|
||||
<< "(check-sat)\n"
|
||||
<< "(mbp mbp_benchmark_fml (";
|
||||
for (auto v : vars) {out << mk_pp(v, m) << " ";}
|
||||
out << "))\n"
|
||||
<< "(pop)\n"
|
||||
<< "(pop 1)\n"
|
||||
<< "(exit)\n";
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue